|
#1
|
|||
|
|||
|
Folks,
I'm looking for some techies to test out some controller software I'm writing. When I got my Sonos I looked for controller software to run natively on non-Windows platforms - I really wanted something to run on a touch screen hand held device of my choosing (at that time the Sonos controller did not have a touchscreen and there was no iPod/iPhone support). I also wanted to be able to incorporate non-Sonos devices. I found a UPnP framework written in Python targetted at the Nokia N810, which runs Linux. I've extended that framework to cater for ZonePlayers. Currently I'm developing on Fedora, but it should run on any Linux (obviously it runs on Maemo for the Nokia). The framework/app requires GTK/GLADE and a web server (the framework supports three Python ones) – at the moment the interface is very simple but as it's separated from the functional code it can easily be improved (for instance pictorial browsing via album art). The app is only alpha at the moment and missing lots of features (for instance you can only select one song at a time), but fairly stable – I'm hoping to add lots of features over time. Functionally the app will search for media servers and media renderers on your network, and allow you to browse any server and play the selected item on a renderer of choice (I have an issue with serving Sonos served content to the BRisa renderer at the moment (not sure whether that's the content or the player), but you can serve the same content from another server such as a NAS and play it locally on the PC). In my test setup I have: 1) 3 Zoneplayers 2) A Buffalo NAS 3) A Windows XP machine running MS Media Player and Asset 4) A media player on my local Linux machine provided by BRisa, as well as a BRisa renderer I have Macs in the house too so will set something up on one of those, plus a PS3. I intend to install Twonky somewhere too, and load the app on an iPod Touch. In terms of the Zoneplayers, the app currently supports browsing the Music Library, Music Services (e.g. Asset), Queues, Music Shares and RadioTime (Napster is next). It will play all of those on the Zoneplayer too, as well as content served from other servers. When you select an item to play it displays album art and track/stream details from the renderer, and allows pause/unpause/stop/mute/volume change – if the renderer is a Zoneplayer, any changes made via the Sonos handheld or desktop controller are reflected on the app screen. I'm looking for one or two Linux techies to load the app up and have a play – preferably developers with Python experience but at least people who can install the dependencies etc. Given that the app is written in Python it ought to be fairly easy to get it to run on other platforms (I've started that process on Windows but at the moment I have a threading problem with the GUI, I'll load it on a Mac soon). Any Python on Windows or Mac techies are most welcome too to get it running on those platforms. I have a screenshot of the app in action (there's not really much to see), but I don't think I can upload it here. If you've read this far and are interested in helping out, PM me your email address with some details of your skills and I'll see about getting the code to you. I really do need techies at this stage rather than end users as there are no install instructions or documentation. Maybe one day we'll have a cross-platform controller with a feature set wider than the Sonos controllers provide. Mark. |
|
#2
|
|||
|
|||
|
This is a great idea and could also help the Linux users to integrate the Sonos into their home automization.
Would it be possible to use your Python code also to come up with a simple SonosWatcher application like the one Osler had written for the Windows world? Just watching for volume changes, the playing source or a play/pause/mute command is also a lot simpler than adding all the GUI functionallity. Marc |
|
#3
|
|||
|
|||
|
The app already monitors the items you specify, shouldn't be much trouble to isolate those aspects outside of the GUI. How is home automation software integrated?
|
|
#4
|
|||
|
|||
|
Just a short update on progress.
I've got the app running on Windows - MSEARCH responses seem to take an age but once it finds UPnP devices it works fine. I've also managed to get Sonos served content playing locally on the PC (via gstrender/gstreamer). I'll test that next on the N810, as it ought to mean you can use a portable controller as a zone (at least to play unlinked). I've added the current URL to the messagebar (so you can see the location of the track or radio station being played). I've only had a couple of responses to my request for testers (out of a couple of hundred hits) - hopefully that's not because nobody is interested in a Linux based controller.... |
|
#5
|
||||
|
||||
|
I'm interested, I just don't have that much time to spare.
Cheers, Keith
__________________
Sonos customer (6 x ZP100, 1 x ZP120, 1 x ZP90, 4 x PLAY:5, 2 x PLAY:3, 5 x CR100, 1 x CR200, 2 x SUB, 1 x Playbar) I am not affiliated with or representative of Sonos in any way. All opinions expressed are my own! |
|
#6
|
|||
|
|||
|
Sent you a PM, but perhaps you didn't see it- I'm interested in testing this.
I have a Linux-based server and several Linux machines at home, as well as various Windows boxes... |
|
#7
|
|||
|
|||
|
Sorry, didn't get your PM. If you PM me again with your email address I'll send you the source. I've knocked together some rudimentary install and run instructions too.
|
|
#8
|
|||
|
|||
|
Quote:
I'm interested to test your code as well -- but I'm not a big GUI programmer. I'll send you a PM. |
|
#9
|
|||
|
|||
|
Quote:
|
|
#10
|
|||
|
|||
|
Another short update.
The app can now play content served from Sonos, NAS, Asset etc locally on the PC using the BRisa renderer (supports http and smb). I've added support for the Sonos queue - options currently are: 1) Play now don't queue 2) Play now add to queue 3) Add to queue next 4) Add to end of queue I'm going to add an option to "sample" a track, basically play a timed excerpt from a specified seek into the track. I've implemented a separate info window (currently shows music location and XML). I've also fixed some bugs and speeded up the browser somewhat. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|