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

Reply via email to