Bug 8670 - JIVE_DELETE_PLAYLIST needs to be split to two tokens
: JIVE_DELETE_PLAYLIST needs to be split to two tokens
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Localization
: 7.1
: PC Other
: -- normal (vote)
: 7.x
Assigned To: Ben Klaas
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-07-08 10:29 UTC by Ben Klaas
Modified: 2009-07-31 10:24 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Klaas 2008-07-08 10:29:05 UTC
The EN string for JIVE_DELETE_PLAYLIST has a %s wildcard in it, which works for the invocation of that token in Commands.pm, but not in Queries.pm. I think two strings may be necessary in 7.2 JIVE_DELETE_NAMED_PLAYLIST and JIVE_DELETE_PLAYLIST, for the two different contexts.

I have a 7.1 workaround that I'll checkin to deal with the immediate problem without requiring any further translation updates.
Comment 1 Ben Klaas 2008-07-08 10:31:58 UTC
7.1 change 21587 has a workaround for the bug. Needs proper handling in 7.2
Comment 2 Ben Klaas 2008-07-25 07:59:31 UTC
punting to 7.3
Comment 3 Luke Redpath 2008-09-07 20:42:30 UTC
The fix for this bug introduced in 21587 seems to have inadvertently broken the CLI command "playlists tracks". Whilst it is still possible to use this command using the CLI over TCP (but there will be an error in the Queries log) it completely breaks it using the JSON/RPC interface, causing the server to return an HTTP server error.

The error from the Queries log is the same when using the JSON/RPC interface or the CLI:

"Slim::Control::Request::execute (1792) Error: While trying to run function coderef [Slim::Control::Queries::playlistsTracksQuery]: [Can't call method "string" on an undefined value at /Users/luke/Library/PreferencePanes/SqueezeCenter.prefPane/Contents/server/Slim/Control/Queries.pm line 5194."

My knowledge of Perl and the SqueezeCenter code base is basic at best however examining the code, it seems the problem is that the code is calling $request->client->string() whereas before it was calling $request->string(). The error message suggests that $request->client is null/undefined which makes sense as the "playlists tracks" API does not expect a player id to be specified.

Reverting this changes fixes this issue however I expect the only fix needed is to use $request->string() instead of $request->client->string().

In the meantime, it is possible to work around this bug if you are using the JSON/RPC interface by specifying a player id in front of the command, so:

<playerid> playlists tracks 0 100 playlist_id:1

works, but the following, as described in the CLI docs:

playlists tracks 0 100 playlist_id:1

does not.
Comment 4 Michael Herger 2008-09-09 06:13:52 UTC
Good find! Please note that this shouldn't be a problem as long as you've connected a player.

change 23117 fixes this behaviour.
Comment 5 Ben Klaas 2008-11-10 09:12:48 UTC
I believe this bug has been fixed. Please reopen as necessary
Comment 6 James Richardson 2008-12-15 12:05:16 UTC
This bug has been fixed in the 7.3.0 release version of SqueezeCenter!

Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already.  

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 7 Chris Owens 2009-07-31 10:24:15 UTC
Reduce number of active targets for SC