Logitec Media Server plugin for Volumio

It would be great if you can

For some reason I canā€™t make it work on my system

Same with me. Thatā€™s why I asked Sayato for some help. LMS works but not Squeezelite.

Would you be able to test this (but make sure you clean previous LMS installation first)?

2 Likes

Sure

I will try it and let you know.
Thanks for that

Thank you very much, I just upgraded to Volumion version 3. And the LMS plug-in works great! Thereā€™s also a squeezelite plugin within LMS that works great! Itā€™s called local player.

Hi @Pablo_Villegas , did you install Saiyatoā€™s LMS plugin thatā€™s already in the plugin store, or my Docker version which I pointed out two posts above and requires manual installation (ssh)?

I tried installing Saiyatoā€™s plugin to test whether there would be conflicts with the Docker version even after uninstalling it, but couldnā€™t get it to run. The error appears to be related to incompatible Perl versions:

// Start LMS in the terminal so I can easily spot errors
$ /usr/sbin/squeezeboxserver \
>         --prefsdir /var/lib/squeezeboxserver/prefs \
>         --cachedir /var/lib/squeezeboxserver/cache \
>         --logdir /var/log/squeezeboxserver \
>         --charset utf8

...
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
...

Exiting..

$ perl -v
This is perl 5, version 28, subversion 1 (v5.28.1)...

Is anyone else getting this?

I installed the one in the plug-in store. Inside Volumio UI.

1 Like

OK, thanks for the clarification.

Ok, I just found a bug or quirk. You cannot use Volumio as a player, unless you turn off the LMS, otherwise it says that the ALSA device is busy. And wonā€™t play any music inside Volumio, only through LMS.

Thatā€™s probably because the Local Player plugin in LMS is holding up the ALSA device. Try going to Local Player plugin settings and enter -C 1 for ā€œAdditional Optionsā€. This tells Squeezlite to release the ALSA device after 1 second if nothing is being played. See if this helps.

1 Like

Thanks! Yeah, that was it. It doesnā€™t release the ALSA device. I just turned of the plug-in and everything worked.

Iā€™ll try to set setting as you told me. Thanks!

No luck, itā€™s a conflict with local player within LMS, even without playing anything, when Volumio boots, I cannot play anything until I turn off LMS. Then I can turn on LMS without a problem, but right at boot, it highjacks the ALSA device.

I had to uninstall the Local Player(squeezelite) plug-in, it created a lot of troubles. Maybe it was the binary. The Chromecast plug-in only works well on the static binary.

Hi Patrick, I couldnā€™t get the the -C 1 parameter to work - it seems that squeezelite-armv6hf terminates and displays the help page and the -C parameter isnā€™t listed. Any ideas?

sudo /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf -d output=debug -f /var/log/squeezeboxservelocalplayer.log -C 1
Squeezelite v1.6.5, Copyright 2012-2014 Adrian Smith. See -t for license terms
Usage: /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf [options]
  -s <server>[:<port>]  Connect to specified server, otherwise uses autodiscovery to find server
  -o <output device>    Specify output device, default "default", - = output to stdout
  -l                    List output devices
  -a <b>:<p>:<f>:<m>    Specify ALSA params to open output device, b = buffer time in ms or size in bytes, p = period count or size in bytes, f sample format (16|24|24_3|32), m = use mmap (0|1)
  -a <f>                Specify sample format (16|24|32) of output file when using -o - to output samples to stdout (interleaved little endian only)
  -b <stream>:<output>  Specify internal Stream and Output buffer sizes in Kbytes
  -c <codec1>,<codec2>  Restrict codecs to those specified, otherwise load all available codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
  -d <log>=<level>      Set logging level, logs: all|slimproto|stream|decode|output, level: info|debug|sdebug
  -e <codec1>,<codec2>  Explicitly exclude native support of one or more codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
  -f <logfile>          Write debug to logfile
  -m <mac addr>         Set mac address, format: ab:cd:ef:12:34:56
  -n <name>             Set the player name
  -N <filename>         Store player name in filename to allow server defined name changes to be shared between servers (not supported with -n)
  -p <priority>         Set real time priority of output thread (1-99)
  -r <rates>[:<delay>]  Sample rates supported, allows output to be off when squeezelite is started; rates = <maxrate>|<minrate>-<maxrate>|<rate1>,<rate2>,<rate3>; delay = optional delay switching rates in ms
  -R -u [params]        Resample, params = <recipe>:<flags>:<attenuation>:<precision>:<passband_end>:<stopband_start>:<phase_response>,
                         recipe = (v|h|m|l|q)(L|I|M)(s) [E|X], E = exception - resample only if native rate not supported, X = async - resample to max rate for device, otherwise to max sync rate
                         flags = num in hex,
                         attenuation = attenuation in dB to apply (default is -1db if not explicitly set),
                         precision = number of bits precision (NB. HQ = 20. VHQ = 28),
                         passband_end = number in percent (0dB pt. bandwidth to preserve. nyquist = 100%),
                         stopband_start = number in percent (Aliasing/imaging control. > passband_end),
                         phase_response = 0-100 (0 = minimum / 50 = linear / 100 = maximum)
  -D [delay]            Output device supports DSD over PCM (DoP), delay = optional delay switching between PCM and DoP in ms
  -z                    Daemonize
  -t                    License terms

v1.6.5 is probably too old. Current is v1.9.9.

Have you tried the Squeezelite MC plugin (disable the Local Player plugin in LMS first)?

Thanks for the reply - Iā€™m a little confused probably as Iā€™m new to Volumio & LMS - maybe I should give some background. Iā€™m running Volumio 3.301 on a RPi4B and have installed Saiyatoā€™s Logitech Media Server 1.1.5 plugin.
Within LMS I was running Triodeā€™s Local Player plugin (squeezelite-armv6hf v1.6.5) - and all that worked OK, I could play in Volumio and also LMS (which I just use for the BBC Sounds plugin). However when I wanted to play music in Volumio after playing music within LMS I had to use the Off button to get it to release the ALSA deviceā€¦which was a little annoying. I then saw your post about adding the -C 1 parameter.
So Iā€™ve since uninstalled Triodeā€™s Local Player plugin from LMS and then installed your Squeezelite MC plugin in Volumio. This works kinda Ok but Iā€™m going on some odd behaviour when I switch between playing in Volumio and then LMS and then back again. Am I doing it right? :slight_smile:

Could you describe this odd behaviour?

Could you describe this odd behaviour?

I rebooted the RPi and everything is working perfectly now. The functionality in your plugin is great - very handy to be able to view and control what is playing in LMS :+1:

When I go to the Volumio (v1.111) included my minidsp SHD, the squeezelite plugin is shown as available on the plugin page and seems to install without error, but the player does not show up in LMS. Has anyone run into this or have any idea how to address?

Thanks,
Mike

After the preceding post I made some progress from before. By setting the ā€œextra parametersā€ in the plugin settings to

-R vE:::24 -r 44100-196000  -s lms_server_ip

As described in this great post by Chrissy, it is now showing up and running! Note that all I had to do was set the extra parameters. I didnā€™t seem to need any of Chrissyā€™s other steps of sshā€™ing or unzipping new files, etc.

One remaining problem a number of people have mentioned is getting Squeezelite to use Volumioā€™s volume control (it uses its own). Itā€™s not a showstopper, but itā€™s problematic because Squeezeliteā€™s volume control apparently doesnā€™t properly dither. I will continue to dig into that, but at least Iā€™m unblocked :slight_smile: