• 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 20
Squeezebox for Kodi
(2019-05-22, 17:56)ste976 Wrote: hello,
i wish to start squeezelite with a few more options (like: -W, and -D)

Can I add the options directely in the "main_service.py" file in the function "start_squeezelite", where the list "args" is created?
or the addon is actually using the compiled file?

are there  other methods i can use?


thanks a lot
Bump...

Could someone please advise on how to start squeezelite with custom arguments please?

Does a new file need to be created or an existing file need to be modified?

Any help would be greatly appreciated.

Thanks!
Reply
(2018-09-20, 23:56)NewTomorrow Wrote: Just for future reference -

I do not know what is actually causing the issue nor have I really looked or tracked Kodi's messaging, but commenting out:

code:
    def onPlayBackStopped(self):
        '''Kodi event fired when playback is stopped'''
        if self.is_playing:
            self.lmsserver.stop()
            log_msg("playback stopped")
        self.is_playing = False

from the plugin's player_monitor.py corrected my afore mentioned issue of the playback being forced stopped.

Kodi 18 Milhouse #0910, RPi3

Question. For all those who have commented this out, can you stop the playback with the stop command in kodi? Looks like it solves the playback stopping issue but disables the ability to stop the audio. I am also using RasberryPi3 Libreelec 9.0.2 Kodi 18.2.
Reply
(2019-08-19, 21:56)Marbieskarb Wrote:
(2019-05-22, 17:56)ste976 Wrote: hello,
i wish to start squeezelite with a few more options (like: -W, and -D)

Can I add the options directely in the "main_service.py" file in the function "start_squeezelite", where the list "args" is created?
or the addon is actually using the compiled file?

are there  other methods i can use?


thanks a lot
Bump...

Could someone please advise on how to start squeezelite with custom arguments please?

Does a new file need to be created or an existing file need to be modified?

Any help would be greatly appreciated.

Thanks! 

I think its line 205/236 of main_service.py in the resources dir
Reply
(2019-10-09, 04:57)skarragallagher Wrote:
(2018-09-20, 23:56)NewTomorrow Wrote: Just for future reference -

I do not know what is actually causing the issue nor have I really looked or tracked Kodi's messaging, but commenting out:

code:
    def onPlayBackStopped(self):
        '''Kodi event fired when playback is stopped'''
        if self.is_playing:
            self.lmsserver.stop()
            log_msg("playback stopped")
        self.is_playing = False

from the plugin's player_monitor.py corrected my afore mentioned issue of the playback being forced stopped.

Kodi 18 Milhouse #0910, RPi3

Question. For all those who have commented this out, can you stop the playback with the stop command in kodi? Looks like it solves the playback stopping issue but disables the ability to stop the audio. I am also using RasberryPi3 Libreelec 9.0.2 Kodi 18.2. 
Hi, no I can´t ether. Have the same issue here. I use Coreelec 9.2.0 with Kodi 18.4.
Reply
(2017-05-07, 21:30)marcelveldt Wrote: Squeezebox for Kodi

Transform Kodi in a Squeezebox player with this addon.
It started as something for my own personal use but I figured with a few additional touches it can be usefull to others too.

Altough Logitech stopped producing the Squeezeboxes several years ago, the platform is still very popular and in active development by the opensource community. Sure, systems like Sonos and Heos might be superior in ease of use but they're also (in my opinion) very expensive. I wanted to have a way to have multi-room music with an ocassional need of syncing audio between players using my existing components such as Kodi Intel NUC's and raspberry pi's, including support of my Hi-Def audio tracks on disk and my Spotify playlists.

The Squeezebox setup with the Logitech Media Server is perfectly capable of doing all that, including support for a wide range of other devices in the mix such as Airplay devices. You can have a combination of original squeezeboxes, pc's with Squeezelite (software player for Squeezebox), Airplay devices and even Chromecast devices and let them all play your favorite tunes. There are even some nice projects available to turn a Raspberry Pi into a squeezebox like PiCoreAudio and Max2Play.

For all additional rooms such as kitchen, outside and my office, I use headless Pi's with PiCoreAudio connected to some actve speakers.
Offcourse in for example the living room I have Kodi running as my all-in-one media solution and I didn't want to add another box in there just to play audio.
That's where Squeezelite comes in play, a nice piece of software that you can install on about any platform to make it play the sounds from the Squeezebox server (Logitech Media Server).

Squeezelite on it's own does it's job very great and you can install it side to side with Kodi on your setup but I was missing the interaction with kodi. Especially the "Now Playing" screen so I can watch some artwork and artist info while track are playing. That's when I decided to create something to fill that gap so I could have the benefits of the centralized audio control of LMS combined with the great Kodi software.

I realize there's already an addon for Kodi, named Xsqueeze but it's rather outdated and it's based on custom dialogs which is something I didn't want (personal taste, the Xsqueeze addon is other than that great software offcourse).

So, how does this work ? At first I tried to feed Kodi with the audiostream directly from the Squeezeserver by using the Squeezelite source but I finally gave up on that as I couldn't get it stable enough, especially when sync comes in play. Offcourse doable maybe somewhere in the future but it will require a fair amount of work and tight integration into the Kodi source code.

To have something ready sooner I had the idea to just "trick" Kodi that it's playing something and instead use the default, well known and well working Squeezelite software to handle the playback directly to the sound device.

And that is exactly what this add-on does, it feeds Kodi with a 100% silent PCM audio stream so that the "Now Playing" screen will show up whenever Squeezelite is pumping audio to the speakers. It's basically just one big workaround but it works pretty great. As soon as you start Kodi, this addon will auto start Squeezelite in the background and it will poll the server for changes every second. Everything is supported like playlist handling, skipping tracks, pause, stop, syncing etc.

Features

- Auto start Squeezelite in the background (can be disabled in the addon settings if you start squeezelite yourself, for example on Max2Play devices).
- Registers as a sqeezeplayer in the LMS server with the MAC address that is reported by Kodi.
- Auto detects the LMS server in the network and connects to the first instance it finds.
- Auto detects the default (ALSA) sound device and use that for audio playback.
- Plugin entry (audio addon) to browse your media on the LMS server, including apps like Spotify etc.
- Because the plugin entry you can use native Kodi library windows to navigate your media, including creation of widgets etc.
- Supports Windows, MacOS, Linux x86/x64, Libreelec (possibly also Raspbmc but I didn't test it)
- Supports Android if you install a Squeezebox player app (like SB Player)
- Supports iOS if you install a Squeezebox player app (like iPeng)
- Primary acts as both a player and a controller but can also be set to acts as controlled for another player. In that case set the addon settings to not start squeezelite and configure the Mac address manually. This is also used on Android where SB Player (or other) is actually playing the audio.


Instructions / Notes

- Install this add-on from my Kodi addon repository, that way all dependencies will be installed and you will get updates instantly. Please do not install directly from Github if you want to ask support on the forums.
- Libreelec users: Make sure you have the mediatools addon installed as that includes Squeezelite !
- You need to have a LMS Server on your network, for example installed on your NAS.
- This addon only utilizes the more recent Json API of LMS-Server, the older telnet API is not used, so you need a recent version of the LMS server. I've tested it with LMS server version 7.9 myself.
- Make sure the LMS server doesn't require authentication for internal connections. I did not yet implement support for authentication.
- I have tested the addon on Windows, MacOS and libreelec running on a Pi. Remember, this considered beta software. Altough I spent a fair amount of optimizing it and it works in my scenario, bugs can happen. In that case, or if you have a request to improve it, feel free to let me know on the forums. In case of asking for support when an issue arrises, please include as much info as possible about your setup including the error message in the Kodi log or the entire Kodi logfile itself. Also, Pull requests on Github to optimize the addon are always welcome, feel free to contribute!

TODO/On my wishlist
- Integrate with my Spotify addon so you can use the Spotify app to interact with the LMS-server
- Add "Play with LMS" contextmenu options to play any media in Kodi through the LMS-server (e.g. for synced audio in multiple rooms)

I hope this addon brings some joy to others too, have fun!


To install, grab the addon from my Kodi repository:
https://github.com/marcelveldt/repositor...-1.0.1.zip
Reply
HI 

I have a bug with your Squeezeboxe for Kodi on OSMC 18.5

Raspberry pi3b

message : Attribute :error module object has no attribue 'isBTPlayerActive 
Error type: type exception Attribute error

What can i do

Thank you
Reply
Does anyone have an idiots step-by-step install/config instructions for the Squeezebox addon for Libreelec 9.2.0 on RPi3?

I've had a few attempts at installing this on both Libreelec (RPi) and Kodi (Mac) both pointing to a LMS 7.9.2 on a Synology NAS without success.

The Kodi (Mac) connects to LMS, but only plays a couple of seconds before stopping.

The Libreelec (RPi) installs says it can't connect to the LMS server, though the IP and port are correct.

On the Libreelec I've installed the mediatools addon, but not sure if it's working correctly.
I try to start squeezelite manually (./squeezelite-arm) but I get permission denied, so I'm not sure how to test the manual invocation.
I thought I saw a post that squeezelite needed to be updated, but I can't refind that post.

Before I start digging deeper, if anyone's got a current set of steps for Libreelec 9.2.0 on RPi 3 it would be great to get some helpful pointers.

Cheers.
Reply
(2020-02-18, 11:19)kidhazy Wrote: Does anyone have an idiots step-by-step install/config instructions for the Squeezebox addon for Libreelec 9.2.0 on RPi3?

I've had a few attempts at installing this on both Libreelec (RPi) and Kodi (Mac) both pointing to a LMS 7.9.2 on a Synology NAS without success.

The Kodi (Mac) connects to LMS, but only plays a couple of seconds before stopping.

The Libreelec (RPi) installs says it can't connect to the LMS server, though the IP and port are correct.

On the Libreelec I've installed the mediatools addon, but not sure if it's working correctly.
I try to start squeezelite manually (./squeezelite-arm) but I get permission denied, so I'm not sure how to test the manual invocation.
I thought I saw a post that squeezelite needed to be updated, but I can't refind that post.

Before I start digging deeper, if anyone's got a current set of steps for Libreelec 9.2.0 on RPi 3 it would be great to get some helpful pointers.

Cheers.
Edit:

Had some progress.

1) Updated RPi config.txt to get the audio 'card'
I added this to my config.txt
#audio param squeezebox
dtparam audio=on

2) Squeezebox couldn't seem to start/find squeezelite.
I found mediatools installed squeezelite at ~/.kodi/addons/virtual.multimedia-tools/bin
I could start it manually with: squeezelite -o default:CARD=ALSA -n SqueezeLiteLibreElec -s 192.168.1.99:9002
And it was seen by my LMS.
I configured Squeezebox to not automatically start Squeezelite and it connected to my LMS (albeit very slowly over wireless)

3) Tried to configure Squeezebox to point to Squeezelite rather than the binaries in /storage/.kodi/addons/plugin.audio.squeezebox/resources/lib/bin/linux but the config GUI didn't allow me to browse to ~/.kodi/addons/virtual.multimedia-tools/bin
So I'm assuming I need to manually update /storage/.kodi/userdata/addon_data/plugin.audio.squeezebox/settings.xml to specify the path to squeezelite

Is this manual editing of settings.cml something other RPi users have had to do to point to the squeezelite binary?

I still had to manually start squeezelite for the plugin to work.
Reply
After some success yesterday, I thought I'd delete/recreate the settings.xml

This allowed squeezelite to automatically start, but it would only play for a second or 2.  Throwing an error about a demuxer.
2020-02-19 18:23:59.597 T:1547318144  NOTICE: plugin.audio.squeezebox --> play started by lms server
2020-02-19 18:23:59.782 T:1799328640   ERROR: Init: Error creating demuxer
2020-02-19 18:23:59.911 T:1799328640  NOTICE: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder pcm_s16le

If I manually start squeezelite via ssh the music plays longer.

Any suggestions about the demuxer error (Libreelec 9.2.0 on RPi3)
Reply
Hi, guys.
First of all, thanks to the author for great plugin. I really wonder why there is not plenty of similar project as this seems to me like quite standard usecase. 

So first question : Is there any similar free technology like squeezebox, able to run multi room (possibly synchronized) audio with better support for kodi?

However as long as I am going with Logitech media server so far - I am having the same issue as many others here with playback being stopped after second or two. I can see there is a workaround by commenting out the method "onPlayBackStopped", but I am not really willing to loose the ability to control the music playback via Kodi.
Anyone found better solution yet?

Thanks a bunch
Reply
(2019-07-28, 22:08)Chrisalbers Wrote: I have Squeezebox for Kodi running on a Raspberry Pi running Max2Play, the LMS is running on the same Pi.

I have two issues at present.

1.  the only way to get Kodi to recognize LMS at all is to start playing audio through Squeezelight on the Pi before I launch Kodi.

2. Once I get music playing, I never get the "Now Playing" information or the on screen player controls [play, pause, forward, back etc...]. I do get a flicker in the Kodi Interface every few seconds that looks like they are about to appear but they never do.

I can see album artwork and tag information when I am browsing the the LMS Library, just not the current song playing.

Any assistance would be appreciated, thank you.

I've had the Squeezebox plugin working great for a while but noticed the flickering recently too and it would lead to Kodi crashing. Looks like another bug has popped up. I'm not sure why (and I'm too lazy to find out), but I was able to fix it with the following edit:

In main_service.py starting at line 174:
python:

elif self.lmsserver.status["title"] != xbmc.getInfoLabel("MusicPlayer.Title").decode("utf-8"):
    # monitor if title still matches
    log_msg("title mismatch - updating playlist...")
    self.kodiplayer.update_playlist()
    self.kodiplayer.play(self.kodiplayer.playlist, startpos=self.lmsserver.cur_index)

That elif statement needs to be changed to:
python:

elif self.lmsserver.status["title"].strip() != xbmc.getInfoLabel("MusicPlayer.Title").decode("utf-8"):
    # monitor if title still matches
    log_msg("title mismatch - updating playlist...")
    self.kodiplayer.update_playlist()
    self.kodiplayer.play(self.kodiplayer.playlist, startpos=self.lmsserver.cur_index)

At least that's what worked for me. I don't know why extra space characters started showing up at the end of titles.

Honestly this plugin's GitHub repo should be forked and updated...but I'm lazy *shrug*
Reply
I am running this on RPi3 with a stable wireless connection, with latest Libreelec. However, when I start a track playing back, it stops after a second or two. When I press play again it plays through but then the same thing occurs with the next track in the queue.
Any suggestions?
Reply
(2018-09-20, 23:56)NewTomorrow Wrote: Just for future reference -

I do not know what is actually causing the issue nor have I really looked or tracked Kodi's messaging, but commenting out:

code:
    def onPlayBackStopped(self):
        '''Kodi event fired when playback is stopped'''
        if self.is_playing:
            self.lmsserver.stop()
            log_msg("playback stopped")
        self.is_playing = False

from the plugin's player_monitor.py corrected my afore mentioned issue of the playback being forced stopped.

Kodi 18 Milhouse #0910, RPi3
I'm a total noob - how do I do this? I have ssh access, so can anybody tell me step by step how to make this change?
Reply
(2020-04-20, 01:33)Tronette Wrote:
(2018-09-20, 23:56)NewTomorrow Wrote: Just for future reference -

I do not know what is actually causing the issue nor have I really looked or tracked Kodi's messaging, but commenting out:

code:
    def onPlayBackStopped(self):
        '''Kodi event fired when playback is stopped'''
        if self.is_playing:
            self.lmsserver.stop()
            log_msg("playback stopped")
        self.is_playing = False

from the plugin's player_monitor.py corrected my afore mentioned issue of the playback being forced stopped.

Kodi 18 Milhouse #0910, RPi3
I'm a total noob - how do I do this? I have ssh access, so can anybody tell me step by step how to make this change? 

1. ssh to your kodi
2. Get to the plugin's lib directory (from your home "cd .kodi/addons/plugin.audio.squeezebox/resource/lib")
3. Open the mentioned file in any console text editor you got - usually sth vi-like - vi player_monitor.py
4. Make the adjustments in the code. Should be around line 88. (If yousing vi editor, you need to press "i" inside the editor to insert mode)
5. Save the file (If using vi, then press escape (this quits the editor's insert mode), then type ":wq" (should appear in the bottom line of the editor) and hit enter)
Reply
(2020-04-20, 07:38)acheron Wrote:
(2020-04-20, 01:33)Tronette Wrote:
(2018-09-20, 23:56)NewTomorrow Wrote: Just for future reference -

I do not know what is actually causing the issue nor have I really looked or tracked Kodi's messaging, but commenting out:

code:
    def onPlayBackStopped(self):
        '''Kodi event fired when playback is stopped'''
        if self.is_playing:
            self.lmsserver.stop()
            log_msg("playback stopped")
        self.is_playing = False

from the plugin's player_monitor.py corrected my afore mentioned issue of the playback being forced stopped.

Kodi 18 Milhouse #0910, RPi3
I'm a total noob - how do I do this? I have ssh access, so can anybody tell me step by step how to make this change?  

1. ssh to your kodi
2. Get to the plugin's lib directory (from your home "cd .kodi/addons/plugin.audio.squeezebox/resource/lib")
3. Open the mentioned file in any console text editor you got - usually sth vi-like - vi player_monitor.py
4. Make the adjustments in the code. Should be around line 88. (If yousing vi editor, you need to press "i" inside the editor to insert mode)
5. Save the file (If using vi, then press escape (this quits the editor's insert mode), then type ":wq" (should appear in the bottom line of the editor) and hit enter) 
Great! Thank you.
Reply
  • 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 20

Logout Mark Read Team Forum Stats Members Help
Squeezebox for Kodi2