1
0
mirror of https://github.com/SuperBFG7/ympd synced 2025-11-25 01:34:48 +00:00

Implemented first advanced actions

This commit is contained in:
jcorporation
2018-07-05 20:34:16 +01:00
parent e5c35e0be9
commit 5eb43c758b
3 changed files with 139 additions and 61 deletions

View File

@@ -241,6 +241,22 @@ void callback_mympd(struct mg_connection *nc, const struct mg_str msg)
free(p_charbuf2);
}
break;
case MPD_API_ADD_TRACK_AFTER:
je = json_scanf(msg.p, msg.len, "{ data: { uri:%Q, to:%u } }", &p_charbuf1, &uint_buf1);
if (je == 2) {
mpd_run_add_id_to(mpd.conn, p_charbuf1, uint_buf1);
free(p_charbuf1);
}
break;
case MPD_API_REPLACE_TRACK:
je = json_scanf(msg.p, msg.len, "{ data: { uri:%Q } }", &p_charbuf1);
if (je == 1) {
mpd_run_clear(mpd.conn);
mpd_run_add(mpd.conn, p_charbuf1);
free(p_charbuf1);
mpd_run_play(mpd.conn);
}
break;
case MPD_API_ADD_TRACK:
je = json_scanf(msg.p, msg.len, "{ data: { uri:%Q } }", &p_charbuf1);
if (je == 1) {
@@ -257,6 +273,15 @@ void callback_mympd(struct mg_connection *nc, const struct mg_str msg)
free(p_charbuf1);
}
break;
case MPD_API_REPLACE_PLAYLIST:
je = json_scanf(msg.p, msg.len, "{ data: { plist:%Q } }", &p_charbuf1);
if (je == 1) {
mpd_run_clear(mpd.conn);
mpd_run_load(mpd.conn, p_charbuf1);
free(p_charbuf1);
mpd_run_play(mpd.conn);
}
break;
case MPD_API_ADD_PLAYLIST:
je = json_scanf(msg.p, msg.len, "{ data: { plist:%Q } }", &p_charbuf1);
if (je == 1) {

View File

@@ -46,9 +46,12 @@
#define MPD_CMDS(X) \
X(MPD_API_GET_QUEUE) \
X(MPD_API_GET_FILESYSTEM) \
X(MPD_API_ADD_TRACK_AFTER) \
X(MPD_API_ADD_TRACK) \
X(MPD_API_ADD_PLAY_TRACK) \
X(MPD_API_REPLACE_TRACK) \
X(MPD_API_ADD_PLAYLIST) \
X(MPD_API_REPLACE_PLAYLIST) \
X(MPD_API_PLAY_TRACK) \
X(MPD_API_SAVE_QUEUE) \
X(MPD_API_RM_TRACK) \