The Slimdevices Slimserver and Squeezeboxes are gorgeous. Even if you don't have a Squeezebox, the server's a really good way to stream music around your network.
I have a couple of Squeezeboxes, and use one to wake me up in the mornings. It's a great alarm clock, it even fades the music up at the start of the alarm to stop you leaping out of bed in a heart-attacking frightened sort of way.
As an alarm clock, I have but one problem... My morning playlist is a bunch of funky and cheesy singles. I like to listen to these in a "song shuffled" sort of way, and just in case I'm heavily comatosed, I'd like the playlist to repeat ad-nausium. The only way to do this is to set the whole Squeeze box into "shuffle by song" and "repeat playlist".
The problem with setting the whole Squeezebox is that it's incompatible with listening to an album as the artist intended whilst going to sleep. For that, of course, you don't want shuffle, and unless you really like them, you probably don't want it on repeat either (even if you're using the sleep mode). As such, come morning the Squeezebox is set up wrongly, and you don't get the morning music goodness you wanted. That's a sure-fire way to get me in a grump.
For ages, I've barely listened to albums in my bedroom because of this problem. So today I patched up Slimserver to add in a couple of extra menu options to the alarm settings. Now, in addition to setting the alarm volume, you can also set the shuffle and repeat modes too. Obviously, when the alarm goes off, then these settings come into effect.
One caveat: Like the alarm volume, once the alarm goes off, it sets the squeezebox to those settings. That means the volume, shuffle and repeat modes are the ones it will have from now on (until you change them). Then again, when the alarm goes off tomorrow, it gets setback again. Not debilitating, but it would cool if there was some way around this. No idea how one would code that sort of thing in though!
Anyway, here's the patch (attached). It patches three files:
(slimserver)/Slim/Buttons/AlarmClock.pm<br /> (slimserver)/Slim/Utils/Alarms.pm<br /> (slimserver)/strings.txt13
(the strings.txt also includes my attempt at some language translations, although I'll bet they're pretty terrible!)
patch (file) (patchfile)<br />Eg:
patch ./Slim/Buttons/AlarmClock.pm Slim-Buttons-AlarmClock.pm.diff17
Hopefully that should get you all up and running!