Reply To: Feedback on svn-1417 and ideas for ticket 191

#7523
xaviour
Participant

@xaviour wrote:

Anyhow, I am going to have a look at the RCP (Roku Control Protocol) specification and figure out if it is powerful enough to monitor the track played. I think a small daemon (or a helper program spawned by Firefly) running on the NSLU2 and asking the status of the Soundbridge every second could do the trick.

So I did a little bit of experimenting. The NSLU2 streams some music to the soundbridge and I monitor it from my linux PC:

telnet soundbridge 5555
Trying 192.168.1.69...
Connected to soundbridge.
Escape character is '^]'.
roku: ready
GetCurrentSongInfo
GetCurrentSongInfo: id: 4965
GetCurrentSongInfo: trackLengthMS: 295891
GetCurrentSongInfo: year: 2006
GetCurrentSongInfo: discNumber: 1
GetCurrentSongInfo: discCount: 1
GetCurrentSongInfo: trackNumber: 4
GetCurrentSongInfo: trackCount: 20
GetCurrentSongInfo: format: AAC
GetCurrentSongInfo: status: playable
GetCurrentSongInfo: title: Listen to Your Heart (Swedish Single Edit)
GetCurrentSongInfo: artist: Roxette
GetCurrentSongInfo: album: A Collection of Roxette Hits - Their 20 Greatest Songs
GetCurrentSongInfo: genre: Pop
GetCurrentSongInfo: songFormat: mp4a
GetCurrentSongInfo: formatDescription: AAC audio file
GetCurrentSongInfo: resource[0] url: http://192.168.1.67:3689/rsp/stream/4965
GetCurrentSongInfo: resource[0] format: AAC
GetCurrentSongInfo: resource[0] bitrate: 200
GetCurrentSongInfo: resource[0] sampleRate: 44100
GetCurrentSongInfo: resource[0] sizeBytes: 4832254
GetCurrentSongInfo: OK
GetElapsedTime
GetElapsedTime: 0:00:12
GetElapsedTime
GetElapsedTime: 0:00:14
exit
Connection closed by foreign host.

It is important to note that between the moment you start telnet and the moment you get the prompt more than 10 seconds elapse. This means that the TCP connection should stay open during the monitoring.