bluegaspode;506394 Wrote: 
> Ben - you optimized the sledgehammer too much.
> 
> It had a line 
> > 
Code:
--------------------
  >   > 
  > if self.alarmInProgress == 'server' then
  > 
--------------------
> > 
> once ... now this is missing - whenever the server reconnects the
> fallback alarm will fire now :)
> 
> Mnyb - I guess you can start the alarm whenever you restart your
> server - Cool !

Actually my fix is different than that. IMO the sledgehammer routine
needs to check self.alarmInProgress to see if the hammer boolean should
be true


Code:
--------------------
    
  === AlarmSnoozeApplet.lua
  ==================================================================
  --- AlarmSnoozeApplet.lua       (revision 38121)
  +++ AlarmSnoozeApplet.lua       (local)
  @@ -38,7 +38,7 @@
  jnt:subscribe(self)
  self.alarmTone = "applets/AlarmSnooze/alarm.mp3"
  
  -       self.alarmInProgress = 'none';
  +       self.alarmInProgress = nil
  
  local timeToAlarm
  local startTimer = false
  @@ -127,7 +127,7 @@
  self:getSettings()['alarmNext'] = false
  self:storeSettings()
  self:_setWakeupTime('none')
  -                               self.alarmInProgress = 'none'
  +                               self.alarmInProgress = nil
  -- might want to qualify whether or not to stop this timer dependent upon 
whether it's already running.
  -- for now just log the information
  if self.RTCAlarmTimer:isRunning() then
  @@ -186,7 +186,7 @@
  --debug.dump(status)
  
  log:warn('alarm_sledgehammerRearm(', caller,'): ', self.alarmInProgress, ' 
alarm in progress - audioState is ', status.audioState)
  -       if status.audioState ~= 1 then
  +       if self.alarmInProgress and status.audioState ~= 1 then
  hammer = true
  end
  
  @@ -279,7 +279,7 @@
  log:info('notify_serverDisconnected: ', server, ' is now disconnected')
  
  -- blindly check state here irrespective of which server caused this 
notification
  -       if self.alarmInProgress ~= 'none' and self.alarmInProgress ~= 'rtc' 
then
  +       if self.alarmInProgress and self.alarmInProgress ~= 'rtc' then
  if not self.localPlayer:isConnected() then
  log:warn('notify_serverDisconnected: ', server, ' - while server alarm in 
progress! state ', self.alarmInProgress, ' triggering fallback alarm!')
  self:openAlarmWindow('rtc')
  @@ -490,7 +490,7 @@
  if self.decodeStatePoller:isRunning() then
  self.decodeStatePoller:stop()
  end
  -                        self.alarmInProgress = 'none'
  +                        self.alarmInProgress = nil
  self.alarmWindow = nil
  end
  )
  @@ -512,7 +512,7 @@
  end
  end
  
  -       self.alarmInProgress = 'none'
  +       self.alarmInProgress = nil
  self:_stopTimer()
  self.alarmWindow:playSound("WINDOWHIDE")
  self:_hideAlarmWindow()
  
--------------------


So basically, quit using the 'none' string and instead nil out
self.alarmInProgress, and then check for self.alarmInProgress as well as
audioState not equal to 1 for the hammer rearm. Make sense?

FYI, tests look good so far with this patch

#!/ben


-- 
bklaas

Logitech Developer: 
Squeezeplay/SqueezeOS/SqueezeboxController/SqueezeCenter
Community Developer: Nokia770Skin

http://www.last.fm/user/bklaas/
'KHAAAN!' (http://khaaan.com/)...'BUNNIES!'
(http://home.pacbell.net/bettychu/2003allbreedbisris/BIS.html)
------------------------------------------------------------------------
bklaas's Profile: http://forums.slimdevices.com/member.php?userid=58
View this thread: http://forums.slimdevices.com/showthread.php?t=74025

_______________________________________________
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/beta

Reply via email to