Author: bklaas
Date: Mon Jun 30 05:26:17 2008
New Revision: 2639

URL: http://svn.slimdevices.com?rev=2639&root=Jive&view=rev
Log:
Bug: n/a
Description: fix playerMode notification issue by using self.state.mode to 
check against prior mode state, 
and self.mode is set in togglePause, stop, play functions. getPlayerMode now 
returns self.mode and not self.state.mode,
and other internal functions that query the player mode use self.mode now

Modified:
    7.1/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua

Modified: 7.1/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/7.1/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=2639&root=Jive&r1=2638&r2=2639&view=diff
==============================================================================
--- 7.1/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.1/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Mon Jun 30 
05:26:17 2008
@@ -459,7 +459,7 @@
                return nil
        end
 
-       if self.state.mode == "play" then
+       if self.mode == "play" then
                local now = Framework:getTicks() / 1000
 
                -- multiply by rate to allow for trick modes
@@ -512,7 +512,7 @@
 =cut
 --]]
 function getPlayerMode(self)
-       return self.state.mode
+       return self.mode
 end
 
 
@@ -826,6 +826,9 @@
        local nowPlaying = _whatsPlaying(event.data)
 
        if self.state.mode ~= oldState.mode then
+               -- self.mode is set immedidately by togglePause and stop 
methods to give immediate user feedback in e.g. iconbar
+               -- getPlayerMode method uses self.mode not self.state.mode, so 
we need to set self.mode again here to be certain it's correct                  
                        
+               self.mode = self.state.mode
                self.jnt:notify('playerModeChange', self, self.state.mode)
        end
 
@@ -884,7 +887,7 @@
 
        if not self.state then return end
        
-       local paused = self.state["mode"]
+       local paused = self.mode
        log:debug("Player:togglePause(", paused, ")")
 
        if paused == 'stop' or paused == 'pause' then
@@ -892,10 +895,10 @@
                self.trackSeen = Framework:getTicks() / 1000
 
                self:call({'pause', '0'})
-               self.state["mode"] = 'play'
+               self.mode = 'play'
        elseif paused == 'play' then
                self:call({'pause', '1'})
-               self.state["mode"] = 'pause'
+               self.mode = 'pause'
        end
        self:updateIconbar()
 end    
@@ -905,7 +908,7 @@
 --
 function isPaused(self)
        if self.state then
-               return self.state.mode == 'pause'
+               return self.mode == 'pause'
        end
 end
 
@@ -914,7 +917,7 @@
 --
 function getPlayMode(self)
        if self.state then
-               return self.state.mode
+               return self.mode
        end
 end
 
@@ -940,13 +943,13 @@
 function play(self)
        log:debug("Player:play()")
 
-       if self.state.mode ~= 'play' then
+       if self.mode ~= 'play' then
                -- reset the elapsed time epoch
                self.trackSeen = Framework:getTicks()
        end
 
        self:call({'mode', 'play'})
-       self.state.mode = 'play'
+       self.mode = 'play'
        self:updateIconbar()
 end
 
@@ -956,7 +959,7 @@
 function stop(self)
        log:debug("Player:stop()")
        self:call({'mode', 'stop'})
-       self.state.mode = 'stop'
+       self.mode = 'stop'
        self:updateIconbar()
 end
 

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to