diff options
Diffstat (limited to 'src/command.c')
-rw-r--r-- | src/command.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/command.c b/src/command.c index b3d2acbcd..9014ccccc 100644 --- a/src/command.c +++ b/src/command.c @@ -81,6 +81,7 @@ #define COMMAND_CROSSFADE "crossfade" #define COMMAND_URL_HANDLERS "urlhandlers" #define COMMAND_PLCHANGES "plchanges" +#define COMMAND_CURRENT "current" #define COMMAND_STATUS_VOLUME "volume" #define COMMAND_STATUS_STATE "state" @@ -193,6 +194,17 @@ int handleStop(FILE * fp, unsigned int * permission, int argArrayLength, return stopPlaylist(fp); } +int handleCurrent(FILE * fp, unsigned int * permission, int argArrayLength, + char ** argArray) +{ + int song = getPlaylistCurrentSong(); + + if(song >= 0) { + return playlistInfo(fp, song); + } + else return 0; +} + int handlePause(FILE * fp, unsigned int * permission, int argArrayLength, char ** argArray) { @@ -749,6 +761,7 @@ void initCommands() { addCommand(COMMAND_PLAY ,PERMISSION_CONTROL, 0, 1,handlePlay,NULL); addCommand(COMMAND_PLAYID ,PERMISSION_CONTROL, 0, 1,handlePlayId,NULL); addCommand(COMMAND_STOP ,PERMISSION_CONTROL, 0, 0,handleStop,NULL); + addCommand(COMMAND_CURRENT ,PERMISSION_READ , 0, 0,handleCurrent,NULL); addCommand(COMMAND_PAUSE ,PERMISSION_CONTROL, 0, 1,handlePause,NULL); addCommand(COMMAND_STATUS ,PERMISSION_READ, 0, 0,commandStatus,NULL); addCommand(COMMAND_KILL ,PERMISSION_ADMIN, -1,-1,handleKill,NULL); |