hickinbottoms;336860 Wrote: > > I did that because I was never happy calling that internal function as > it took some bodging to make it work - I had to add some attributes to > my mode's hash to fool that internal mixing function it was being > called > from the BrowseDB mode and not my lazy search results mode, for > example > - that always looked too fragile to me. > I completely agree, the whole mixer API needs to be refactored, it is today very dependent on the BrowseDB menu structure data. I started to make a patch once, but stopped after a while because it felt like it required too much changes to get a chance to be approved.
I'll have a look at it again if I get the time. hickinbottoms;336860 Wrote: > > Do you know of a more stable API that lets any mixer get involved, > similar to how BrowseDB must work internally but without needing to > call > 'private' functions? I'd happily move to that. > I believe there aren't any public ways of launching mixers, the mixer launching code and even worse the implementation of the mixers themselves are today very dependent on that the caller looks exactly like the BrowseDB structure data. I have to look into again to make sure, but I think it might just be luck that it worked in 3.0. hickinbottoms;336860 Wrote: > > Failing that I could revert the change, but I'd prefer a stable API > version if possible. > Instead of reverting I would suggest to look if it is possible to provide a patch to change the SqueezeCenter internals to make a more public mixer API. Let me know if you like to try to do this and want the code I started on and I'll try to find it. I've had the exact same problem in Custom Browse and decided to re-implement the mixing code as a Custom Browse specific mixer API which is a bit less dependent on who the caller is. The disadvantage of this is that no standard mixers work for Custom Browse, so I re-implement the MusicIP mixer by using a private function in the MusicIP plugin and implement duplicate mixers in all my other plugins, one when launched from BrowseDB and one when launched from Custom Browse. As you probably remember, there is an enhancement request available regarding this: http://bugs.slimdevices.com/show_bug.cgi?id=4451 -- erland Erland Isaksson 'My homepage' (http://erland.isaksson.info) 'My download page' (http://erland.isaksson.info/download) (Developer of 'TrackStat, SQLPlayList, DynamicPlayList, Custom Browse, Custom Scan, Custom Skip, Multi Library and Database Query plugins' (http://wiki.erland.isaksson.info/index.php/Category:SlimServer)) ------------------------------------------------------------------------ erland's Profile: http://forums.slimdevices.com/member.php?userid=3124 View this thread: http://forums.slimdevices.com/showthread.php?t=52013 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/lists/listinfo/plugins
