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
