mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-28 16:15:57 -05:00
[mpd] Support position parameter in command 'addid'
This commit is contained in:
parent
a1372c692e
commit
434be28460
14
src/mpd.c
14
src/mpd.c
@ -1793,6 +1793,7 @@ static int
|
|||||||
mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg, struct mpd_client_ctx *ctx)
|
mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg, struct mpd_client_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct media_file_info mfi;
|
struct media_file_info mfi;
|
||||||
|
int to_pos = -1;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
@ -1801,10 +1802,14 @@ mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg,
|
|||||||
return ACK_ERROR_ARG;
|
return ACK_ERROR_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO if argc > 2 add song at position argv[2]
|
|
||||||
if (argc > 2)
|
if (argc > 2)
|
||||||
{
|
{
|
||||||
DPRINTF(E_LOG, L_MPD, "Adding at a specified position not supported for 'addid', adding songs at end of queue.\n");
|
ret = safe_atoi32(argv[2], &to_pos);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
*errmsg = safe_asprintf("Argument doesn't convert to integer: '%s'", argv[2]);
|
||||||
|
return ACK_ERROR_ARG;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = mpd_queue_add(argv[1], true);
|
ret = mpd_queue_add(argv[1], true);
|
||||||
@ -1829,6 +1834,11 @@ mpd_command_addid(struct evbuffer *evbuf, int argc, char **argv, char **errmsg,
|
|||||||
return ACK_ERROR_UNKNOWN;
|
return ACK_ERROR_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (to_pos >= 0)
|
||||||
|
{
|
||||||
|
db_queue_move_byitemid(ret, to_pos, 0);
|
||||||
|
}
|
||||||
|
|
||||||
evbuffer_add_printf(evbuf,
|
evbuffer_add_printf(evbuf,
|
||||||
"Id: %d\n",
|
"Id: %d\n",
|
||||||
ret); // mpd_queue_add returns the item_id of the last inserted queue item
|
ret); // mpd_queue_add returns the item_id of the last inserted queue item
|
||||||
|
Loading…
Reference in New Issue
Block a user