示例#1
0
void
env_stats(struct mpd_stats *stats)
{
	char *envstr;
	time_t t;
	char date[DEFAULT_DATE_FORMAT_SIZE] = { 0 };

	t = mpd_stats_get_db_update_time(stats);
	strftime(date, DEFAULT_DATE_FORMAT_SIZE, DEFAULT_DATE_FORMAT, localtime(&t));
	g_setenv("MPD_DATABASE_UPDATE_TIME", date, 1);

	envstr = g_strdup_printf("%d", mpd_stats_get_number_of_artists(stats));
	g_setenv("MPD_DATABASE_ARTISTS", envstr, 1);
	g_free(envstr);

	envstr = g_strdup_printf("%d", mpd_stats_get_number_of_albums(stats));
	g_setenv("MPD_DATABASE_ALBUMS", envstr, 1);
	g_free(envstr);

	envstr = g_strdup_printf("%d", mpd_stats_get_number_of_songs(stats));
	g_setenv("MPD_DATABASE_SONGS", envstr, 1);
	g_free(envstr);

	envstr = g_strdup_printf("%lu", mpd_stats_get_play_time(stats));
	g_setenv("MPD_DATABASE_PLAY_TIME", envstr, 1);
	g_free(envstr);

	envstr = g_strdup_printf("%lu", mpd_stats_get_uptime(stats));
	g_setenv("MPD_DATABASE_UPTIME", envstr, 1);
	g_free(envstr);

	envstr = g_strdup_printf("%lu", mpd_stats_get_db_play_time(stats));
	g_setenv("MPD_DATABASE_DB_PLAY_TIME", envstr, 1);
	g_free(envstr);
}
示例#2
0
文件: stats.c 项目: alip/luampdclient
static int lmpdstats_index(lua_State *L)
{
	const char *key;
	struct mpd_stats **stats;

	stats = luaL_checkudata(L, 1, MPD_STATS_T);
	key = luaL_checkstring(L, 2);

	assert(*stats != NULL);

	if (strncmp(key, "number_of_artists", 18) == 0) {
		lua_pushinteger(L, mpd_stats_get_number_of_artists(*stats));
	}
	else if (strncmp(key, "number_of_albums", 17) == 0) {
		lua_pushinteger(L, mpd_stats_get_number_of_albums(*stats));
	}
	else if (strncmp(key, "number_of_songs", 16) == 0) {
		lua_pushinteger(L, mpd_stats_get_number_of_songs(*stats));
	}
	else if (strncmp(key, "uptime", 7) == 0) {
		lua_pushinteger(L, mpd_stats_get_uptime(*stats));
	}
	else if (strncmp(key, "db_update_time", 15) == 0) {
		lua_pushinteger(L, mpd_stats_get_uptime(*stats));
	}
	else if (strncmp(key, "play_time", 10) == 0) {
		lua_pushinteger(L, mpd_stats_get_play_time(*stats));
	}
	else if (strncmp(key, "db_play_time", 13) == 0) {
		lua_pushinteger(L, mpd_stats_get_db_play_time(*stats));
	}
	else
		return luaL_error(L, "Invalid key `%s'", key);
	return 1;
}
示例#3
0
文件: command.cpp 项目: reynhout/pms
void
Mpd_status::assign_stats(struct mpd_stats * stats)
{
	artists_count		= mpd_stats_get_number_of_artists(stats);
	albums_count		= mpd_stats_get_number_of_albums(stats);
	songs_count		= mpd_stats_get_number_of_songs(stats);

	uptime			= mpd_stats_get_uptime(stats);
	db_update_time		= mpd_stats_get_db_update_time(stats);
	playtime		= mpd_stats_get_play_time(stats);
	db_playtime		= mpd_stats_get_db_play_time(stats);
}
示例#4
0
int
cmd_stats(gcc_unused int argc, gcc_unused char **argv, struct mpd_connection *conn)
{
	struct mpd_stats *stats = mpd_run_stats(conn);
	if (stats == NULL)
		printErrorAndExit(conn);

	printf("Artists: %6d\n", mpd_stats_get_number_of_artists(stats));
	printf("Albums:  %6d\n", mpd_stats_get_number_of_albums(stats));
	printf("Songs:   %6d\n", mpd_stats_get_number_of_songs(stats));
	printf("\n");
	printf("Play Time:    %s\n", DHMS(mpd_stats_get_play_time(stats)));
	printf("Uptime:       %s\n", DHMS(mpd_stats_get_uptime(stats)));

	time_t t = mpd_stats_get_db_update_time(stats);
	printf("DB Updated:   %s", ctime(&t));	/* no \n needed */

	printf("DB Play Time: %s\n", DHMS(mpd_stats_get_db_play_time(stats)));

	mpd_stats_free(stats);
	return 0;
}