Archive > DCE Router Developers

implement new audio plugin

(1/8) > >>

archived:
Hi,

  What would be the difficulty in implementing a plugin for a commandline audio player ie: aplayer or mplayer?  Could it be done with the gsd or would it need to be written in C++ with the dce framework?  Or would it be something that could be done by modifing the slimserver plugin?  I ask as I'm wanting to use my pluto cores' internal soundcard as an audio source for whole house zoned audio (wired in ceiling speakers running to central amps and in wall volume controls)
Any help or pointers would be great.  I'm good with perl and have looked at ruby and they seem not too different.  My C++ skills on the otherhand aren't too good

Thanks,
Jason

archived:
If you just want a DCE Device that can respond to the 'play media' command, that's trivial.  You could do it in GSD (ie Ruby).

However, if you want it to be integrated so follow-me works, floorplans, and it shares the same catalog of media, then you need to create a plugin which implements the 'MediaHandler' class and registers with Media_Plugin.  The plugin must be in C++ since it's loaded into the router's memory space.  It's not complicated for a C++ guy; DCEGen does 90% of the work automatically and builds the class and everything on it's own.

The actual media player itself could still be in Ruby, but without that media plugin you won't have the advanced features.

archived:
Thanks,  Looks like I'm wanting to write a plugin.  Can you point me to any docs, tutorials or examples?  I'm not sure I fully understand the architecture.  I see in the source that a lot of the devices have both a plugin and a device.  Does the plugin comunicate with the device which in turn controls whatever hardware or software?  I'm going to write the plugin to support mplayer as it supports Jack natively which will allow for zone sync and mixing and matching of audio throughout the house.  This also means I'll have to come up with some way of controlling Jack (anouther plugin I'm sure :) ) Once I add a second zone to the house.  I think I can get something usefull running in short order given enough docs.

Thanks again,
Jason

archived:
Hi to all,

back from vacation (at last)...  

I've worked a bit on this idea of having multiple soundcards (or using multichannel card as separate stereo channels) and I decided that IMHO best way is to have xine audio only device (since xine player is supported under pluto, this could happen with only few additional parameters).

I've done some initial test and it worked ok - I got into trouble when such player would be integrated with xine plugin (cause it didn't now how to treat it) - so it could become audio player for certain audio zone or room and be visible and controlable from Orbiters....

I've described my changes and initial code in :

newbielink:http://plutohome.com/support/mantis/view.php?id=1515 [nonactive]

After that, Pluto guy informed me that Xine player will be ceveloped in this way, so xine player will be able to be used as audio only device so one could run multiple instances... Since then I've waited for new release and right now I'd be happy if Pluto guys could give some more info on this development. As I said, xine player code is easy to modifiy, the problem lies in media plugin and proper handling of 3rd party audio players....

I'm also interested in your ideas reagarding mplayer&Jack. My idea for quite some time is that decent whole house audio mixing/routing could be implemented in linux software... Can you post more info ?

HTH,

regards,

Rob.

archived:
Hi,

  No prob with more info.  I'd love to get something moving on this.  I recently installed my first audio zone (speakers, volume and wiring) so I've begun to start implementing the software.  I've read your previous posts about this but couldn't do any testing at the time.  Anyway what I'm looking at is:  mplayer has native jack support, so no prob there.  It's just a matter of writing a plugin for mplayer with support for connectiong to whatever jack connections have been setup for each zone or adding an additional connection to an existing mplayer instance to have synced music in multiple zones.  Currently I'm using an sb live so I'll max out at 2 zones (4 mono channels, 2 stereo).  Eventually I'm looking at maudio hardware to handle all 8 planned zones.  Mplayer and Jack are already capable of this, so all thats needed would be a plugin for mplayer, and an admin gui to configure jack.  I'm not too good with C++, but with some books, google and some decent dce device howto/tutorial/documentation I'm more than willing to give this a try.  I think that about sums it up.  If you have any more questions or ideas/suggestions let me know.

Thanks,
Jason

Navigation

[0] Message Index

[#] Next page

Sitemap 
Go to full version