Kodi Community Forum
[ARCHIVED - WON'T UPDATE] XSqueeze - Squeezebox player for XBMC - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Program Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=151)
+---- Thread: [ARCHIVED - WON'T UPDATE] XSqueeze - Squeezebox player for XBMC (/showthread.php?tid=122199)



RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - mark3206 - 2016-11-27

Hi,

I'll be upfront. I'm new to Xsqueeze and LMS but I do have LMS working with 3 other non-kodi players.

I've got an RPi3 with with an addon sound card (hifiberry digi+) and a fresh install of libreELEC/kodi. Its taken quite a number of hours to get to the point where I have xsqueezelite working from the command line (with exactly the same parameters that XSqueeze suggested in the debug log). But unfortunately I can't get XSqueeze working correctly from the Confluence Skin. If I add a delay in the troubleshooting screen for the player startup, xsqueezelite starts up and sound comes through, however once the delay has been reached, it shuts down.

If I look at the debug log I see:
Code:
22:09:22  98.385109 T:1756435360   DEBUG: ### XSqueeze - 1.2.4 ### Connected to: 00:00:00:00:00:01
22:09:22  98.389587 T:1756435360   DEBUG: ### XSqueeze - 1.2.4 ### Power state is: True
22:09:22  98.426079 T:1756435360   DEBUG: ### XSqueeze - 1.2.4 ###  Error in initialisation of XSqueeze after connection to: 00:00:00:00:00:01
22:09:22  98.435181 T:1756435360   DEBUG: ### XSqueeze-1.2.4 ### Exception:Traceback (most recent call last):
                                              File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/XSqueezeCommon.py", line 128, in __init__
                                                self.updatePlaylistDetails()
                                              File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/XSqueezeCommon.py", line 364, in updatePlaylistDetails
                                                self.playlist = self.sb.playlist_get_info()
                                              File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/pylms/player.py", line 362, in playlist_get_info
                                                item['duration'] = float(item['duration'])
                                            KeyError: 'duration'
22:09:22  98.435516 T:1756435360   DEBUG: ### XSqueeze - 1.2.4 ### ### Failed to create SqueezePlayer object

I have:
  • disabled GUI sounds
  • disabled "keep audio device alive"
  • and setup a shortcut and launched Xsqueeze from the home page

I've run out of steam tonight so would really appreciate any pointers if someone has seen this issue before, and apologies in advance if this is a common problem with a simple/obvious answer.
The full debug log can be found at https://paste.ubuntu.com/23542468/

Thanks


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - bossanova808 - 2016-11-28

@mark3206

Well that's an odd one - your playlist from the server is not returning track durations its seems. Are you playing something odd? Maybe try with local music if you haven't (e..g you're using radio/streaming). That's really weird though, I've can't recall ever seeing an issue there from anyone else.

Ok I have created a possible fix - you need to replace player.py in script.module.XSqueezeCommon/lib/pylms with this one: http://pastebin.com/fRCEhj6z

...that will just use 0.0 as a dummy value if no duration comes back.

Can you test it and let me know?


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - bossanova808 - 2016-11-28

@NickW Wiki now updated, thanks!


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - nick w - 2016-11-28

Super. Great work!


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - mark3206 - 2016-11-28

Hi,

bossanova808 wrote:

> Well that's an odd one - your playlist from the server is not returning track durations its seems. Are you playing something odd? Maybe try with local music if you haven't (e..g you're using radio/streaming). That's really weird though, I've can't recall ever seeing an issue there from anyone else.

I'm playing local music and there is nothing weird with the music :-)

> Ok I have created a possible fix - you need to replace player.py in script.module.XSqueezeCommon/lib/pylms with this one: http://pastebin.com/fRCEhj6z
>
> ...that will just use 0.0 as a dummy value if no duration comes back.
>
> Can you test it and let me know?

Yeh, your fix worked. After a few seconds the player screen came up and filled in the LHS correctly with track, artist etc and all the track durations etc. Got nothing on the RHS of the player screen but that may be my LMS or XSqueeze config?

Anyway, I'm smiling. Thanks very much.

I will try setting up a different LMS server and I'll restore your original code to see if that makes a difference, but I probably can't get to that until the weekend.


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - mark3206 - 2016-12-03

I've setup up a second LMS and tried connecting to it with the the original code and then the "fix" code. The original code didn't work but the "fix" code did.

The LMS servers have both been running the latest nightly builds, the first was a Windows machine and the second was a pi2 running raspbian.

I haven't yet tried a second kodi. I might give that a go tomorrow.


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-13

Hello everybody,
I'm relatively new to Kodi, but already got the fever. I come from piCoreplayer where LMS and Squeezelite player reside on the same machine. So I tried to achieve this with Kodi on a Raspi 3 with the latest LibreElec, too, using XSqueeze (thanks so much for this plugin, Bossanova!) and LMS inside Docker. Before, I used Kodi/XSqueeze with the LMS running on another Raspi in my network.
In spite of beeing rather a Linux noob, I was pretty successful and got LMS running inside Docker on the Kodi machine. LMS scans the media folder, and I can connect to it from other machines and apps (iPeng...).
My problem is, however, that after changing the LMS server to the local machine, XSqueeze won't start any longer, claiming that it can't connect to the server. When configuring XSqueeze using LMS auto discovery, libreelec2-service is found and the IP of the machine running Kodi/Xsqueeze and the Docker LMS is filled in correctly. I've also tried using 127.0.0.1 instead, but the problem is the same.
LMS is running:
Code:
LibreELEC2:~ # docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                                                                              NAMES
386047087de3        heziegl/rpi-lms:7.8.1   "/entrypoint.sh"    17 hours ago        Up 17 hours         0.0.0.0:3483->3483/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:3483->3483/udp, 9090/tcp   service.lms
This is what the log says:
Code:
23:05:09 16973.787109 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### XSqueeze (Author: bossanova808) Starting ...
23:05:09 16973.787109 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Called as: ['default.py']
23:05:09 16973.789062 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Installed custom keymap
23:05:09 16973.789062 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Suspended XBMC AE
23:05:09 16973.789062 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Starting local player [squeezelite], system is [arm]
23:05:09 16973.791016 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Attempting to start player: ['/storage/.kodi/addons/script.xsqueeze/resources/bin/arm/squeezelite', '-m', '02:01:02:01:ab:ab', '-o', 'default:CARD=ALSA', '-a', '80', '-s', '192.168.50.109']
23:05:09 16973.791016 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Path is: ['/storage/.kodi/addons/script.xsqueeze', '/storage/.kodi/addons/script.module.b808common/lib', '/storage/.kodi/addons/script.module.xsqueezecommon/lib', '/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/gtk-2.0', '/storage/.kodi/addons/script.xsqueeze/resources/lib/classes', '/storage/.kodi/addons/script.xsqueeze/resources/lib']
23:05:09 16973.810547 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Process ID for player is 2412
23:05:09 16973.810547 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Brief pause for dust to settle - 1
23:05:11 16975.824219 T:1787556768 WARNING: CSkinInfo: failed to load skin settings
23:05:11 16975.865234 T:1787556768   ERROR: Traceback (most recent call last):
23:05:11 16975.867188 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.xsqueeze/resources/lib/classes/NowPlayingWindow.py", line 211, in __init__
23:05:11 16975.869141 T:1787556768   ERROR:     self.player = SqueezePlayer()
23:05:11 16975.869141 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/XSqueezeCommon.py", line 98, in __init__
23:05:11 16975.871094 T:1787556768   ERROR:     self.sc.connect()
23:05:11 16975.871094 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/pylms/server.py", line 58, in connect
23:05:11 16975.871094 T:1787556768   ERROR:     self.telnet_connect()
23:05:11 16975.871094 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/pylms/server.py", line 66, in telnet_connect
23:05:11 16975.871094 T:1787556768   ERROR:     self.telnet = telnetlib.Telnet(self.hostname, self.port)
23:05:11 16975.873047 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/telnetlib.py", line 211, in __init__
23:05:11 16975.873047 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/telnetlib.py", line 227, in open
23:05:11 16975.873047 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/socket.py", line 575, in create_connection
23:05:11 16975.873047 T:1787556768   ERROR: error: [Errno 111] Connection refused
23:05:11 16975.873047 T:1787556768   ERROR: Traceback (most recent call last):
23:05:11 16975.873047 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.xsqueeze/default.py", line 369, in <module>
23:05:11 16975.875000 T:1787556768   ERROR:     window = NowPlayingWindow("XSqueezeNowPlaying" + version_stub + ".xml",CWD,"Default")
23:05:11 16975.875000 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.xsqueeze/resources/lib/classes/NowPlayingWindow.py", line 211, in __init__
23:05:11 16975.875000 T:1787556768   ERROR:     self.player = SqueezePlayer()
23:05:11 16975.875000 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/XSqueezeCommon.py", line 98, in __init__
23:05:11 16975.875000 T:1787556768   ERROR:     self.sc.connect()
23:05:11 16975.875000 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/pylms/server.py", line 58, in connect
23:05:11 16975.875000 T:1787556768   ERROR:     self.telnet_connect()
23:05:11 16975.875000 T:1787556768   ERROR:   File "/storage/.kodi/addons/script.module.xsqueezecommon/lib/pylms/server.py", line 66, in telnet_connect
23:05:11 16975.875000 T:1787556768   ERROR:     self.telnet = telnetlib.Telnet(self.hostname, self.port)
23:05:11 16975.876953 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/telnetlib.py", line 211, in __init__
23:05:11 16975.876953 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/telnetlib.py", line 227, in open
23:05:11 16975.876953 T:1787556768   ERROR:   File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/socket.py", line 575, in create_connection
23:05:11 16975.876953 T:1787556768   ERROR: error: [Errno 111] Connection refused
23:05:11 16975.876953 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Doing Cleanup
23:05:11 16975.876953 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Killing player process...
23:05:11 16975.876953 T:1787556768  NOTICE: ### XSqueeze - 1.2.4 ### Pausing for 2, per request in XSqueeze settings.
This is my LMS script for docker:
Code:
[Unit]
Description=%p container
Requires=service.system.docker.service
After=service.system.docker.service

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /storage/%p/config /storage/%p/data"
ExecStart=/storage/.kodi/addons/service.system.docker/bin/docker run \
          --rm \
          --name=%p \
          --hostname=libreelec2-%p \
          --volume=/tmp/squeezebox:/srv/squeezebox \
          --volume=/var/media/Media-Fotos/lala:/srv/music \
          --publish=9000:9000 \
          --publish=3483:3483 \
          --publish=3483:3483/udp \
          heziegl/rpi-lms:7.8.1
ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop %p

[Install]
WantedBy=multi-user.target

I'm not sure whether this might be a question of rights/owners conflicts between Kodi/XSqueeze and the Docker image and, even worse: if so, I'd have no clue on how to fix it.

So I was hoping that Bossanova could give me a helping hand...? I've read in this thread that sb. has achieved it, but unfortunately he didn't say how...

Best regards
Martin


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-13

hmmm, I think I found the error - --publish=9090:9090 was missing. Can't check it as I'm not @Home at the moment, but at least Kodi (incl. XSqueeze autostart) now reboots without errors.
Will report this evening
Regards
Martin


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-13

Well, it wasn't the solution, even if Xsqueeze started once without complaining. But after rebooting the Raspi, everything stays the same as described in my post above...
Any idea what I could try?


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - bossanova808 - 2016-12-14

Hmmm, I don't really know anything about Docker. Main thing is XSqueeze uses the old CLI for it's connection, so you just need to check that ports etc are open for that.

The default port for that is 9090. You also need to make sure that 9000 is open IIRC, and some kodi services can stomp on that.

BTW I would use 7.9 if you can...lots of fixes since the 7.8 days...


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - bossanova808 - 2016-12-14

@mark3206 Well something is odd or different about your setup vs. the normal, as it's well tested and if the fix works it's your server not returning a duration at at least one point when it should.

The RHS is basically an embedded artist.slideshow so you need that addon running successfully for that to show up.

I'm kinda hesitant to push a fix no one else seems to need, without understanding it better. I'll try updating my LMS to the very latest nightly at home and trying it there...but it's worked for years this way, so seems a bit odd/random.


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-14

(2016-12-14, 04:44)bossanova808 Wrote: Hmmm, I don't really know anything about Docker. Main thing is XSqueeze uses the old CLI for it's connection, so you just need to check that ports etc are open for that.
The default port for that is 9090. You also need to make sure that 9000 is open IIRC, and some kodi services can stomp on that.
BTW I would use 7.9 if you can...lots of fixes since the 7.8 days...
It seems that there is quite a bunch of problems which are difficult to trace down (at least for me):
  • Right after installation, the Docker-LMS ist able to scan the entire mp3 collection in the folders defined in the setup script. After a reboot, the db ist empty agian, and furthermore, the folder structure containing the mp3 files is not longer opened in LMS media folder selection. I.e., the link between the physical /var/media/Media-Fotos/lala and the virtaul /srv/music seems to be broken. The folder "music" can be selected, but doesn't display its subfolders. Scan result therefore: 0 files found. I imagine that this has to do with write rights for the user the Docker LMS is running with.
  • XSqueeze starts with the Docker LMS, but only after one or more "systemctl restart kodi". I imagine that this is a timing problem. It even shows the Spotify plugin I had installed for LMS and connects ok to spotify; playback, however, doesn't work. Anyway, as the LMS database is empty, there is nothing to be played locally.
  • Couldn't find a Docker image wit LMS 7.9 for Arm. The 7.8 I tried with seems somewhat experimental, with no documentation at all.
As my skills are not sufficient neither to fix all these points nor to create a 7.9 Docker image by myself, I'll have to desist from the idea to have the latest Kodi and the latest LMS on the same machine :/
Regards
Martin


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-17

Hi,
I'm trying to get Squeezelite audio to my bluetooth speaker. System sounds and sound from other Kodi sources (e.g. Mediathek videos) are already working. And I'm sure that a couple of weeks ago when I first installed Libreelec with Xsqueeze, I had BT audo working for Squeezelite, too. I remember that in the Xsqueeze settings, when selecting audio device discovery, Bluetooth was scrolling along with the Alsa devices.
As far as I understand, for using BT with Xsqueeze you have to achieve some kind of Alsa<> PulseAudio bridge. But I wasn't able to find information on how to achieve this.
Has anybody achieved this (and if so, how?)
Best regards
Martin


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - bossanova808 - 2016-12-17

@streampunk - My advice is to drop to the commandline and get it working manually there with squeezelite. Then transfer the same settings back to XSqueeze...


RE: [RELEASE]XSqueeze - Squeezebox player, music chooser and visualiser for XBMC - streampunk - 2016-12-23

Well, if've been trying for many hours during the last days, and I can fully confirm what can be read in many forums: trying to get Bluetooth audio to work (aka "The blue circle of hell") seems fairly impossible at this moment. I've seen the will of so many brave (and experienced) men broken that I've decided to give up until sb. with much better knowledge of Debian/Raspi finds a solution and is willing to share it.
While Bluetooth audio does work with all (?) other Kodi apps, it seems virtually impossible to get it working with XSqueeze. The reasons seems to be that "BlueZ 5 dropped support for alsa [1], so the solution for now (until someone updates some bluez-alsa project for BlueZ 5) is to use PulseAudio." (from https://github.com/ev3dev/ev3dev/issues/198). And XSqueeze needs, as far as I understand, that the Bluetooth device shows up as an Alsa device.
I have to admit that I didn't manage to get Bluetooth to work with Squeezelite at command line level either, inspite of a correct pairing an connecting.
As a round up, I invested 10 Euros in Max2Play's extended version because I wanted to se the working Bluetooth solution for the integrated Squeezelite player they claim to have. But not even the scanning of available Bluetooth devices is working until now, ending up with a dry advice "Use BluetoothCTL Manager".
If anybody has some advice or is willing to share experiences, please let me know. As BT audio (pulseaudio) does work with Kodi Video, Music etc. in Libreelec, there should be a way.
Best regards
Martin