Philip Meyer;559661 Wrote: 
> >But you will find that if you remove CustomBrowse and TrackStat all of
> >a sudden it will only use half of that.
> I know - but that's not due to a few options, or a bit of code to
> support the options.
> 
> I actually think it would be better to split CustomBrowse into a
> smaller plugin for core stuff, and one or more extra plugins that can
> be installed if required.  eg. for custom menu configuration through
> templates, another one for mixers, maybe one for headers/footers (which
> I'm sure is not customised by many people, as this is advanced/scary!).
> 
> There are actually only ~12 options for the CustomBrowse plugin
> settings.  Some of these could potentially be removed; eg. hard-code
> the location of various directories.  Menu name and position could be
> hard-coded; SBS core functionality (or another plugin) should allow all
> menus to be configured.  I doubt there's much code/resources being
> consumed behind any of these options, and 12 is not a large scary
> number.
> 
> Other configuration stuff is for managing menus within Custom Browse. 
> Maybe this consumes a lot of memory, and is not often used.  i.e. once
> set up, a user may use the menus, but doesn't need to HTML
> configuration screens very often.
> 
I'm talking about the menu configuration options, not the 12 generic
Custom Browse options.

Regarding memory and startup performance, the current approach means
that all the available menu configuration files (*.xml/*.template
files) needs to be parsed and kept in memory/cache. I think I currently
have all the visible files in memory which I suspect uses a lot of
memory. Also, the code to handle all these variants probably also
requires a lot of memory. To get decent startup performance I do the
parsing once after a menu has been changed and cache the parsed result,
without that the startup performance would be totally unacceptable. It
would probably be possible to cache the configuration to disk instead
of having it in memory to decrease the memory usage a little bit. I
suspect it's the configuration data that causes the memory usage but
there is also quite a bit of perl code in the Custom Browse plugin so
the code itself could also be a problem.

I believe the extensive configuration possibilities was the right way
to go when I implemented them, because at that time neither I nor
anyone else knew what we wanted. Today, when people has used Custom
Browse a bit, it should be possible to collect the most used features
and make something simpler that solves those problems.

Anyway, I think I'll need to think about this a bit more and also get
some more information from Logitech regarding where they are heading
before doing any major work. 

A psychological problem is also that it's fun doing new stuff but it's
not that much fun maintaining old stuff, especially if you barley use
it yourself. I had some hope that someone from Logitech would have
picked up the needs and implemented something in the core product to
support flexible browsing at this time. As with many of my plugins, the
intention in the beginning was really just to show a concept/need, some
of them has grown quite a bit after that because none at Logitech
picked up or realized the need or didn't prioritize to make something
in the standard product that solved the problem. Logitech will of
course never implement something that contains the number of
configuration options that Custom Browse have, but I strongly believe
that most Custom Browse users would be happy with a lot less
configuration options, it's just a matter of figuring out which ones
that needs to be kept. The problem is just that it's hard to do this a
good way as a plugin, some limitations in the plugin API makes it
impossible to make it fit seamless with the other browse menus without
having to revert to hacking around the API as I've done in some places
in the Custom Browse code. It's easy to add extra menus, but it gets
hard if you like to get the same behavior as the standard ones or even
more if you like to replace a standard menu. 

Sorry if this got a bit off topic...


-- 
erland

Erland Isaksson
'My homepage' (http://erland.isaksson.info) (Install my plugins through
Extension Downloader)
(Developer of 'TrackStat, SQLPlayList, DynamicPlayList, Custom Browse,
Custom Scan,  Custom Skip, Multi Library, Title Switcher 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=76488

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to