From b7d5b1650ea0cec2455a2124ceb341ff7362dcd2 Mon Sep 17 00:00:00 2001 From: chme Date: Mon, 6 Apr 2015 09:19:48 +0200 Subject: [PATCH 1/3] [mpd] add support for count command --- src/db.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/db.h | 8 +++++++ src/mpd.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 129 insertions(+), 2 deletions(-) diff --git a/src/db.c b/src/db.c index 5b9205e0..761fdf88 100644 --- a/src/db.c +++ b/src/db.c @@ -1493,6 +1493,29 @@ db_build_query_browse(struct query_params *qp, char *field, char *sort_field, ch return 0; } +static int +db_build_query_count_items(struct query_params *qp, char **q) +{ + char *query; + + qp->results = 1; + + if (qp->filter) + query = sqlite3_mprintf("SELECT COUNT(*), SUM(song_length) FROM files f WHERE f.disabled = 0 AND %s;", qp->filter); + else + return -1; + + if (!query) + { + DPRINTF(E_LOG, L_DB, "Out of memory for query string\n"); + return -1; + } + + *q = query; + + return 0; +} + int db_query_start(struct query_params *qp) { @@ -1551,6 +1574,10 @@ db_query_start(struct query_params *qp) ret = db_build_query_browse(qp, "year", "year", &query); break; + case Q_COUNT_ITEMS: + ret = db_build_query_count_items(qp, &query); + break; + default: DPRINTF(E_LOG, L_DB, "Unknown query type\n"); return -1; @@ -1805,6 +1832,43 @@ db_query_fetch_group(struct query_params *qp, struct db_group_info *dbgri) return 0; } +int +db_query_fetch_count(struct query_params *qp, struct count_info *ci) +{ + int ret; + + memset(ci, 0, sizeof(struct count_info)); + + if (!qp->stmt) + { + DPRINTF(E_LOG, L_DB, "Query not started!\n"); + return -1; + } + + if (qp->type != Q_COUNT_ITEMS) + { + DPRINTF(E_LOG, L_DB, "Not a count query!\n"); + return -1; + } + + ret = db_blocking_step(qp->stmt); + if (ret == SQLITE_DONE) + { + DPRINTF(E_DBG, L_DB, "End of query results for count query\n"); + return 0; + } + else if (ret != SQLITE_ROW) + { + DPRINTF(E_LOG, L_DB, "Could not step: %s\n", sqlite3_errmsg(hdl)); + return -1; + } + + ci->count = sqlite3_column_int(qp->stmt, 0); + ci->length = sqlite3_column_int(qp->stmt, 1); + + return 0; +} + int db_query_fetch_string(struct query_params *qp, char **string) { diff --git a/src/db.h b/src/db.h index bf9b9bbe..cfdad286 100644 --- a/src/db.h +++ b/src/db.h @@ -40,6 +40,7 @@ enum query_type { Q_GROUP_ITEMS = (1 << 9), Q_GROUP_DIRS = Q_F_BROWSE | (1 << 10), Q_BROWSE_YEARS = Q_F_BROWSE | (1 << 11), + Q_COUNT_ITEMS = (1 << 12), }; #define ARTWORK_UNKNOWN 0 @@ -312,6 +313,10 @@ struct watch_enum { sqlite3_stmt *stmt; }; +struct count_info { + uint32_t count; + uint32_t length; +}; char * db_escape_string(const char *str); @@ -364,6 +369,9 @@ db_query_fetch_pl(struct query_params *qp, struct db_playlist_info *dbpli); int db_query_fetch_group(struct query_params *qp, struct db_group_info *dbgri); +int +db_query_fetch_count(struct query_params *qp, struct count_info *ci); + int db_query_fetch_string(struct query_params *qp, char **string); diff --git a/src/mpd.c b/src/mpd.c index c39fce45..bd5eb14d 100644 --- a/src/mpd.c +++ b/src/mpd.c @@ -2065,6 +2065,63 @@ mpd_get_query_params_find(int argc, char **argv, struct query_params *qp) return 0; } +static int +mpd_command_count(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) +{ + struct query_params qp; + struct count_info ci; + int ret; + + if (argc < 3 || ((argc - 1) % 2) != 0) + { + DPRINTF(E_LOG, L_MPD, "Missing argument(s) for command 'find'\n"); + ret = asprintf(errmsg, "Missing argument(s) for command 'find'"); + if (ret < 0) + DPRINTF(E_LOG, L_MPD, "Out of memory\n"); + return ACK_ERROR_ARG; + } + + memset(&qp, 0, sizeof(struct query_params)); + + qp.type = Q_COUNT_ITEMS; + + mpd_get_query_params_find(argc - 1, argv + 1, &qp); + + ret = db_query_start(&qp); + if (ret < 0) + { + db_query_end(&qp); + + DPRINTF(E_LOG, L_MPD, "Could not start query\n"); + ret = asprintf(errmsg, "Could not start query"); + if (ret < 0) + DPRINTF(E_LOG, L_MPD, "Out of memory\n"); + return ACK_ERROR_UNKNOWN; + } + + ret = db_query_fetch_count(&qp, &ci); + if (ret < 0) + { + db_query_end(&qp); + + DPRINTF(E_LOG, L_MPD, "Could not fetch query count\n"); + ret = asprintf(errmsg, "Could not fetch query count"); + if (ret < 0) + DPRINTF(E_LOG, L_MPD, "Out of memory\n"); + return ACK_ERROR_UNKNOWN; + } + + evbuffer_add_printf(evbuf, + "songs: %d\n" + "playtime: %d\n", + ci.count, + (ci.length / 1000)); + + db_query_end(&qp); + + return 0; +} + static int mpd_command_find(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { @@ -3175,12 +3232,10 @@ static struct command mpd_handlers[] = /* * The music database */ - /* { .mpdcommand = "count", .handler = mpd_command_count }, - */ { .mpdcommand = "find", .handler = mpd_command_find From a268f836e76472c1037c654641373d62fa4ec5d1 Mon Sep 17 00:00:00 2001 From: chme Date: Mon, 6 Apr 2015 10:27:13 +0200 Subject: [PATCH 2/3] [mpd] fix command list for albumartist --- src/mpd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mpd.c b/src/mpd.c index bd5eb14d..72fba1e8 100644 --- a/src/mpd.c +++ b/src/mpd.c @@ -2202,13 +2202,18 @@ mpd_command_list(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) memset(&qp, 0, sizeof(struct query_params)); - if (0 == strcasecmp(argv[1], "artist") - || 0 == strcasecmp(argv[1], "albumartist")) + if (0 == strcasecmp(argv[1], "artist")) { qp.type = Q_GROUP_ARTISTS; qp.sort = S_ARTIST; type = "Artist: "; } + if (0 == strcasecmp(argv[1], "albumartist")) + { + qp.type = Q_GROUP_ARTISTS; + qp.sort = S_ARTIST; + type = "AlbumArtist: "; + } else if (0 == strcasecmp(argv[1], "album")) { qp.type = Q_GROUP_ALBUMS; From 12520f2f1f06b931a7bdc0d9706cac3e81b049fe Mon Sep 17 00:00:00 2001 From: chme Date: Wed, 8 Apr 2015 19:32:02 +0200 Subject: [PATCH 3/3] [mpd] cleanup: remove duplicate logging of error messages --- src/mpd.c | 82 ------------------------------------------------------- 1 file changed, 82 deletions(-) diff --git a/src/mpd.c b/src/mpd.c index 72fba1e8..d299c9c6 100644 --- a/src/mpd.c +++ b/src/mpd.c @@ -536,7 +536,6 @@ mpd_command_currentsong(struct evbuffer *evbuf, int argc, char **argv, char **er ret = mpd_add_mediainfo_byid(evbuf, status.id, status.pos_pl); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Error adding media info for file with id: %d\n", status.id); ret = asprintf(errmsg, "Error adding media info for file with id: %d", status.id); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -705,7 +704,6 @@ mpd_command_random(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'random'\n"); ret = asprintf(errmsg, "Missing argument for command 'random'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -715,7 +713,6 @@ mpd_command_random(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &enable); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -740,7 +737,6 @@ mpd_command_repeat(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'repeat'\n"); ret = asprintf(errmsg, "Missing argument for command 'repeat'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -750,7 +746,6 @@ mpd_command_repeat(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &enable); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -777,7 +772,6 @@ mpd_command_setvol(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'setvol'\n"); ret = asprintf(errmsg, "Missing argument for command 'setvol'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -787,7 +781,6 @@ mpd_command_setvol(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &volume); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -823,7 +816,6 @@ mpd_command_single(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'single'\n"); ret = asprintf(errmsg, "Missing argument for command 'single'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -833,7 +825,6 @@ mpd_command_single(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &enable); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -879,7 +870,6 @@ mpd_command_volume(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'volume'\n"); ret = asprintf(errmsg, "Missing argument for command 'volume'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -889,7 +879,6 @@ mpd_command_volume(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &volume); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -918,7 +907,6 @@ mpd_command_next(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret < 0) { - DPRINTF(E_DBG, L_MPD, "Failed to skip to next song\n"); ret = asprintf(errmsg, "Failed to skip to next song"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -928,7 +916,6 @@ mpd_command_next(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = player_playback_start(NULL); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Player returned an error for start after nextitem\n"); ret = asprintf(errmsg, "Player returned an error for start after nextitem"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -957,7 +944,6 @@ mpd_command_pause(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &pause); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -979,7 +965,6 @@ mpd_command_pause(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret != 0) { - DPRINTF(E_LOG, L_MPD, "Failed to pause playback\n"); ret = asprintf(errmsg, "Failed to pause playback"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1019,7 +1004,6 @@ mpd_command_play(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atoi32(argv[1], &songpos); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1034,7 +1018,6 @@ mpd_command_play(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret != 0) { - DPRINTF(E_LOG, L_MPD, "Failed to start playback\n"); ret = asprintf(errmsg, "Failed to start playback"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1074,7 +1057,6 @@ mpd_command_playid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atou32(argv[1], &id); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1089,7 +1071,6 @@ mpd_command_playid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret != 0) { - DPRINTF(E_LOG, L_MPD, "Failed to start playback\n"); ret = asprintf(errmsg, "Failed to start playback"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1112,7 +1093,6 @@ mpd_command_previous(struct evbuffer *evbuf, int argc, char **argv, char **errms if (ret < 0) { - DPRINTF(E_DBG, L_MPD, "Failed to skip to previous song\n"); ret = asprintf(errmsg, "Failed to skip to previous song"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1122,7 +1102,6 @@ mpd_command_previous(struct evbuffer *evbuf, int argc, char **argv, char **errms ret = player_playback_start(NULL); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Player returned an error for start after previtem\n"); ret = asprintf(errmsg, "Player returned an error for start after previtem"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1147,7 +1126,6 @@ mpd_command_seek(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 3) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'seekcur'\n"); ret = asprintf(errmsg, "Missing argument for command 'seekcur'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1157,7 +1135,6 @@ mpd_command_seek(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atou32(argv[1], &songpos); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1167,7 +1144,6 @@ mpd_command_seek(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) //TODO Allow seeking in songs not currently playing if (songpos != 0) { - DPRINTF(E_LOG, L_MPD, "Given song is not the current playing one, seeking is not supported\n"); ret = asprintf(errmsg, "Given song is not the current playing one, seeking is not supported"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1181,7 +1157,6 @@ mpd_command_seek(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret < 0) { - DPRINTF(E_DBG, L_MPD, "Failed to seek current song to time %d msec\n", seek_target_msec); ret = asprintf(errmsg, "Failed to seek current song to time %d msec", seek_target_msec); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1191,7 +1166,6 @@ mpd_command_seek(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = player_playback_start(NULL); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Player returned an error for start after seekcur\n"); ret = asprintf(errmsg, "Player returned an error for start after seekcur"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1217,7 +1191,6 @@ mpd_command_seekid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 3) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'seekcur'\n"); ret = asprintf(errmsg, "Missing argument for command 'seekcur'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1227,7 +1200,6 @@ mpd_command_seekid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atou32(argv[1], &id); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1238,7 +1210,6 @@ mpd_command_seekid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) player_get_status(&status); if (status.id != id) { - DPRINTF(E_LOG, L_MPD, "Given song is not the current playing one, seeking is not supported\n"); ret = asprintf(errmsg, "Given song is not the current playing one, seeking is not supported"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1252,7 +1223,6 @@ mpd_command_seekid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret < 0) { - DPRINTF(E_DBG, L_MPD, "Failed to seek current song to time %d msec\n", seek_target_msec); ret = asprintf(errmsg, "Failed to seek current song to time %d msec", seek_target_msec); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1262,7 +1232,6 @@ mpd_command_seekid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = player_playback_start(NULL); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Player returned an error for start after seekcur\n"); ret = asprintf(errmsg, "Player returned an error for start after seekcur"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1285,7 +1254,6 @@ mpd_command_seekcur(struct evbuffer *evbuf, int argc, char **argv, char **errmsg if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'seekcur'\n"); ret = asprintf(errmsg, "Missing argument for command 'seekcur'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1300,7 +1268,6 @@ mpd_command_seekcur(struct evbuffer *evbuf, int argc, char **argv, char **errmsg if (ret < 0) { - DPRINTF(E_DBG, L_MPD, "Failed to seek current song to time %d msec\n", seek_target_msec); ret = asprintf(errmsg, "Failed to seek current song to time %d msec", seek_target_msec); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1310,7 +1277,6 @@ mpd_command_seekcur(struct evbuffer *evbuf, int argc, char **argv, char **errmsg ret = player_playback_start(NULL); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Player returned an error for start after seekcur\n"); ret = asprintf(errmsg, "Player returned an error for start after seekcur"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1333,7 +1299,6 @@ mpd_command_stop(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (ret != 0) { - DPRINTF(E_DBG, L_MPD, "Failed to stop playback\n"); ret = asprintf(errmsg, "Failed to stop playback"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1356,7 +1321,6 @@ mpd_command_add(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'add'\n"); ret = asprintf(errmsg, "Missing argument for command 'add'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1367,7 +1331,6 @@ mpd_command_add(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (!ps) { - DPRINTF(E_DBG, L_MPD, "Failed to add song '%s' to playlist\n", argv[1]); ret = asprintf(errmsg, "Failed to add song '%s' to playlist", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1399,7 +1362,6 @@ mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'addid'\n"); ret = asprintf(errmsg, "Missing argument for command 'addid'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1416,7 +1378,6 @@ mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (!ps) { - DPRINTF(E_DBG, L_MPD, "Failed to add song '%s' to playlist\n", argv[1]); ret = asprintf(errmsg, "Failed to add song '%s' to playlist", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1487,7 +1448,6 @@ mpd_command_delete(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = safe_atou32(argv[1], &start_pos); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1500,7 +1460,6 @@ mpd_command_delete(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (pos < 1) { - DPRINTF(E_LOG, L_MPD, "Removing playing or previously played song not supported (song position %d)\n", pos); ret = asprintf(errmsg, "Removing playing or previously played song not supported (song position %d)", pos); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1510,7 +1469,6 @@ mpd_command_delete(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = player_queue_remove(pos); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Failed to remove song at position '%d'\n", pos); ret = asprintf(errmsg, "Failed to remove song at position '%d'", pos); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1532,7 +1490,6 @@ mpd_command_deleteid(struct evbuffer *evbuf, int argc, char **argv, char **errms if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'deleteid'\n"); ret = asprintf(errmsg, "Missing argument for command 'deleteid'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1542,7 +1499,6 @@ mpd_command_deleteid(struct evbuffer *evbuf, int argc, char **argv, char **errms ret = safe_atou32(argv[1], &songid); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1552,7 +1508,6 @@ mpd_command_deleteid(struct evbuffer *evbuf, int argc, char **argv, char **errms ret = player_queue_removeid(songid); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Failed to remove song with id '%s'\n", argv[1]); ret = asprintf(errmsg, "Failed to remove song with id '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1585,7 +1540,6 @@ mpd_command_playlistid(struct evbuffer *evbuf, int argc, char **argv, char **err ret = safe_atou32(argv[1], &songid); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1610,7 +1564,6 @@ mpd_command_playlistid(struct evbuffer *evbuf, int argc, char **argv, char **err ret = mpd_add_mediainfo_byid(evbuf, queue->queue[i], pos_pl); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Error adding media info for file with id: %d\n", queue->queue[i]); ret = asprintf(errmsg, "Error adding media info for file with id: %d", queue->queue[i]); queue_free(queue); @@ -1655,7 +1608,6 @@ mpd_command_playlistinfo(struct evbuffer *evbuf, int argc, char **argv, char **e ret = mpd_pars_range_arg(argv[1], &start_pos, &end_pos); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer or range: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer or range: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1677,7 +1629,6 @@ mpd_command_playlistinfo(struct evbuffer *evbuf, int argc, char **argv, char **e ret = mpd_add_mediainfo_byid(evbuf, queue->queue[i], pos_pl); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Error adding media info for file with id: %d\n", queue->queue[i]); ret = asprintf(errmsg, "Error adding media info for file with id: %d", queue->queue[i]); queue_free(queue); @@ -1716,7 +1667,6 @@ mpd_command_listplaylist(struct evbuffer *evbuf, int argc, char **argv, char **e if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'load'\n"); ret = asprintf(errmsg, "Missing argument for command 'load'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1735,7 +1685,6 @@ mpd_command_listplaylist(struct evbuffer *evbuf, int argc, char **argv, char **e pli = db_pl_fetch_byvirtualpath(path); if (!pli) { - DPRINTF(E_LOG, L_MPD, "Playlist not found for path '%s'\n", argv[1]); ret = asprintf(errmsg, "Playlist not found for path '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1755,7 +1704,6 @@ mpd_command_listplaylist(struct evbuffer *evbuf, int argc, char **argv, char **e free_pli(pli, 0); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1791,7 +1739,6 @@ mpd_command_listplaylistinfo(struct evbuffer *evbuf, int argc, char **argv, char if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'load'\n"); ret = asprintf(errmsg, "Missing argument for command 'load'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1810,7 +1757,6 @@ mpd_command_listplaylistinfo(struct evbuffer *evbuf, int argc, char **argv, char pli = db_pl_fetch_byvirtualpath(path); if (!pli) { - DPRINTF(E_LOG, L_MPD, "Playlist not found for path '%s'\n", argv[1]); ret = asprintf(errmsg, "Playlist not found for path '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1830,7 +1776,6 @@ mpd_command_listplaylistinfo(struct evbuffer *evbuf, int argc, char **argv, char free_pli(pli, 0); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1878,7 +1823,6 @@ mpd_command_listplaylists(struct evbuffer *evbuf, int argc, char **argv, char ** { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1922,7 +1866,6 @@ mpd_command_load(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'load'\n"); ret = asprintf(errmsg, "Missing argument for command 'load'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1941,7 +1884,6 @@ mpd_command_load(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) pli = db_pl_fetch_byvirtualpath(path); if (!pli) { - DPRINTF(E_LOG, L_MPD, "Playlist not found for path '%s'\n", argv[1]); ret = asprintf(errmsg, "Playlist not found for path '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -1956,7 +1898,6 @@ mpd_command_load(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { free_pli(pli, 0); - DPRINTF(E_DBG, L_MPD, "Failed to add song '%s' to playlist\n", argv[1]); ret = asprintf(errmsg, "Failed to add song '%s' to playlist", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2074,7 +2015,6 @@ mpd_command_count(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 3 || ((argc - 1) % 2) != 0) { - DPRINTF(E_LOG, L_MPD, "Missing argument(s) for command 'find'\n"); ret = asprintf(errmsg, "Missing argument(s) for command 'find'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2092,7 +2032,6 @@ mpd_command_count(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2104,7 +2043,6 @@ mpd_command_count(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not fetch query count\n"); ret = asprintf(errmsg, "Could not fetch query count"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2131,7 +2069,6 @@ mpd_command_find(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 3 || ((argc - 1) % 2) != 0) { - DPRINTF(E_LOG, L_MPD, "Missing argument(s) for command 'find'\n"); ret = asprintf(errmsg, "Missing argument(s) for command 'find'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2151,7 +2088,6 @@ mpd_command_find(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2192,7 +2128,6 @@ mpd_command_list(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { if (argc != 3 || (0 != strcasecmp(argv[1], "album"))) { - DPRINTF(E_LOG, L_MPD, "Missing argument(s) for command 'list'\n"); ret = asprintf(errmsg, "Missing argument(s) for command 'list'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2244,7 +2179,6 @@ mpd_command_list(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2323,7 +2257,6 @@ mpd_command_lsinfo(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) ret = db_mpd_start_query_filelist(&qp, parent); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Could not start query for path '%s'\n", argv[1]); ret = asprintf(errmsg, "Could not start query for path '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2487,7 +2420,6 @@ mpd_command_search(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc < 3 || ((argc - 1) % 2) != 0) { - DPRINTF(E_LOG, L_MPD, "Missing argument(s) for command 'search'\n"); ret = asprintf(errmsg, "Missing argument(s) for command 'search'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2507,7 +2439,6 @@ mpd_command_search(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) { db_query_end(&qp); - DPRINTF(E_LOG, L_MPD, "Could not start query\n"); ret = asprintf(errmsg, "Could not start query"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2539,7 +2470,6 @@ mpd_command_update(struct evbuffer *evbuf, int argc, char **argv, char **errmsg) if (argc > 1 && strlen(argv[1]) > 0) { - DPRINTF(E_LOG, L_MPD, "Update for specific uri not supported for command 'update'\n"); ret = asprintf(errmsg, "Update for specific uri not supported for command 'update'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2622,7 +2552,6 @@ mpd_command_disableoutput(struct evbuffer *evbuf, int argc, char **argv, char ** if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'disableoutput'\n"); ret = asprintf(errmsg, "Missing argument for command 'disableoutput'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2632,7 +2561,6 @@ mpd_command_disableoutput(struct evbuffer *evbuf, int argc, char **argv, char ** ret = safe_atou32(argv[1], &num); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2688,9 +2616,7 @@ mpd_command_disableoutput(struct evbuffer *evbuf, int argc, char **argv, char ** if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Speaker deactivation failed: %d\n", num); ret = asprintf(errmsg, "Speakers deactivation failed: %d", num); - if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); return ACK_ERROR_UNKNOWN; @@ -2716,7 +2642,6 @@ mpd_command_enableoutput(struct evbuffer *evbuf, int argc, char **argv, char **e if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'disableoutput'\n"); ret = asprintf(errmsg, "Missing argument for command 'disableoutput'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2726,7 +2651,6 @@ mpd_command_enableoutput(struct evbuffer *evbuf, int argc, char **argv, char **e ret = safe_atou32(argv[1], &num); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2783,9 +2707,7 @@ mpd_command_enableoutput(struct evbuffer *evbuf, int argc, char **argv, char **e if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Speaker activation failed: %d\n", num); ret = asprintf(errmsg, "Speakers activation failed: %d", num); - if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); return ACK_ERROR_UNKNOWN; @@ -2811,7 +2733,6 @@ mpd_command_toggleoutput(struct evbuffer *evbuf, int argc, char **argv, char **e if (argc < 2) { - DPRINTF(E_LOG, L_MPD, "Missing argument for command 'disableoutput'\n"); ret = asprintf(errmsg, "Missing argument for command 'disableoutput'"); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2821,7 +2742,6 @@ mpd_command_toggleoutput(struct evbuffer *evbuf, int argc, char **argv, char **e ret = safe_atou32(argv[1], &num); if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Argument doesn't convert to integer: '%s'\n", argv[1]); ret = asprintf(errmsg, "Argument doesn't convert to integer: '%s'", argv[1]); if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); @@ -2884,9 +2804,7 @@ mpd_command_toggleoutput(struct evbuffer *evbuf, int argc, char **argv, char **e if (ret < 0) { - DPRINTF(E_LOG, L_MPD, "Speaker de/activation failed: %d\n", num); ret = asprintf(errmsg, "Speakers de/activation failed: %d", num); - if (ret < 0) DPRINTF(E_LOG, L_MPD, "Out of memory\n"); return ACK_ERROR_UNKNOWN;