diff --git a/htdocs/index.html b/htdocs/index.html index 4550725..9d8f9a3 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -55,6 +55,11 @@ +
+ +
diff --git a/htdocs/js/mpd.js b/htdocs/js/mpd.js index 50beef9..56984aa 100644 --- a/htdocs/js/mpd.js +++ b/htdocs/js/mpd.js @@ -517,6 +517,8 @@ function webSocketConnect() { $('#album').text(""); $('#artist').text(""); + $('#btnlove').removeClass("active"); + $('#currenttrack').text(" " + obj.data.title); var notification = "

" + obj.data.title + "

"; @@ -679,6 +681,14 @@ function basename(path) { return path.split('/').reverse()[0]; } +function clickLove() { + socket.send("MPD_API_SEND_MESSAGE,mpdas," + ($('#btnlove').hasClass('active') ? "unlove" : "love")); + if ( $('#btnlove').hasClass('active') ) + $('#btnlove').removeClass("active"); + else + $('#btnlove').addClass("active"); +} + $('#btnrandom').on('click', function (e) { socket.send("MPD_API_TOGGLE_RANDOM," + ($(this).hasClass('active') ? 0 : 1)); diff --git a/src/mpd_client.c b/src/mpd_client.c index 159b24d..1a02490 100644 --- a/src/mpd_client.c +++ b/src/mpd_client.c @@ -22,6 +22,7 @@ #include #include #include +#include #include "mpd_client.h" #include "config.h" @@ -241,6 +242,27 @@ out_save_queue: out_search: free(p_charbuf); break; + case MPD_API_SEND_MESSAGE: + p_charbuf = strdup(c->content); + if(strcmp(strtok(p_charbuf, ","), "MPD_API_SEND_MESSAGE")) + goto out_send_message; + + if((token = strtok(NULL, ",")) == NULL) + goto out_send_message; + + free(p_charbuf); + p_charbuf = strdup(get_arg1(c->content)); + + if ( strtok(p_charbuf, ",") == NULL ) + goto out_send_message; + + if ( (token = strtok(NULL, ",")) == NULL ) + goto out_send_message; + + mpd_run_send_message(mpd.conn, p_charbuf, token); +out_send_message: + free(p_charbuf); + break; #ifdef WITH_MPD_HOST_CHANGE /* Commands allowed when disconnected from MPD server */ case MPD_API_SET_MPDHOST: diff --git a/src/mpd_client.h b/src/mpd_client.h index d637848..951869d 100644 --- a/src/mpd_client.h +++ b/src/mpd_client.h @@ -50,6 +50,7 @@ X(MPD_API_RM_ALL) \ X(MPD_API_MOVE_TRACK) \ X(MPD_API_SEARCH) \ + X(MPD_API_SEND_MESSAGE) \ X(MPD_API_SET_VOLUME) \ X(MPD_API_SET_PAUSE) \ X(MPD_API_SET_PLAY) \