sonos

ancient java library to talk to Sonos
git clone http://frotz.net/git/sonos.git
Log | Files | Refs

notes.txt (1727B)


      1 
      2 There are two kinds of identifiers in the world of Sonos:
      3 1. objectID, which is what the Browse call deals in
      4 2. resourceID, which is what represents a song or playlist
      5 
      6 A zoneplayer's state is a resource URI (CurrentURI) which represents 
      7 the song or playlist it's playing, the number of tracks in that 
      8 resource (1 for a song, N for a playlist), and the current track, 
      9 along with the play state (STOPPED, PLAYING, etc) and the play mode 
     10 (NORMAL, SHUFFLE, etc).
     11 
     12 The AVTransport actions Play, Pause, Stop, Next, Previous, Seek act on
     13 this player state.  SetAVTransportURI can be used to change the resource
     14 URI that the player is playing from.  This will cause the player to enter
     15 the STOPPED state.
     16 
     17 The Browse call returns both ObjectID and ResourceID for items, allowing
     18 them to be both browsed and played.  The AVTransport can be queried for
     19 its CurrentURI (via GetMediaInfo) but the ObjectID is not returned.  If
     20 you don't know the ResourceID:ObjectID mapping there is no easy way to
     21 find it.
     22 
     23 objectIDs exist in hierarchies:
     24 S: is the root of all filesystems the sonos can play from
     25 A: is the root of all metadata hierarchies (A:ARTIST, A:ALBUM, ...)
     26 Q: is the root of "The Queue" which is always Q:0
     27 SQ: is the root of saved queues (user created playlists)
     28 
     29 Q:0 can be manipulated by the actions AddURIToQueue, RemoveTrackFromQueue,
     30 RemoveAllTracksFromQueue, ReorderTracksInQueue.  Its contents may be
     31 saved to a SQ:# saved queue (created new or overwritten existing) using
     32 the SaveQueue action.  The SetAVTransportURI call which switches what's
     33 being played never modifies the contents of Q:0 -- you can switch to
     34 an album or any other playlist, and switch back to the main queue later
     35 without losing its state.
     36 
     37 
     38