Andy- I did "one-off"s for RadioTime and ShoutCast in their respective
Plugin.pm files. If you fix those plugins to use the OPML base class,
you should also remove my code that was added in 19551.

Erland- custom menu items added by plugins will show up in this new
Customize Home menu applet without any additional code.

a little extra background on the nature of this:

there are two types of items delivered from SqueezeCenter to
Jive/Controller/SqueezePlay (hereafter referred to as Squeezeplay):

a. "Home Menu" items (delivered as individual items)
b. "Slimbrowse" items (delivered as full menus)

a. "Home menu" items are those items that are managed by Squeezeplay's
jive.ui.HomeMenu class, and includes not only items in the top-level
menu, but miscellaneous "nodes" below that level. Examples of "Home
menu" items are Home->Music Library->Genres,
Home->Settings->Screen->Wallpaper, and Home->Internet Radio. 

Each "home menu" items requires a unique ID that is used in the
management of these items, as well as a 'node', which tells Squeezeplay
where to place the item. Current examples of home menu nodes are 'home',
'settings', 'advanced', 'myMusic', and a special case 'hidden', which
I'll talk about below.

If you are adding items through a Plugin via 
Slim::Control::Jive::registerPluginMenu, these are "home menu" items.

Further, all home menu items (except one special case: settings, which
by design cannot be hidden from view) can be added to the top level via
the CustomizeHomeMenu applet, available in the most current 7.1
firmware.

b. "Slimbrowse" items are those menus delivered from SqueezeCenter to
SqueezePlay via a specific cli command. Examples of this are
Home->Music Library->Artists, Home->Music Library->Genres, and drilling
down further Home->Music Library->Genres->Acid Jazz->etc.

Slimbrowse items, unlike home menu items, are not available for adding
to the top level menu. So, if your plugin creates an item that calls a
custom cli command to produce the submenu selections, the top item from
your plugin can be added to the top level Squeezeplay menu, but not the
submenu items that are returned from the cli command.

The menus that are returned from Home->Internet Radio and Home->Music
Services menus on Squeezeplay are actually Slimbrowse items, so in
order to give the user the ability to add/remove individual items like
Pandora, Rhapsody, Staff Picks, and now that bug 8088 is fixed,
RadioTime and SHOUTcast, this required some new code on the
SqueezeCenter side. In order to make these items configurable for
adding to the top level menu, but otherwise not displayed as individual
home menu items, I attached them to a new 'hidden' node.

I hope that makes sense. It's not that simple to explain, but once you
understand the difference between the two types of items delivered from
SC, I think it should be fairly clear (I hope?).

cheers,
#!/ben

btw-- if you found that explanation useful, let me know and I'll try to
drop it into a wiki page.


-- 
bklaas

Logitech Developer: 
Squeezeplay/SqueezeOS/SqueezeboxController/SqueezeCenter
Community Developer: Nokia770Skin

http://www.last.fm/user/bklaas/
'KHAAAN!' (http://khaaan.com/)...'BUNNIES!'
(http://home.pacbell.net/bettychu/2003allbreedbisris/BIS.html)
------------------------------------------------------------------------
bklaas's Profile: http://forums.slimdevices.com/member.php?userid=58
View this thread: http://forums.slimdevices.com/showthread.php?t=47378

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

Reply via email to