The server listens on TCP port 7769 for commands. These may be queries, eg. to retrieve a list of albums for a given artist, or commands, e.g. to start playing a track. Most commands are acknowledged by the message MSG_OK if completed sucessfully, or MSG_ERROR if an error occurred.



Command
Returns
Private/Global
Comments
GET:ARTISTS MSG_ARTISTS
<artist 1>
<artist 2>
<etc>
MSG_OK
Private
Returns a list of every artist stored in the database.
GET:ALBUMS:<artist>
MSG_ALBUMS
<album 1>
<album 2>
<etc>
MSG_OK
Private
Returns a list of every album for the specified artist.
GET:TRACKS:<artist>:<album>
MSG_TRACKS
<song id>:<track 1>
<song id>:<track 2>
<etc>
MSG_OK
Private
Returns a list of tracks for the specified artist and album.
GET:PLAYLIST:<zone>
MSG_PLAYLIST:<zone>
<song id>:<artist>:<track>:<playlist-position-id>
<etc>
MSG_OK
Private
Returns the items in the playlist for the specified zone.
GET:VOLUME:<zone>
MSG_VOLUME:<zone>:<level>
Private
Returns current volume level for specified zone
GET:CHANNELS
MSG_CHANNELS
<zone>:<label>
<etc>
MSG_OK
Private
Returns a list of each available output zone along with it's description. <zone> is an integer, starting at 0. This info comes from zones.conf
PLAYLIST:<zone>:PLAY
MSG_OK
Private
 
PLAYLIST:<zone>:STOP
MSG_OK
Private
 
PLAYLIST:<zone>:SKIP
MSG_OK
Private
Skip forward to next track
PLAYLIST:<zone>:ADD:<song-id>
MSG_ADD_PLAYLIST:<zone>
<song-id>:<artist>:<track>:<playlist-position-id>
<etc>
MSG_OK
Global
Adds a song to a zone's playlist. Sends notification to all connected clients that a song has been added, with the allocated playlist-position-id.
PLAYLIST:<zone>:DELETE:<position-id>
MSG_DELETE_PLAYLIST:<zone>
<playlist-position-id>
<etc>
MSG_OK
Global

PLAYLIST:<zone>:VOLUME:<level>
MSG_VOLUME:<zone>:<level>
Global
Set volume to <level> (0 - 100). Returns absolute level.
PLAYLIST:<zone>:VOLUME-:<level>
MSG_VOLUME:<zone>:<level>
Global
Decrease volume by <level>. Returns absolute level.
PLAYLIST:<zone>:VOLUME+:<level>
MSG_VOLUME:<zone>:<level>
Global
Increase volume by <level>. Returns absolute level.
PLAYLIST:<zone>:JUMP:<frame>
MSG_OK
Private
Jump to <frame> in current track
PLAYLIST:<zone>:SEEK+:<seconds>
MSG_OK
Private
Jump forward specified number of seconds
PLAYLIST:<zone>:SEEK-:<seconds>
MSG_OK
Private
Jump backward specified number of seconds
PLAYLIST:<zone>:SYNC:<playlist no>  
 
DBSYNC

Scans for new tracks and adds to the database. (Executes dbsync.pl)









MSG_POS:<zone>:<seconds elapsed>:<seconds remaining>:<total frames>
Global Sent every 1 second to all clients while playing.