| Table of contents |
AUDIO.SLIMSERV Message Specification
- Class = AUDIO
- Type = SLIMSERV
NOTE: This schema is currently under development and has not been officially accepted by the xPL project. Discussion of this schema is welcomed in the xPL discussion group.
Updated: 4th January 2004
This schema is an extension of the audio.basic schema to provide functionality specific to SlimServer devices. SlimServer is the open source server software that powers the SliMP3 and SqueezeBox Ethernet MP3 Players. See http://www.slimdevices.com/ for further details.
XPL-CMND Structure
AUDIO.SLIMSERV
{
COMMAND=<basic command>[<parameter>]
EXTENDED=<extended command>[(<repeat>)]
}
Basic Commands (as defined in the audio.basic schema):
- PLAY = Start playback
- STOP = Stop playback
- VOLUME +<step 1 to 100> or ><step 1 to 100>
- VOLUME -<step 1 to 100> or <<step 1 to 100>
- VOLUME <level 1 to 100>
- SKIP = Jump to next track in playlist
- BACK = Jump to previous track in playlist
- RANDOM = Shuffle the current playlist
- CLEAR = Clear all songs from the current playlist
Extended Commands: (Note: Commands are case sensitive. Parameters marked with curly braces {} require escaping using the URL-syntax)
- addfile <filename> = add the file <filename> to the playlist
- pause = Toggle the paused state of the player
- pause 1 = Force the player to pause
- pause 0 = Force the player to unpause
- playfile <filename> = play the file specified in <filename>
- time (number|-number|+number> = Jump to a particular position in a song by specifying a number of seconds to seek to .
You may also jump to a relative position within a song by putting an explicit "-" or "+" character before the number of seconds you would like to seek.
- sleep <number> = The "sleep" command specifies a number of seconds to continue playing before powering off the player.
- power <0|1> = Turns the player on or off.
- playlist play {<item>} = Puts the specified song URL, playlist or directory contents into the current playlist and plays starting at the first item. Any songs previously in the playlist are discarded.
Alternatively you may use the playfile <item> command, where the <item> does not need to be escaped.
- playlist add {<item>} = Adds the specified song URL, playlist or directory contents to the end of the current playlist. Any songs currently playing or already on the playlist are not affected.
Alternatively you may use the addfile command, where you do not need to escape the <item> parameter.
- playlist insert {<item>} = Inserts the specified song URL, playlist or directory contents to be played immediately after the current song in the current playlist. Any songs currently playing or already on the playlist are not affected.
- playlist move <fromindex> <toindex> = Moves the song at the specified index to a new index in the playlist. An offset of zero is the first song in the playlist.
- playlist delete <songindex> = Deletes the song at the specified index from the current playlist.
- playlist resume {<playlist>} = Replace the current playlist with the playlist specified by <playlist>, starting at the song that was playing when the file was saved. (Resuming works only with M3U files saved with the playlist save command below.) Shortcut: use a bare playlist name (without leading directories or trailing .m3u suffix to load a playlist in the saved playlists folder.
- playlist save {<playlist>} = Save a playlist file in the saved playlists directory. Accepts a playlist filename (without .m3u suffix) and saves in the top level of the playlists directory. Shortcut: use a bare playlist name (without leading directories or trailing .m3u suffix to load a playlist in the saved playlists folder.
- playlist loadalbum {<genre>} {<artist>} {<album>} = Puts songs matching the specified genre artist and album criteria on the playlist. Any songs previously in the playlist are discarded.
- playlist addalbum {<genre>} {<artist>} {<album>} = Appends all songs matching the specified criteria onto the end of the playlist. Any songs currently playing or already on the playlist are not affected.
- playlist clear = Removes any song that is on the playlist. If a song is currently playing, it is stopped.
This is the same as the command=clear function in an audio.basic message.
- playlist index <index> = Sets the song that is currently playing by index. When setting, a zero-based value may be used to indicate which song to play. An explicitly positive or negative number may be used to jump to a song relative to the currently playing song.
The audio.basic commands skip and back are equivalent to +1 and -1 respectively.
- playlist shuffle <0|1> = Turns on or off shuffling of the playlist.
The audio.basic command "random" can be used to enable shuffling of the playlist.
- playlist repeat <0|1|2> = Used to indicate if the player will stop playing at the end of the *playlist, repeat the current song indefinitely, or repeat the current playlist indefinitely. A value of "0" indicates that the player will stop at the end of the playlist, "1" indicates that the player will repeat the current song indefinitely and a value of "2" indicates that the player will repeat the entire playlist indefinitely.
- rescan = Causes the SlimServer to rescan its music library, reloading the music file information.
AUDIO.REQUEST
{
COMMAND=STATUS
}
Returns last sent status message (see below)
CONFIG.RESPONSE
{
NEWCONF=<new instance>
INTERVAL=<interval>
INFRARED=none | buttons | raw | both
}
XPL-TRIG Structure
AUDIO.BASIC
{
COMMAND=<command / extended command>
}
XPL-STAT Structure
AUDIO.BASIC
{
TYPE=STATUS
<other relevant items>
}
Types of status information:
TYPE=STATUS VALUE=PLAYING | PAUSED | STOPPED SONG=<currently playing song>
TYPE=POWER VALUE=0 | 1
HBEAT.APP
{
[standard hbeat items]
schema=audio.basic
[status items]
}
