have pause take an optional arugment

git-svn-id: https://svn.musicpd.org/mpd/trunk@43 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-02-25 00:08:48 +00:00
parent 068d307a71
commit aaf4282654
3 changed files with 30 additions and 1 deletions

View File

@ -144,6 +144,16 @@ int handleStop(FILE * fp, unsigned int * permission, int argArrayLength,
int handlePause(FILE * fp, unsigned int * permission,
int argArrayLength, char ** argArray)
{
if(argArrayLength==2) {
char * test;
int pause = strtol(argArray[1],&test,10);
if(*test!='\0' || (pause!=0 && pause!=1)) {
myfprintf(fp,"%s \%s\" is not 0 or 1\n",
COMMAND_RESPOND_ERROR,pause);
return -1;
}
return playerSetPause(fp,pause);
}
return playerPause(fp);
}
@ -524,7 +534,7 @@ void initCommands() {
addCommand(COMMAND_PLAY ,PERMISSION_CONTROL, 0, 1,handlePlay);
addCommand(COMMAND_STOP ,PERMISSION_CONTROL, 0, 0,handleStop);
addCommand(COMMAND_PAUSE ,PERMISSION_CONTROL, 0, 0,handlePause);
addCommand(COMMAND_PAUSE ,PERMISSION_CONTROL, 0, 1,handlePause);
addCommand(COMMAND_STATUS ,PERMISSION_READ, 0, 0,commandStatus);
addCommand(COMMAND_KILL ,PERMISSION_ADMIN, -1,-1,handleKill);
addCommand(COMMAND_CLOSE ,0, -1,-1,handleClose);

View File

@ -215,6 +215,23 @@ int playerPause(FILE * fp) {
return 0;
}
int playerSetPause(FILE * fp, int pause) {
PlayerControl * pc = &(getPlayerData()->playerControl);
if(player_pid<=0) return 0;
switch(pc->state) {
case PLAYER_STATE_PLAY:
if(pause) playerPause(fp);
break;
case PLAYER_STATE_PAUSE:
if(!pause) playerPause(fp);
break;
}
return 0;
}
int getPlayerElapsedTime() {
return (int)(getPlayerData()->playerControl.elapsedTime+0.5);
}

View File

@ -75,6 +75,8 @@ void player_sigHandler(int signal);
int playerPlay(FILE * fp, char * utf8file);
int playerSetPause(FILE * fp, int pause);
int playerPause(FILE * fp);
int playerStop(FILE * fp);