Notifications
All commands listed in this document are notifications as well as being commands and can be received when using listen 1
(if they do not originate from the command-line connection that issued them; no command is echoed twice).
Note that queries (for example, display ? ?
) are not notified.
Other available notifications are listed below with their meaning.
Please note that other notifications or commands may exist, but internal to the server and therefore not documented in this CLI document. Likewise, commands originating from the server may have more parameters than those described in this document, or parameters consisting of internal Perl data structures with strange text representations.
client
<playerid> client <new|disconnect|reconnect>
A new client is notified using client new
. client disconnect
is sent when a client disconnects. Unless it reconnects (as signaled by client reconnect
) before a number of minutes, the client will be automatically forgotten by the server (as indicated by command/notification client forget
.)
rescan done
rescan done
This signals the end of a rescan
or wipecache
.
library changed
library changed <0|1>
This signals the presence or absence of a library has changed.
unknownir
<playerid> unknownir <ircode> <time>
This signals an IR code unknown by the server. The syntax is the same than the one used by ir
- see Info on ir
command in Players.
Note: This is only available on SB Classic, SB Boom and Transporter. SB Touch and SB Radio handle IR codes locally and do not report them to the server anymore.
playlist
Various Notifications related to Playlists
playlist newsong
<playerid> playlist newsong [<current_title>] [<playlist index>]
This signals the start of a new song, along with its current_title
and playlist index
. For radio stations, only the current_title
information is provided.
playlist stop
<playerid> playlist stop
playlist pause
<playerid> playlist pause <0|1>
These signal a change in playing status.
prefset
<playerid> prefset [<namespace>] [<prefname>] [<value>]
This signals a preference change.
favorites changed
favorites changed
Sent everytime the favorite database is changed, for any reason, by any process (so the favorites command below will result in this notification being sent).
alarm
<playerid> alarm <sound|end|snooze|snooze_end> <id>
alarm sound
is sent when an alarm sounds;alarm end
when an alarm ends;alarm snooze
when an alarm is snoozed;alarm snooze_end
when a snooze ends (and the alarm resumes).id
gives the id of the alarm.
getexternalvolumeinfo
<playerid> getexternalvolumeinfo <taggedParameters>
This notification notifies a client that a plugin supports volume change capability for a player. This capability will override (from a user's point of view) the digitalVolumeControl
flag that indicates whether a player's output is fixed to a certain volume (typically 100%). This will be used by plugins providing external volume control, e.g. for an amplifier (IRBlaster being an example). In this scenario, the volume output of the player is typically fixed but there is still a volume control capability and the plugin controls the amp's volume instead. The purpose of this notification is to let a client know that there is a volume control capability associated with a player.
Sending a getexternalvolumeinfo
command triggers all plugins supporting the feature to return a notification about their capabilities for each player for which they provide these capabilities. The command may be sent to a specific player but typically a plugin will ignore this and respond to any getexternalvolumeinfo command for each player.
Please note that this notification is only supported by some 3rd party plugins. It's not part of the core server functionality.
Returned tagged parameters:
Tag | Description |
---|---|
relative |
A boolean value stating that a plugin is able to provide relative volume change capability for this player as in mixer volume +5 |
precise |
A boolean value stating that a plugin is able to provide precise volume change capability for this player as in mixer volume 75 |
plugin |
is an optional string naming the plugin providing the capability |
Example:
Request: "getexternalvolumeinfo<LF>"
Response 1: "a5:41:d2:cd:cd:05 getexternalvolumeinfo relative:1 plugin:IRBlaster"
Response 2: "a5:41:d2:cd:cd:05 getexternalvolumeinfo precise:1 plugin:DenonSerial"