Hi,

I've recently been tinkering with the files on my Squeezebox Radio (NOT
upgraded to UE) with the aim of changing the alarm snooze functionality.
I wanted to remove the 2nd option (turn off alarm) in the menu that is
shown when the alarm goes off, as several times in a sleepy daze I've
accidentally selected this option, then subsequently overslept! By
removing this option from the menu, all I can do with the big scroll
wheel is just snooze the alarm again, and I must make a concious effort
to press the main power button to fully turn the alarm off. I was able
to achieve this quite easily by modifying the file
/usr/share/jive/applets/AlarmSnooze/AlarmSnoozeApplet.lua, and
commenting out this block of code, saving the changes, then restarting
the Radio:

--menu:addItem({
--                text = self:string("ALARM_SNOOZE_TURN_OFF_ALARM"),
--                sound = "WINDOWHIDE",
--                callback = function()
--                        self:_alarmOff(true)
--                        end,
--        })

What I would really like to do, (but have so far been unsuccessful), is
to re-add a second menu item to the alarm menu that tells the alarm to
snooze, but for a value longer than the default. So my server defined
snooze time is 5 minutes, but during holidays and weekends, it would be
nice to have 'Snooze for 15/30 minutes' options as well, for when I
fancy a bit of a lie in!


I've tried added a second menu item, copying the code of the first, but
then pointing it at a renamed copy of the 'alarmSnoozeMinutes()'
function.

                menu:addItem({
                text = self:string("Give me half an hour!"),
                sound = "WINDOWHIDE",
                callback = function()
                        *self:_alarmSnoozeThirtyMinutes()*
                        end,
        })



I then copied the existing alarmSnoozeMinutes()' function defined
elsewhere in the same file, and renamed it to
alarmSnoozeThirtyMinutes(). I then changed the line highlighted in bold
below to a fixed value of 1800 seconds, rather than it's previous value
of  'self.localPlayer:getAlarmSnoozeSeconds()'.


function _alarmSnoozeThirtyMinutes(self)
        log:warn('_alarmSnooze: alarmInProgress is ', self.alarmInProgress, ' :
connection status is ', self.localPlayer:isConnected())

        self:_stopTimer()

        log:warn('_alarmSnooze: fallback alarm snoozing for ',
alarmSnoozeSeconds,'  + 20 seconds')
        *local alarmSnoozeSeconds = 1800*
        local fallbackAlarmMsecs = alarmSnoozeSeconds * 1000 + 20000 
        self.debugRTCTime = fallbackAlarmMsecs

        self:_startTimer(fallbackAlarmMsecs)
        self:_wolTimerRestart(alarmSnoozeSeconds * 1000)
        
        if self.alarmInProgress == 'rtc' then
                log:warn('_alarmSnooze: stopping fallback alarm audio')
                -- stop playback
                self:_silenceFallbackAlarm()
        else
                self.alarmInProgress = 'snooze'
        end

        if self.localPlayer:isConnected() then
                log:warn('_alarmSnooze: sending snooze command to connected 
server for
connected player ', self.localPlayer)
                self.localPlayer:snooze()
        end
        self:_stopDecodeStatePoller()

        self.alarmWindow:playSound("WINDOWHIDE")
        self:_hideAlarmWindow()
end





However, this appears to make absolutely no difference when I select
this option from the alarm menu - the snooze time remains at the 5
minute server setting.


Has anyone got experience with modifying the alarms on the Squeezebox
Radio that can offer any advice? The approach I'm taking might be
fundamentally flawed, but I kind of feel like it -should- work, and it
would be a cool little feature if it did!


------------------------------------------------------------------------
bettlebum_uk's Profile: http://forums.slimdevices.com/member.php?userid=58715
View this thread: http://forums.slimdevices.com/showthread.php?t=103009

_______________________________________________
diy mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/diy

Reply via email to