summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/command.c13
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);