Yeah, I know - first post newbie wants to know how to get man to the moon
Context: I've been an audiophile and serious music listener for 25 years. I have an all-Meridian 5 speaker system now, in a treated room. I have a ~1500 CD collection (would be much bigger if I hadn't given so many away to public libraries) that consists 2/3 of Classical music. Heretofore, I wasn't much interested in software-based music repositories, due to Classical-unfriendly music tagging/browsing and a lack of audiophile-quality audio renderer devices. Now, though, we have MC, which is flexible enough to create the kind of database and browsing capabilities to be Classical-friendly. We also have the Squeezebox 3, which has an excellent reputation among audiophiles as a low-jitter digital audio transport. And finally, we have software-based automation systems like Charmed Quark to knit these pieces together in a home automation environment.
The key piece to making all of this work for me is to be able to create libraries and playlists in MC and then play them on Squeezeboxes over the network. The SlimServer software that comes with the SqueezeBox has pretty good extensibility, via CLI or plugins, for feeding now-playing lists to, and controlling playback of, attached SqueezeBox hardware. MC has powerful automation interfaces for extracting playlists from the running program instance. So what's the problem? Well, in theory (he says naively), writing an interface plugin that simply extracts the current playlist from MC and feeding it to SlimServer is pretty easy. But what if I wanted to use the MC player controls to actually start, stop, pause playback on the Squeezebox? As far as I can figure out from the online docs, this can't be done?
At first, I thought that if uPnP could be implemented via plugin, that meant the player control must somehow be extensible via plugin APIs. Now I realize that uPnP devices are currently the "control points": they work only as "pull" devices. MC doesn't "push" control or music data to the uPnP hardware - correct?
Essentially, what I'm trying to do amounts to creating my own implementation of an MJPlaybackAutomation interface, and making that interface the "currently active" interface for the player widget. Am I correct in assuming that can't be done today? And if that's true, can anyone think of another way of accomplishing the same thing? I suppose I could create a duplicate player control ...
Many thanks in advance for any thoughts or advice.