Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Edit
diff options
context:
space:
mode:
authorJames <olpc@localhost.localdomain>2007-02-04 21:53:36 (GMT)
committer James <olpc@localhost.localdomain>2007-02-04 21:53:36 (GMT)
commitbb6ba47652bbf684192d2ba0b104928abf8dcf92 (patch)
treeaa164e8a0939863c2bcfdac671973bb9e215d4d2 /Edit
parente51ca0bc0f8d74c5dc9a3e7ef64e783b3171f9dd (diff)
adjust note onsets correctly for multiplage edit-mode playback
Diffstat (limited to 'Edit')
-rw-r--r--Edit/MainWindow.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py
index f99e62e..2a8465b 100644
--- a/Edit/MainWindow.py
+++ b/Edit/MainWindow.py
@@ -383,14 +383,23 @@ class MainWindow( gtk.EventBox ):
else:
self.displayPage( self.pages_playing[0] )
- numticks = sum([self.noteDB.getPage(id).ticks for id in self.pages_playing ] )
+ numticks = 0
+ page_onset = {}
+ for pid in self.pages_playing:
+ page_onset[pid] = numticks
+ numticks += self.noteDB.getPage(pid).ticks
+
print 'play!'
print 'pages : ', self.pages_playing
print 'trackset : ', trackset
print 'numticks : ', numticks
print 'notes : ', len(notes), 'notes'
self.csnd.loopClear()
+ for n in notes:
+ n.onset += page_onset[n.pageId]
self.csnd.loopAdd(notes)
+ for n in notes:
+ n.onset -= page_onset[n.pageId]
self.csnd.loopSetTick(0)
self.csnd.loopSetNumTicks( numticks )
self.csnd.loopSetTempo(self._data['tempo'])