Squeezebox Stuff
I've done various bits and bobs with the core Squeezebox Server code, including writing the Alarm code and a lot of work on the Random Mix functionality. Here's some of the additional scripts and plugins that I've put together for use with Squeezebox Server. Unfortunately, I don't maintain these plugins any more, but I'm including them here in the hope that they may still be of use to people. Please feel free to reuse and modify this code. If you find these useful, please let me know—it's always nice to hear back from people!
Plugins
Control your other players from your current player and transfer playlists between them.
Keep a log of played tracks and easily provide information on your web site about what you're currently listening to with your Squeezebox.
Prevent "unauthorised" changes to the volume when you're listening to music. :-)
Example Plugins
I've included a few plugins here that don't do anything useful but may be of help to someone wanting examples of writing plugins. These are excessively commented, so should be a good way of understanding the basics of plugins.
[January 2009] Unfortunately, these are now quite old and so likely to be out of date. They should still hopefully provide some useful information, but should not be taken as gospel!
Max.pm
Manually displays a list of items (the wrong way!)
Max2.pm
Uses INPUT.Choice to display a list of items (the right way!) as checkboxes and makes them selectable with the right button.
Miscellaneous
shutdown.pl
I use a dedicated Debian Linux server to run Squeezebox Server. This doesn't need to be on when I'm asleep, so I wrote a small script to check if any of my players are currently playing and, if not, display a warning on their screens before shutting the server down. This script is cronned to run every thirty minutes between 11pm and 6am, so it will keep trying to shut down the server until it finds none of the players are in use. At some point, I may change it to allow the shutdown to be cancelled from a player - currently you have to manually cancel the shut down if you notice the message on a player's screen but don't want the server to turn off.
A script to display details of incoming phone calls on the Squeezebox's display.