diff options
author | amartin <olpc@xo-02-2E-11.localdomain> | 2007-06-19 08:01:47 (GMT) |
---|---|---|
committer | amartin <olpc@xo-02-2E-11.localdomain> | 2007-06-19 08:01:47 (GMT) |
commit | 6c803c60bcc1f29f8d4496eba3c8f3d0bda46f5c (patch) | |
tree | 7dc73d4ef8865f0457cd0ce203c117ca976ab417 /miniTamTam | |
parent | 1de7f260a5f0d71b126a90cfa2c87ad587a3cb12 (diff) |
network
Diffstat (limited to 'miniTamTam')
-rw-r--r-- | miniTamTam/miniTamTamMain.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/miniTamTam/miniTamTamMain.py b/miniTamTam/miniTamTamMain.py index 3c263d2..e4c0d38 100644 --- a/miniTamTam/miniTamTamMain.py +++ b/miniTamTam/miniTamTamMain.py @@ -91,7 +91,7 @@ class miniTamTamMain(SubActivity): self.synthLabWindow = None if self.network.isPeer(): - self.network.querySync( self.handleSync ) + self.syncTimeout = gobject.timeout_add( 1000, self.querySync ) def drawSliders( self ): mainSliderBox = RoundHBox(fillcolor = Config.PANEL_COLOR, bordercolor = Config.PANEL_BCK_COLOR, radius = Config.PANEL_RADIUS) @@ -382,7 +382,10 @@ class miniTamTamMain(SubActivity): self.csnd.loopPause() else: self.drumFillin.play() - self.csnd.loopSetTick(0) + #self.csnd.loopSetTick(0) + next = self.nextHeartbeat() + ticks = int(Config.TICKS_PER_BEAT*self.tempo/60.0*next) + self.csnd.loopSetTick( Config.TICKS_PER_BEAT*self.beat - ticks ) self.csnd.loopStart() def handleGenerationDrumBtn(self , widget , data): @@ -501,9 +504,15 @@ class miniTamTamMain(SubActivity): delta = time.time() - self.heartbeatStart return self.beatDuration - (delta % self.beatDuration) + def querySync( self ): + self.network.querySync( self.handleSync ) + if self.network.isOffline(): + return False + return True def handleSync( self, latency, nextBeat ): print "mini:: got sync: next beat in %f, latency %d" % (nextBeat, latency*1000) + self.heartbeatStart = time.time() + nextBeat - self.beatDuration - latency/2 if __name__ == "__main__": MiniTamTam = miniTamTam() |