Reply To: Squeezelite not recognized as player

23. November 2016 at 19:17 #24145

Heiner,
Found this thread on github :-

Here’s a copy of the text (sometimes links have destinations moved/deleted) :-

austins68 commented 3 days ago • edited
I have had to upgrade to LMS 7.9 because of a ReadyNAS firmware upgrade. My Squeezer app stopped working at that point: it was unable to enumerate my players (actually only one). It works with LMS 7.7.

By experimenting, I was able to determine that the problem was that the reply to the initial CLI query “players 0 20 full_list:1” has changed between 7.7 and 7.9.

LMS 7.7 replies “players 0 20 full_list:1 count:1 playerindex:0 playerid:xx:xx:xx:xx:xx:xx uuid: ip:192.168.x.x:xxxx name:xxxxxxx model:squeezelite isplayer:1 displaytype:none canpoweroff:1 connected:1”
LMS 7.9 replies “players 0 20 full_list:1 count:1 playerid:xx:xx:xx:xx:xx:xx uuid: ip:192.168.x.x:xxxxx name:xxxxxxx seq_no:0 model:squeezelite modelname:SqueezeLite power:1 isplaying:0 displaytype:none isplayer:1 canpoweroff:1 connected:1 firmware:v1.8”
Looking at the Squeezer code, I had a hunch that the “playerindex” parameter was important. I patched the function _addPlayersLoop in /usr/share/perl5/Slim/Control/Queries.pm on my LMS 7.9 to include the parameter, and this did indeed enable Squeezer to work.

I’m leaving this workaround in place, but the correct fix is probably to allow Squeezer to cope without the “playerindex” parameter.

I think this is a problem with interop with LMS 7.8 as well.

UPDATE: Here is a diff for the patch to the above-mentioned file, /usr/share/perl5/Slim/Control/Queries.pm. My version is 7.9.0 – 1479378558. This worked for me, but I offer no warranty. Apply this at your own risk and then restart your LMS service.

*** a/Queries.pm 2016-11-20 21:23:43.549509849 +0000
— b/Queries.pm 2016-11-20 21:24:56.434742441 +0000
***************
*** 2346,2351 ****
— 2346,2353 —-
if (scalar(@players) > 0) {

for my $eachclient (@players[$start..$end]) {
+ $request->addResultLoop(‘players_loop’, $cnt,
+ ‘playerindex’, $cnt);
$request->addResultLoop(‘players_loop’, $cnt,
‘playerid’, $eachclient->id());
$request->addResultLoop(‘players_loop’, $cnt,

As M2P requires 7.9 nightly and as the current version of Squeezer is 1.4.1 then you are going to get more people with this issue
It ‘may’ be worthwhile you preparing a patch to apply in a M2P release as otherwise a few people will be getting as frustrated as me.
The Google group does not seem to be active and Nik Clayton seems to be permanently “away from keyboard”
Cheers
Mark