Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TamTamJam.activity/Jam/JamMain.py
diff options
context:
space:
mode:
Diffstat (limited to 'TamTamJam.activity/Jam/JamMain.py')
-rw-r--r--TamTamJam.activity/Jam/JamMain.py47
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