On Tue, 2005-07-12 at 23:12 +1000, Jonathan Matthew wrote: > On Thu, Jul 07, 2005 at 09:43:30AM +1000, Jonathan Matthew wrote: > > So, what I propose is that when you register a RhythmDBEntryType for > > your source, you also create a new RBPlayer subclass (RBCDAudioPlayer, > > RBDAAPPlayer, etc.) and associate it with that entry type. These > > subclasses store the information required to play songs of their > > type, and know how to manipulate GStreamer to make use of it. > > They'd all share a playbin element, but that's just an implementation detail. > > What I ended up coding was almost completely different to that. > Instead of an RBPlayer subclass, there are things I'm currently calling > RBPlayerSubtypes (suggestions for a better name are welcome..), that > hook into the main RBPlayer in a few places. > > I've got a 'player-subtype' property on RBSource, so every song > from the same source uses the same subtype instance. Subtype instances > can also be shared between sources, if required. RBShellPlayer > retrieves the subtype instance from the playing source and passes it to > rb_player_open. This looks like the right idea to me; if you can convert say RBIRadioSource to use it so setting the iradio-mode property on the gnomevfssrc lives in rb-iradio-source.c, I think that'd be a good use case.
Attachment:
signature.asc
Description: This is a digitally signed message part