Squeezebox Patches & Plugins

This page features patches I wrote for the Squeezebox. I own a Squeezebox Touch, so everything works on that device. I cannot promise that it will work on other devices, because I cannot test it.

Squeezebox patches


Main repository and beta repository
Patches in the main repository are part of the official 3rd party repository for Squeezebox. You do not need to add any repositories, just enable the 3rd party repositories on the Squeezebox server web page, under Settings > Plugins.

The beta repository is not part of the official 3rd party repository. This repository must be added manually if you want to enable these patches. See the explanation below for instructions on how to add the beta repository.


Reduce brightness on screen saver patch
Repository: main / Device: Touch / Version: 1.3
The Squeezebox Touch has two brightness settings: manual and automatic. The manual setting always has the same brightness level whether the Touch is being used, playing, stopped, or off. The automatic settings sets the brightness based on the environment light conditions. It doesn’t really work if you try to control the player in a dark room, and the minimal brightness level is set to a low level, because that the screen would be at the lowest level, and you can’t see a thing. This patch to change this behaviour. It changes the implementation of both automatic and manual setting.

For the automatic setting, it introduces four new brightness settings:

  • Active maximum
  • Active minimum
  • Screen saver maximum
  • Screen saver minimum

When the system is active (you touch the screen, or use the remote control) the brightness will remain between the active minimum and maximum. If a screen saver is on, the brightness will remain between the screen saver minimum and maximum. There is an option to always use the active setting when the Squeezebox is playing.

For the manual setting, you can set a manual brightness and a minimal brightness. Manual brightness is the brightness when the system is active, minimum brightness is the brightness when the screen saver is on. There are options to control when the screen should reduce its brightness to the minimum setting: when playing, when stopped, and/or when off.

Please note that the Now Playing screen saver is not really a screen saver, so the brightness cannot be reduced when you use this screen saver. There is a patch in the beta repository to fix this. See below for details.

SBS version: 7.5 – 7.8
Version: 1.3 (26 November 2012)


Reduce brightness on screen saver patch (beta)
Repository: beta / Device: Touch, Radio / Version: 1.3
The beta repository holds a newer version of the patch, and a version for the Squeezebox Radio. Please note that I do not own a Squeezebox Radio, and have not tested it on this device. However, other users have tested it, and reported it to work.
This version also adds an option to disable the brightness decrease when not using the touch for a couple of seconds. If the brightness is set above 50%, the brightness is slightly decreased after a few seconds. This increases the lifetime of the LCD screen. If you prefer, this can be disabled. It is not recommended, and will shorten the lifetime of the LCD screen.

SBS version: 7.5 – 7.8
Version: 1.3 (26 November 2012)


ScreenSaver Fix for NowPlaying (beta)
Repository: beta / Device: Touch, Radio / Version: 1.0
The NowPlaying screen is not implemented as an official screen saver. Part of the ReduceBrightness plugin depends on the detection of the screen saver. If you set the screen saver to NowPlaying, it will always detect that the screen saver is not running. This has been reported as a bug, and a fix is supplied. That same fix can already be applied to Squeezebox by applying this patch.

SBS version: 7.5 – 7.8
Version: 1.0 (16 November 2012)


Adding repositories
To add a custom repository to Squeezebox, open the Squeezebox options web page, go to Settings > Plugins, and add the URL to Additional Repositories:

http://server.vijge.net/static/squeezebox/repo-beta.xml

To explicitly add the main repository, use the URL:

http://server.vijge.net/static/squeezebox/repo.xml


Applying a patch on the Squeezebox
To add the patch, you must first install the patch installer applet. This can be one the Squeezebox by going to Settings > Advanced > Applet Installer. De-select Only recommended applets and install the Patch Installer applet. Now the Squeezebox will restart. Go to Settings > Advanced > Patch Installer and select the patch you want to install. After applying the patch, the Squeezebox will restart once more.


Source code & development
The source code for this patch can be found at GitHub. This includes a shell script (Linux) automate the creation of the patch and repository files. See patch/build.sh for details.

Patches for Logitech Media Server (SqueezeboxServer)

These patches are for Logitech Media Server. These need to be applied manually to the server.


Fix multiple artists scrobbled to Last.fm
Tags now support songs with multiple artists. Spotify makes use of this a lot. Whilst this is a very god way to tag all artists performing on a song, it poses a problem when this track is scrobbled to Last.fm. All artists are concatenated with a comma, and scrobbled as if it was a single artist. Last.fm will then not recognise that artist. This small patch fixes that problem. If there are multiple artists, only the first one is scrobbled. This patch has only been tested with Spotify multiple artist tags, and might not work for other multiple artist tags.
For LMS 7.9 with the new Spotify Protocol Handler plugin, this is no longer needed
Download (for LMS 7.8+)
Download (for LMS 7.7)

Plugins for LMS

These are regular plugins that add extra functionality to Logitech Media Server. They can be installed using the settings page from LMS


SqueezeCloud: play tracks from SoundCloud
A plugin to play tracks from SoundCloud. It is a fork of the code originally developed by David Blackman, and further expanded by Robert Gibbon. Main development is at GitHub. The plugin is part of the default repository, so everyone should be able to install it, without the need to add a 3rd party repository.


22tracks
A plugin to play music from 22tracks. Main development is at GitHub. The plugin is part of the default repository, so everyone should be able to install it, without the need to add a 3rd party repository.

30 thoughts on “Squeezebox Patches & Plugins

  1. Thanks for the nice patch, exactly what I needed for my Touch! The auto brightness was driving me crazy. However the Applet Installer approach doesn’t work on 7.7 as the patch is only listed for 7.5 – 7.6 even though it does apply cleanly (albeit with some line offsets). I also noticed that the “when off” setting was not working, the “when stopped” setting was being used instead in both “stopped” and “off” states and “when off” had no effect.

    I’d be happy to send you my updated patch based on 7.7 and with the “when off” issue fixed. Email me if interested.

  2. When I first purchased my SBR, it had a great feature that worked like this:
    At night while playing music, I could set the display to go very dim. If I wanted to change stations or bookmark a song, hitting any button or turning the big knob would cause the brightness to come up so I could see the display and do what I needed. Once I stopped using the controls, the brightness would again dim to the lowest setting.

    Is that what this patch does?

    1. Yes, you could use this parch for that. The easiest setting is to set the brightness to manual, and dim when playing. The brightness is dimmed when the screen saver is active. If you touch a button the screen saver is off and the brightness is full. After the time out, the screen saver goes on and the screen dims.

  3. “The manual setting always has the same brightness level whether the Touch is being used, playing, stopped, or off.”

    I hesitate to ask but are you sure?

    My SB Touch when set to manual (max brigtness) automatically dims after about 15 seconds. This is annoying if viewing images.

    Do your mods disable the auto dimmer?

    1. This is the case (without the patch) when the setting is set to manual. However, there is a ‘safety feature’ build in: if the manual brightness is above 50%, it will be reduced after 15 seconds to save the screen. If the manual brightness is below 50%, this will not happen.

      My patch does not change this, because settings the brightness to 100% all the time might impact the lifetime of the screen.

      1. OK, fair enough, I understand your reasoning.

        If the unit is being used to view images the additional brightness is necessary so a manual override still seems like a useful addition.

        1. I’ll see if I can add this feature to my patch, if you want it. If it can be done, I’ll send you a beta link to test is. Might take a week or so.

  4. I installed the Applet Installer on my Touch.
    But when i select Patch Installer on the menu nothing happend and don’t see any patches when i’m connected to mysqueezebox.com.
    When connected to Squeezebox Server i do see patches.
    Is this normal??

    1. The list of applets and patches available is controlled by the server. That’s why, under settings>plugins you can load extra repositories (near the bottom of that page, where you can put extra URLs). By default, the patch installer applet and my patch are included in the third party applets. So as long as you enable those, the local server will load them. For some reason, Logitech has decided that mysqueezebox.com does have a list of applets, but not of the patches. This is not something I can control.

      However, once you install my patch it will work always, it does not matter if you are connected to a local server or to mysqueezebox.com

  5. I just installed this (beta) on my SB Radio, and I get to the page of 4 brightness settings, but I can’t select them to change it. Help?

    What would have to be set via the command-line if I just want to SSH in and do it manually?

    Thanks!
    -Dan

    1. Hi,
      Thanks for trying my patch. First question, one which device are you trying it (Touch/Radio), and what it the version of SqueezeboxServer. I use a Touch with 7.7.2, and here it works. I have not tested it with any newer version.

      And when you mention the 4 brightness settings, which one do you mean? When going to settings/brightness, there are first three menus (automatic, manual, control). Automatic has 5 options, manual & control both have 3 options.

      1. Squeezebox radio (7.7.2-r9663), Server is Version: 7.6.2 – r33997.

        Menus: Automatic (sorry, 5 options with the checkbox). I can select the checkbox, but any of the other menus get the wiggle/”Bonk” noise. Not selectable.

        What I’d like to do is set the max brightness a bit lower, since it’s in a bedroom and I want subdued light. I’d also like to make it brighter when the lights are off and I hit a button/knob.

        I realize that I have the Radio on a different firmware than the server, but not sure if that’s a problem (it wants me to keep downgrading, and I ignore it). IIRC, my setup was having trouble with 7.7, but I can give it a shot (VirtualBox & backups!)

        Thanks!
        -Dan

        1. I do not own a Radio, so I cannot really test if it is working or now. Various owners of a Radio installed this patch and reported it to be working.
          It could very well be that the lower version of the firmware is causing problems. The best way to check this is to login the Radio using SSH and execute the command ‘tail -f /var/log/messages’. Then navigate to the brightness menu that gives an error and watch the console for any error messages.

          1. Here’s the messages. I haven’t played with Lua since I had my Touch and was working with Erland on SuperDateTime / CustomClock. Pretty rusty.

            Nov 13 13:06:58 squeezeplay: WARN squeezeplay.ui.draw – jiveL_dispatch_event:785 error in event function:
            Nov 13 13:06:58 squeezeplay: …jive/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua:1501: attempt to call global ‘Button’ (a nil value)
            Nov 13 13:06:58 squeezeplay: stack traceback:
            Nov 13 13:06:58 squeezeplay: …jive/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua:1501: in function ‘settingsBrightnessSliderActive’
            Nov 13 13:06:58 squeezeplay: …jive/applets/SqueezeboxBaby/SqueezeboxBabyApplet.lua:1331: in function ‘callback’
            Nov 13 13:06:58 squeezeplay: /usr/share/jive/jive/ui/SimpleMenu.lua:189: in function ‘itemListener’
            Nov 13 13:06:58 squeezeplay: /usr/share/jive/jive/ui/Menu.lua:154: in function </usr/share/jive/j

          2. I discovered an error in the code. I think I have it fixed now, but since I have no radio it’s difficult to test. You can try it by uninstalling the previous version, and installing it again. It should now load the new build.

  6. I have just bought a squeezebox touch and tried to install your ReduceBrightness patch. I am running squeezebox server 7.7.2 on ubuntu.
    I have ticked the box on the plugin page in the settings of squeezebox server and installed the patch installer on the touch. However, neither on the plugin page of the server nor on the applet installer page on the touch the Reduce Brightness patch is shown. I even added your repository manually on the plugin page but this didn’t help. I also added the beta repository but also without success. None of your patches are schown.
    Did I miss anything I have to do in addition?

    1. Just found it. I missed that I have to go into Patch Installer to see the patches. I looke only in Applet Installer.

  7. Love the patch, but want to report a bug. Settings–>Brightness–>Automatic Brightness–>Use active brightness when playing If I deselect this option (empty box), then do a hard reboot of the Radio, the box is selected again upon restart. All other Automatic Brightness settings are “remembered” except this one. Can you fix? Thanks!

  8. Hello,

    First Congratulation the app is amazing., and appreciate that you keep maintaining it Fantastic work!

    i have LMS 7.7.3 and installed squeeze cloud 0.8.2.19. I’m on windows 7.
    Everything installs perfectly, able to get my api key. I’m able to to play through the web interface, but when i use any Android app, and select a song it always give me ”Empty” Any clue?

    1. Hi,

      Yes, I have the same problem. But you can (at least using Orange Squeeze), press the three dots after a number to get a menu that does contain play. Other problem with it is that sometimes it picks the song above or below the one selected.
      I am trying to look into this, but I am not very familiar with Perl and the Squeezebox API. But I’ll do what I can.

      1. Love the patches! Can you update your .xml to allow installation from version 7.9 of the server? I think the max version allowed currently is 7.8. Thanks!

  9. Actually I re-tested this with 7.7.3 and get the error, “Patch not downloaded, failed to verify SHA checksum” Any thoughts?

    1. This is for the “Reduced Brightness” patch, by the way. Thanks for any thoughts you may have why this no longer installs.

  10. Hi!. Does this plugin support fast forward while streaming a soundcloud track? I cannot get this to work, so I was wondering…

  11. Hi.

    I also wondered if this supports fast forward/skip/seek witin a soundcloud stream.

    I had a general problem with skipping on mp3, which I have now fixed and I thought it might fix the issue with squeezeplug but it didn’t.

    Any advice on skipping though? Some of the stuff I have liked is a few hours long, and if it resets I’d like to be able to skip back to where I was previously.

    Many Thanks,
    Chris

  12. I have noticed you don’t monetize your blog, don’t waste
    your traffic, you can earn additional cash
    every month because you’ve got high quality content. If you
    want to know how to make extra money, search for: Mrdalekjd methods for $$$

Leave a Reply

Your email address will not be published. Required fields are marked *