General > Developers
MPD integration
david_a_dawson:
Hello.
I've been after integrating spotify into linuxmce for ages, even trying to write a full dce/ spotify component (failed miserably).
I've come across an MPD implementation -> http://www.mopidy.com/ that gives an MPD interface to spotify, soundcloud, icecast etc and also local files as per normal.
I've got it all set up on my 10.04 core (it was a royal PITA with its old version of python, but I got it running eventually), and it's now lovely, I can use any MPD client to control and query spotify streaming music, alongside local files.
I'm wondering if anyone has considered MPD at all for a more general integration? Seems like it might be a good thing to delegate music handling too, especially something plugin based like mopidy that would allow leveraging all the work they've put in.
Maybe, a mopidy server per user for them to control that can then be streamed out tom the various EAs? dunno.
David.
tschak909:
Go for it. My general plan is to integrate squeezeserver/squeezeslave for audio playback, as it is very adept at audio synchronization (needed for proper multi-zone audio playback), but this system is modular, you can drop in support for whatever you feel like.
I do know you tried to do a JAVA implementation of DCE, but perhaps you should try using the C++ tools, to see what's there first?
-Thom
david_a_dawson:
Yeah, I'd like to get that java/ dce finished and running at some point. I did get basic demo devices implemented and running, just needs some polishing and proper testing. TBH, actually finding a real problem that it would suit better than C++ is the real issue, which is why I never really went anywhere with it in the end. Something web integrated would suit well I think.
It appears that mopidy has a nice modular system of its own, so I strongly suspect that it could be turned into a standalone bi-directional DCE device via a couple of python/ c module extensions that interface with libdce.
Gives me a reason to brush up my python, and also might be a useful contribution to be able to write DCE devices in python as well .. I'll see how it goes, might not be feasible.
As a first cut, I'll make a simple dce device that accepts the media control commands, maybe issues events if I can track down the right ones.
Once I get there I expect to be lost for how to integrate into the system properly. I'll ask more questions then.
david_a_dawson:
Also, I think it'd be ideal to have mopidy as a logical audio source in its own right, so that it could then be streamed at the the squeeze etc devices and have them handle the audio distribution, rather than outputting audio directly itself. That strikes me as a more natural integration with the lmce audio network as it stands right now, rather than just adding something thats useful but not totally compatible.
If you have any thoughts on that direction, that would be nice to understand. If it's feasible, possible, a good idea etc...
Via its plugins, it appears to give access to the majority of the music streaming services via a single API, so it'd be a nice win to be able to have LMCE have all of those integrated, and be able to take advantage of any others being added to mopidy in the future.
There is a bug in mopidy that prevents it working properly as a shoutcast stream server via gstreamer, the stream gets closed at the wrong time. Using gstreamer to generate a plain audio source does seem to work fine though, and if the meta data is being distributed via DCE, thats good enough...
david_a_dawson:
one question, should I do dev against 12.04 for this to get the benefit of any new work, or would it not matter?
I'm currently on 10.04 across the board.
Navigation
[0] Message Index
[#] Next page
Go to full version