Adding of plchangesposid command, this is a stripped down version of the plchanges command, it only sends the pos and id of the changed command. Libmpd allready has support for it, and libmpdclient in libmpd too
git-svn-id: https://svn.musicpd.org/mpd/trunk@4101 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
8220d3deac
commit
5416d00bcd
@ -84,6 +84,7 @@
|
||||
#define COMMAND_CROSSFADE "crossfade"
|
||||
#define COMMAND_URL_HANDLERS "urlhandlers"
|
||||
#define COMMAND_PLCHANGES "plchanges"
|
||||
#define COMMAND_PLCHANGESPOSID "plchangesposid"
|
||||
#define COMMAND_CURRENTSONG "currentsong"
|
||||
#define COMMAND_ENABLE_DEV "enableoutput"
|
||||
#define COMMAND_DISABLE_DEV "disableoutput"
|
||||
@ -414,6 +415,21 @@ int handlePlaylistChanges(FILE * fp, unsigned int * permission,
|
||||
return playlistChanges(fp, version);
|
||||
}
|
||||
|
||||
int handlePlaylistChangesPosId(FILE * fp, unsigned int * permission,
|
||||
int argArrayLength, char ** argArray)
|
||||
{
|
||||
unsigned long version;
|
||||
char * test;
|
||||
|
||||
version = strtoul(argArray[1], &test, 10);
|
||||
if(*test!='\0') {
|
||||
commandError(fp, ACK_ERROR_ARG, "need a positive integer",
|
||||
NULL);
|
||||
return -1;
|
||||
}
|
||||
return playlistChangesPosId(fp, version);
|
||||
}
|
||||
|
||||
int handlePlaylistInfo(FILE * fp, unsigned int * permission,
|
||||
int argArrayLength, char ** argArray)
|
||||
{
|
||||
@ -970,6 +986,7 @@ void initCommands() {
|
||||
addCommand(COMMAND_CROSSFADE ,PERMISSION_CONTROL, 1, 1,handleCrossfade,NULL);
|
||||
addCommand(COMMAND_URL_HANDLERS,PERMISSION_READ, 0, 0,handleUrlHandlers,NULL);
|
||||
addCommand(COMMAND_PLCHANGES ,PERMISSION_READ, 1, 1,handlePlaylistChanges,NULL);
|
||||
addCommand(COMMAND_PLCHANGESPOSID ,PERMISSION_READ, 1, 1,handlePlaylistChangesPosId,NULL);
|
||||
addCommand(COMMAND_ENABLE_DEV ,PERMISSION_ADMIN, 1, 1,handleEnableDevice,NULL);
|
||||
addCommand(COMMAND_DISABLE_DEV ,PERMISSION_ADMIN, 1, 1,handleDisableDevice,NULL);
|
||||
addCommand(COMMAND_DEVICES ,PERMISSION_ADMIN, 0, 0,handleDevices,NULL);
|
||||
|
@ -458,6 +458,26 @@ int playlistChanges(FILE * fp, mpd_uint32 version) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int playlistChangesPosId(FILE * fp, mpd_uint32 version) {
|
||||
int i;
|
||||
|
||||
for(i=0; i<playlist.length; i++) {
|
||||
if(version > playlist.version ||
|
||||
playlist.songMod[i] >= version ||
|
||||
playlist.songMod[i] == 0)
|
||||
{
|
||||
myfprintf(fp, "cpos: %i\n", i);
|
||||
myfprintf(fp, "Id: %i\n", playlist.positionToId[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int playlistInfo(FILE * fp, int song) {
|
||||
int i;
|
||||
int begin = 0;
|
||||
|
@ -114,6 +114,8 @@ void playlistVersionChange();
|
||||
|
||||
int playlistChanges(FILE * fp, mpd_uint32 version);
|
||||
|
||||
int playlistChangesPosId(FILE * fp, mpd_uint32 version);
|
||||
|
||||
int PlaylistInfo(FILE * fp, char * utf8file, int detail);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user