Bugzilla – Bug 14061
XMLBrowse CMs should work like Local Music CMs
Last modified: 2009-10-05 14:29:23 UTC
Most Music Services (I tested Last.fm, Napster and Rhapsody) don't have context menus for playable items. That is, they DO have context menus but these menus are wrong: - None of them contains "Play/Add/Add-Next" items that are needed for "touch-to-play" to work - higher-level items, such as Playlists and Albums typically only contain their content, that is the list of tracks plus an "Add to library" item. Here, at least "Play/Add/Add Next" should be present plus the tracks should be removed
Right, music service items don't have context menus, they have special sub-menus that are sort of used as context menus.
No, they DO have context menus, these context menus are just wrong. Hold an album on Rhapsody on the Touch. Or try to add a single track from Rhapsody to a playlist on the touch.
OK, the bug is probably that that kind of item shouldn't have a context menu. You get the same 'album menu' whether you touch or touch-hold. Or, the code on the SC side needs to construct a context menu based on the type of item, but that's probably too hard for now.
Sorry, but for Rhapsody that won't do. From an iPeng perspective I'm fine as a context menu for a playable item either contains "play, add, add next" commands or no there is no context menu at all, unless you are on the lowst level, where I don't care at all. But for Touch and also Baby that won't do. Again: try to add a track on Rhapsody.
estimating 4 hrs because XMLBrowser is such a pita
== Auto-comment from SVN commit #7661 to the jive repo by bklaas == == https://svn.slimdevices.com/jive?view=revision&revision=7661 == Bug: 14061, 13969 Description: send a flag for requests on more handler to flag as a CM request. This is needed for SC's XMLBrowser to fork the request off to a special CM that is a playlist control menu
== Auto-comment from SVN commit #28573 to the slim repo by bklaas == == https://svn.slimdevices.com/slim?view=revision&revision=28573 == Fixed Bug: 14061, 13969 Description: fork any request that comes in with xmlBrowseInterimCM param to a special three item CM that only has controls for Add to End/Play Next/Play note: the Play Next in album context (e.g. Rhapsody or Napster album) does not work yet. This will have a separate bug filed against it. XMLBrowse CMs should be richer than this in content, but this is likely going to be where it stops for initial 7.4 release. This fix only deals with playable items in the XMLBrowse world. Rhapsody artists, for example, do not have CM support as they are not playable items.
You are aware that this change stripped the previously present "TrackInfo" menus out of Rhapsody? Apart from that: How do I get these context menus? I can see them on the Touch but I don't get them through iPeng.
give this tagged param to the command to have it return a three item CM xmlBrowseInterimCM:1 If you read comment #7 you'll see I'm aware that it removed trackinfo. Bug 14145 is the one to accomplish a better CM for XMLBrowse items. Not for 7.4.
Understand. Can I add this to any context menu or how do you identify those where you can? "menu:myapps"? Or is there any (other) way to know (on the client side) that a menu is an XMLBrowser menu? Am I correct to assume that the 3-item menu will just contain the same "play" "add" and "insert" commands that are already presented for the item (in the normal menu, not the context menu)? If this is the case I think for the time being I'll create the 3-item menu on the client side (I have this in anyway for 7.3-support) since this allows me to keep the TrackInfo menu (by just adding the three items to the menu).
The 3-item callback will work for any non-local item that is playable. Local music provide much richer CMs through the *info menus. so, it works e.g. Rhapsody albums Rhapsody tracks Napster albums Napster tracks Internet radio streams MP3tunes albums Pandora stations Slacker stations etc. It will not work for non-local items that are _not_ playable. A key example is a Rhapsody artist. Creating the three item CM on the client-side is certainly an option, given you know what the callback commands are for that item. Do your client-side callbacks work for, say, a Rhapsody album? a Rhapsody track?
I believe they do. The menus I build are just composed of the "play", "add" and "add-hold" commands you have in there anyway so as long as the menu works on the controller I believe I will be safe as to that part. The hard part on the client side is to determine whether something is actually playable. I was missing a few cases and maybe still do, but the ones I found so far are ones that don't work anyway (e.g. News Ticker->BBC->Item->Play) so I'm confident you will fix this :-) I did NOT test MP3tunes and Pandora but Napster, Last.fm and Rhapsody work fine. I'm also more confident that this is going to work with 3rd party plugins like AlienBBC, BBC iPlayer, NPR Radio etc. I mainly do this because I handle tracks a bit different from you (I usually try play the whole album no matter what if you tap a track, from that track on, that is).
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.