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-00-CE-12.localdomain>2007-06-19 03:00:57 (GMT)
committer amartin <olpc@xo-00-CE-12.localdomain>2007-06-19 03:00:57 (GMT)
commitf179d5378471af72007533840978d5005793c7d0 (patch)
tree63f42da49de271c1d5d865909f52d666fd06b49d /miniTamTam
parentd787b925f284c39b3b8888efa49671afa1eb5478 (diff)
parent4879c93667b2c0765392347d25a0f3ac97180cfc (diff)
Merge branch 'master' of git+ssh://amartin@dev.laptop.org/git/projects/tamtam
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 9d72e3f..946e4cc 100644
--- a/miniTamTam/miniTamTamMain.py
+++ b/miniTamTam/miniTamTamMain.py
@@ -92,7 +92,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)
@@ -385,7 +385,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):
@@ -504,9 +507,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()