diff options
Diffstat (limited to 'TamTamJam.activity/Jam/JamMain.py')
-rw-r--r-- | TamTamJam.activity/Jam/JamMain.py | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/TamTamJam.activity/Jam/JamMain.py b/TamTamJam.activity/Jam/JamMain.py index f795008..dbd7f8b 100644 --- a/TamTamJam.activity/Jam/JamMain.py +++ b/TamTamJam.activity/Jam/JamMain.py @@ -6,6 +6,7 @@ import pango import os, sys, shutil +import common.Util.Instruments import common.Config as Config from gettext import gettext as _ import sugar.graphics.style as style @@ -173,7 +174,7 @@ class JamMain(gtk.EventBox): self.instrumentImage = {} self.instrumentImageActive = {} for inst in self.instrumentDB.getSet( "All" ): - self.prepareInstrumentImage( inst.id, inst.img ) + self.prepareInstrumentImage( inst.instrumentId, inst.img ) #-- Loop Images --------------------------------------- self.loopImage = {} # get filled in through updateLoopImage @@ -260,18 +261,18 @@ class JamMain(gtk.EventBox): self.keyMap = {} # default instrument - self._updateInstrument( Config.INSTRUMENTS["kalimba"].instrumentId, 0.5 ) + self._updateInstrument( self.instrumentDB.instNamed["kalimba"].instrumentId, 0.5 ) self.instrumentStack = [] # metronome page = NoteDB.Page( 1, local = False ) - self.metronomePage = self.noteDB.addPage( -1, page ) + self.metronomePage = self.noteDB.addPage( -1, page ) self.metronome = False #-- Drums --------------------------------------------- self.drumLoopId = None # use dummy values for now - self.drumFillin = Fillin( 2, 100, Config.INSTRUMENTS["drum1kit"].instrumentId, 0, 1 ) + self.drumFillin = Fillin( 2, 100, self.instrumentDB.instNamed["drum1kit"].instrumentId, 0, 1 ) #-- Desktops ------------------------------------------ self.curDesktop = None @@ -362,7 +363,7 @@ class JamMain(gtk.EventBox): if Config.KEY_MAP_PIANO.has_key( key ): pitch = Config.KEY_MAP_PIANO[key] - inst = Config.INSTRUMENTSID[self.instrument["id"]] + inst = self.instrumentDB.instId[self.instrument["id"]] if inst.kit: # drum kit if pitch in GenerationConstants.DRUMPITCH: @@ -426,7 +427,7 @@ class JamMain(gtk.EventBox): def _stopNote( self, key ): csnote = self.key_dict[key] - if Config.INSTRUMENTSID[ csnote.instrumentId ].csoundInstrumentId == Config.INST_TIED: + if self.instrumentDB.instId[ csnote.instrumentId ].csoundInstrumentId == Config.INST_TIED: csnote.duration = .5 csnote.decay = 0.7 csnote.tied = False @@ -476,7 +477,7 @@ class JamMain(gtk.EventBox): self.csnd.loopSetNumTicks( ticks, loopId ) self.drumFillin.setLoopId( loopId ) - self.drumFillin.setProperties( self.tempo, Config.INSTRUMENTSID[id].name, volume, beats, reverb ) + self.drumFillin.setProperties( self.tempo, self.instrumentDB.instId[id].name, volume, beats, reverb ) self.drumFillin.unavailable( noteOnsets, notePitchs ) self.drumFillin.play() @@ -527,7 +528,7 @@ class JamMain(gtk.EventBox): # TODO update track volume - inst = Config.INSTRUMENTSID[id] + inst = self.instrumentDB.instId[id] offset = 0 for page in tune: @@ -548,11 +549,11 @@ class JamMain(gtk.EventBox): self.csnd.loopSetNumTicks( offset, loopId ) - while startTick > offset: + while startTick > offset: startTick -= offset - + # sync to heartbeat - if sync: + if sync: beatTick = startTick % Config.TICKS_PER_BEAT syncTick = self.csnd.loopGetTick( self.heartbeatLoop ) % Config.TICKS_PER_BEAT if beatTick > syncTick: @@ -590,7 +591,7 @@ class JamMain(gtk.EventBox): 0.5, # pan 100, # duration 0, # track - Config.INSTRUMENTS["drum1hatpedal"].instrumentId, + self.instrumentDB.instNamed["drum1hatpedal"].instrumentId, reverbSend = 0.5, tied = True, mode = 'mini' ) @@ -600,12 +601,12 @@ class JamMain(gtk.EventBox): for b in range( self.noteDB.getPage( page ).beats ): cs = baseCS.clone() - cs.instrumentId = Config.INSTRUMENTS["drum1hatshoulder"].instrumentId + cs.instrumentId = self.instrumentDB.instNamed["drum1hatshoulder"].instrumentId cs.amplitude = 0.5 cs.onset += offset stream.append( cs ) - + onset = period while onset < Config.TICKS_PER_BEAT: cs = baseCS.clone() @@ -616,7 +617,7 @@ class JamMain(gtk.EventBox): offset += Config.TICKS_PER_BEAT self.noteDB.addNotes( [ page, 1, len(stream) ] + stream + [ -1 ] ) - + def removeMetronome( self, page ): self.noteDB.deleteNotesByTrack( [ page ], [ 1 ] ) @@ -634,14 +635,14 @@ class JamMain(gtk.EventBox): self.paused = True for loop in loops: self.csnd.loopPause( loop ) - - def setStopped( self ): + + def setStopped( self ): for drum in list(self.desktop.drums): self.desktop.deactivateDrum(drum) - + for loop in list(self.desktop.loops): # we copy the list using the list() method self.desktop.deactivateLoop(loop) - + #========================================================== @@ -654,7 +655,7 @@ class JamMain(gtk.EventBox): rval += l return rval - notes = flatten( generator( Config.INSTRUMENTSID[instrumentId].name, beats, 0.8, regularity, reverb) ) + notes = flatten( generator( self.instrumentDB.instId[instrumentId].name, beats, 0.8, regularity, reverb) ) if pageId == -1: page = Page( beats ) @@ -669,7 +670,7 @@ class JamMain(gtk.EventBox): def _generateTrack( self, instrumentId, page, track, parameters, algorithm ): dict = { track: { page: self.noteDB.getCSNotesByTrack( page, track ) } } - instruments = { page: [ Config.INSTRUMENTSID[instrumentId].name for i in range(Config.NUMBER_OF_TRACKS) ] } + instruments = { page: [ self.instrumentDB.instId[instrumentId].name for i in range(Config.NUMBER_OF_TRACKS) ] } beatsOfPages = { page: self.noteDB.getPage(page).beats } algorithm( parameters, @@ -1103,7 +1104,7 @@ class JamMain(gtk.EventBox): # Sync def setSyncBeats( self, beats ): - self.jamToolbar.setSyncBeats( beats ) + self.jamToolbar.setSyncBeats( beats ) def _setSyncBeats( self, beats ): if beats == self.syncBeats: @@ -1114,7 +1115,7 @@ class JamMain(gtk.EventBox): ticks = beats * Config.TICKS_PER_BEAT curTick = self.csnd.loopGetTick( self.heartbeatLoop ) - + self.csnd.loopSetNumTicks( ticks, self.heartbeatLoop ) while curTick > ticks: curTick -= ticks |