Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Edit/MainWindow.py
diff options
context:
space:
mode:
authorOli <olivier.belanger@umontreal.ca>2007-08-15 06:39:59 (GMT)
committer Oli <olivier.belanger@umontreal.ca>2007-08-15 06:39:59 (GMT)
commit1b9d2cd2bd9e3135b2aedd16e8cebc59d483c088 (patch)
tree8f4c22571c68325fb730efa5f45d07046a1e3e2f /Edit/MainWindow.py
parentf5e6fbe03050917940ea5673adb6625971e7eb6d (diff)
dual instruments on melodic tracks
Diffstat (limited to 'Edit/MainWindow.py')
-rw-r--r--Edit/MainWindow.py45
1 files changed, 24 insertions, 21 deletions
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py
index ad42a25..15d0468 100644
--- a/Edit/MainWindow.py
+++ b/Edit/MainWindow.py
@@ -52,7 +52,7 @@ class MainWindow( SubActivity ):
for i in [6,7,8,9,10]:
self.csnd.setTrackVolume(100, i)
self.trackCount = 6
-
+
# Toolbar
self.activity.activity_toolbar.keep.show()
self._mainToolbar = mainToolbar(self.activity.toolbox, self)
@@ -79,6 +79,9 @@ class MainWindow( SubActivity ):
if len(self.trackInstrument) != Config.NUMBER_OF_TRACKS: raise 'error'
self.drumIndex = Config.NUMBER_OF_TRACKS - 1
+ #second instrument for melodic tracks
+ self.trackInstrument2Default = [ Config.INSTRUMENTS["harmonica"], None, Config.INSTRUMENTS["rhodes"], None]
+ self.trackInstrument2 = self.trackInstrument2Default[:]
self._data['volume'] = Config.DEFAULT_VOLUME
self._data['tempo'] = Config.PLAYER_TEMPO
@@ -731,9 +734,6 @@ class MainWindow( SubActivity ):
Config.INSTRUMENTS[random.choice(keyboardPickup)],
Config.INSTRUMENTS[random.choice(drumsPickup)] ]
-# for tid in range(Config.NUMBER_OF_TRACKS):
-# self.handleInstrumentChanged( ( tid, self.trackInstrument[tid] ) )
-
def chooseGenParams(self):
choose = random.randint(0,4)
density = GenerationConstants.RYTHM_DENSITY_BANK[choose]
@@ -914,11 +914,25 @@ class MainWindow( SubActivity ):
self.page_onset[pid] = numticks
numticks += self.noteDB.getPage(pid).ticks
+ # check for a second instrument on melodic tracks
+ stream = []
+ for page in self.pages_playing:
+ for track in trackset:
+ if track != self.drumIndex:
+ if self.trackInstrument2[track] != None:
+ if len(self.noteDB.getNotesByTrack(page, track)):
+ stream += [ page, track, NoteDB.PARAMETER.INSTRUMENT2, len(self.noteDB.getNotesByTrack(page, track)) ]
+ for n in self.noteDB.getNotesByTrack(page, track):
+ stream += [ n.id, self.trackInstrument2[track].instrumentId ]
+ if len(stream):
+ self.noteDB.updateNotes( stream + [-1] )
+
notes = []
for page in self.pages_playing:
for track in trackset:
notes += self.noteDB.getNotesByTrack( page, track )
+
if (Config.DEBUG > 3):
print 'rebuild note loop'
print 'pages : ', self.pages_playing
@@ -989,7 +1003,7 @@ class MainWindow( SubActivity ):
def handleClose(self,widget):
self.activity.close()
-
+
def onTimeout(self):
self.updateFPS()
@@ -1050,17 +1064,6 @@ class MainWindow( SubActivity ):
pages = self.tuneInterface.getSelectedIds()
self.noteDB.setInstrument( pages, id, instrument.instrumentId )
- #self.noteLooper.setInstrument(id, instrumentName)
-
- #recordButton = self.instrumentRecordButtons[ id ]
- #if instrumentName in Config.RECORDABLE_INSTRUMENTS:
- # recordButton.show()
- # recordButton.connect( "clicked",
- # self.handleMicRecord,
- # Config.RECORDABLE_INSTRUMENT_CSOUND_IDS[ instrumentName ] )
- #else:
- # recordButton.hide()
-
def getScale(self):
return self.generationPanel.scale
@@ -1093,7 +1096,7 @@ class MainWindow( SubActivity ):
def handleToolClick( self, widget, mode ):
if widget.get_active(): self.trackInterface.setInterfaceMode( mode )
-
+
def handleToolClick2( self, widget, mode ):
self.trackInterface.setInterfaceMode( mode )
@@ -1214,7 +1217,7 @@ class MainWindow( SubActivity ):
beatsOfPages[pageId] = self.noteDB.pages[pageId].beats
instruments = self.noteDB.getInstruments(newpages)
-
+
#[ i.name for i in self.trackInstrument ],
algo(
params,
@@ -1529,7 +1532,7 @@ class MainWindow( SubActivity ):
self.GUI["9generationPopup"].move( balloc.x + winLoc[0], balloc.y - walloc.height + winLoc[1] )
else:
self.GUI["9generationPopup"].hide()
-
+
def setPageGenerateMode(self, mode):
self.generateMode = mode
@@ -2062,12 +2065,12 @@ class MainWindow( SubActivity ):
if self.context == CONTEXT.PAGE: self.GUI["2pageBox"].show()
elif self.context == CONTEXT.TRACK: self.GUI["2trackBox"].show()
else: self.GUI["2noteBox"].show()
-
+
if self.context == CONTEXT.NOTE:
self._mainToolbar.generationButton.set_sensitive(False)
else:
self._mainToolbar.generationButton.set_sensitive(True)
-
+
def getContext(self):
return self.context