new command "devices", prints devices and their states

git-svn-id: https://svn.musicpd.org/mpd/trunk@2486 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-11-02 23:08:00 +00:00
parent 44eb26c16f
commit 78c5d884d2
4 changed files with 26 additions and 7 deletions

2
TODO
View File

@ -15,8 +15,6 @@
*) Optimize read() on clients
*) Make each audioOutput device enable/disable by the client
*) add command
*) command that takes file/url's (no directory's) and returns the songid
*) allow to specify position in playlist where to insert song(s)

View File

@ -197,9 +197,7 @@ void finishAudioDriver() {
free(audioOutputArray);
audioOutputArray = NULL;
/* don't set to zero cause we're gonna use this for enabling
and disabling devices */
/*audioOutputArraySize = 0;*/
audioOutputArraySize = 0;
}
int isCurrentAudioFormat(AudioFormat * audioFormat) {
@ -318,3 +316,14 @@ int disableAudioDevice(FILE * fp, int device) {
return 0;
}
void printAudioDevices(FILE * fp) {
int i;
for(i = 0; i < audioOutputArraySize; i++) {
myfprintf(fp, "deviceid: %i\n", i);
myfprintf(fp, "devicename: %s\n", audioOutputArray[i]->name);
myfprintf(fp, "deviceenabled: %i\n",
(int)pdAudioDevicesEnabled[i]);
}
}

View File

@ -71,4 +71,6 @@ int enableAudioDevice(FILE * fp, int device);
int disableAudioDevice(FILE * fp, int device);
void printAudioDevices(FILE * fp);
#endif

View File

@ -82,8 +82,9 @@
#define COMMAND_URL_HANDLERS "urlhandlers"
#define COMMAND_PLCHANGES "plchanges"
#define COMMAND_CURRENTSONG "currentsong"
#define COMMAND_ENABLE_DEV "enable_device"
#define COMMAND_DISABLE_DEV "disable_device"
#define COMMAND_ENABLE_DEV "enabledevice"
#define COMMAND_DISABLE_DEV "disabledevice"
#define COMMAND_DEVICES "devices"
#define COMMAND_STATUS_VOLUME "volume"
#define COMMAND_STATUS_STATE "state"
@ -790,6 +791,14 @@ int handleDisableDevice(FILE * fp, unsigned int * permission,
return disableAudioDevice(fp, device);
}
int handleDevices(FILE * fp, unsigned int * permission, int argArrayLength,
char ** argArray)
{
printAudioDevices(fp);
return 0;
}
void initCommands() {
commandList = makeList(free);
@ -840,6 +849,7 @@ void initCommands() {
addCommand(COMMAND_PLCHANGES ,PERMISSION_READ, 1, 1,handlePlaylistChanges,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);
sortList(commandList);
}