Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/miniTamTam
diff options
context:
space:
mode:
authoramartin <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)
commit6c803c60bcc1f29f8d4496eba3c8f3d0bda46f5c (patch)
tree7dc73d4ef8865f0457cd0ce203c117ca976ab417 /miniTamTam
parent1de7f260a5f0d71b126a90cfa2c87ad587a3cb12 (diff)
network
Diffstat (limited to 'miniTamTam')
-rw-r--r--miniTamTam/miniTamTamMain.py13
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()