Bugzilla – Bug 9289
The command "playlist play $pl" does not set name of playlist for client
Last modified: 2009-10-05 14:25:38 UTC
If i use the command "playlist play $pl", the SqueezeBox starts playing the new playlist and the SqueezeCenter web interface displays all the tracks in this playlist. The new playlist is not set as currentPlaylist for Slim::Player::Client. The playlist is not displayed as current playlist in the web interface either (bottom right). This affecs the xPL interface and Slim::Control::Request->executeRequest(... "playlist play <item>"...), too I think the problem is in the Slim::Control::Commands->playlistXitemCommand. The url of the new playlist is checked if its a local file or db entry. If true, the tracks are loaded from the database and is added to the client. In my oppinion the call "$client->currentPlaylist( Slim::Utils::Misc::fixPath($path) );" is missing in this if statement.
Can you be more specific as to where the problem is? Can you provide a patch? Please try 7.3.
The bug still exists in 7.3. The problem is that if you start a playlist via the audio.slimserv "playlist play $plName" command, the squeezebox starts playing and the web-interface displays all the tracks, but it does not display the name of the playlist at the bottom of the client part. If you start the same playlist via the web interface the client part displays the name of the playlist ("Current Playlist: plName"). I've created a workaround for the xPL plugin when starting the playlist: Slim::Control::Request::executeRequest($client, ["playlist", "play", $plName]); $client->currentPlaylist($plName); $client->currentPlaylistModified(0); But I think the bug is somewhere in Slim::Control::Commands->playlistXitemCommand.
The above workaround is not correct. But this one is: Slim::Control::Request::executeRequest($client, ["playlist", "play", $pl->name]); $client->currentPlaylist($pl); $client->currentPlaylistModified(0); The $client->currentPlaylist() needs the playlist object, not the name of the playlist. So the command Slim::Control::Request::executeRequest($client, ["playlist", "play", $pl->name]); does not set the new playlist to the specific $client object.
Try something like this (it sets the playlist title for add/load commands after it finds a remote or file url. To test, you'll need the source code and run using activePerl). More needs to be done, as this line is redundant for cases where $path is not a fileURL or remoteURL. Index: Slim/Control/Commands.pm =================================================================== --- Slim/Control/Commands.pm (revision 25017) +++ Slim/Control/Commands.pm (working copy) @@ -1367,6 +1367,7 @@ if ($cmd =~ /^(play|load)$/) { $jumpToIndex = 0; + $client->currentPlaylist( Slim::Utils::Misc::fixPath($path) ); } elsif ($cmd eq "resume" && Slim::Music::Info::isM3U($path)) {
We are now planning to make a 7.3.3 release. Please review your bugs (all marked open against 7.3.3) to see if they can be fixed in the next few weeks, or if they should be retargeted for 7.4 or future. Thanks!
Since there's now a planned 7.3.3 release, bugs which won't make the cut-off are being moved to the next target out. If you feel that this bug needs to be addressed more (or less) urgently than the 7.4 release, please cc chris@slimdevices.com and leave a comment in the bug to that effect so we can review it. Thanks.
For some reason Bugzilla did not change the target when I did this yesterday. Or maybe it was me. In either case, I'm trying it again.
This seems to work in version 7.3.2
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.