From 0c8e687ce284d7599b9bfb7c578b0fc7fb32c493 Mon Sep 17 00:00:00 2001 From: Rafael Ortiz Date: Fri, 25 Feb 2011 21:40:07 +0000 Subject: fixing simlimking build error --- (limited to 'common/Util/InstrumentDB.py') diff --git a/common/Util/InstrumentDB.py b/common/Util/InstrumentDB.py deleted file mode 100644 index ac72a19..0000000 --- a/common/Util/InstrumentDB.py +++ /dev/null @@ -1,140 +0,0 @@ -import os - -############## -## SOUNDS -############## - -class Instrument: - def __init__(self, id): - self.instrumentId = id - self.kitStage = False - self.volatile = None - - # build an Instrument instance from argument list - def loadFromArgs( self, name, csoundInstrumentId, register, loopStart, - loopEnd, crossDur, ampScale, kit, wav, img, category, nameTooltip = "" ): - self.name = name - self.csoundInstrumentId = csoundInstrumentId - self.instrumentRegister = register - self.loopStart = loopStart - self.loopEnd = loopEnd - self.crossDur = crossDur - self.ampScale = ampScale - self.kit = kit - self.wav = wav - self.img = img - self.category = category - self.nameTooltip = nameTooltip - - # build an Instrument instance by parsing a file - def loadFromPath(self, path ): - f = file(path, 'r') - magic = f.readline()[:-1] - if (magic != 'TamTam idf v1'): - raise 'given file has wrong header' - self.name = f.readline()[:-1] - self.csoundInstrumentId = float(f.readline()[:-1]) - self.register = f.readline()[:-1] - self.loopStart = float( f.readline()[:-1]) - self.loopEnd = float( f.readline()[:-1]) - self.crossDur = float( f.readline()[:-1]) - self.ampScale = float( f.readline()[:-1]) - self.kit = None - self.wav = f.readline()[:-1] - self.img = f.readline()[:-1] - self.category = f.readline() - f.close() - -class InstrumentDB: - - # initialize an empty InstrumentDB instance - def __init__(self): - self.labelSet = {'All':set([])} # -> all instruments labelled by - self.inst = [] # all instruments - self.instNamed = {} # -> instrument with that name - self.instId = {} # -> instrument - - # TEMP? add instrument from args - def addInstrumentFromArgs( self, name, csoundInstrumentId, register, loopStart, - loopEnd, crossDur, ampScale, kit, wav, img, category, - kitStage = False, volatile = False, nameTooltip = "" ): - i = Instrument(len(self.inst)) - self.inst += [ i ] - i.loadFromArgs( name, csoundInstrumentId, register, loopStart, loopEnd, crossDur, ampScale, kit, wav, img, category, nameTooltip ) - i.kitStage = kitStage - if volatile: i.volatile = 0 - self.instNamed[ i.name ] = i - self.instId[i.instrumentId] = i - - self.labelSet['All'].add(i) - if not self.labelSet.has_key(category): - self.labelSet[category] = set([]) - self.labelSet[category].add( i ) - - # add an instrument to the DB by reading from an instrument definition file - def addInstrument( self, path ): - from common.Util.CSoundClient import new_csound_client - csnd = new_csound_client() - i = Instrument(len(self.inst)) - self.inst += [ i ] - i.loadFromPath( path ) - self.instNamed[ i.name ] = i - self.instId[i.instrumentId] = i - #print 'labelSet... ', self.labelSet - self.labelSet['All'].add(i) - if not self.labelSet.has_key(category): - self.labelSet[category] = set([]) - self.labelSet[category].add( i ) - csnd.load_instrument(i.name) - - # try to load each file in a given folder as an instrument def. file - def scanInstrumentDir( self, path ): - dirlist = os.listdir( path ) - for fpath in dirlist: - try : - self.addInstrument( path + fpath ) - except : - print 'ERROR: scanning instrument path %s: file %s invalid' % (path, fpath) - - def getLabels( self ): - return self.labelSet.keys() - - def getSet( self, label ): - return self.labelSet[label] - - def getInstrument( self, id ): - return self.instId[id] - - def getInstrumentByName( self, name ): - try: - return self.instNamed[ name ] - except: - print "Instrument not found: ", name - return self.inst[0] - - def debug_summarize(self): - for i in self.inst: - print i.id, i.name - - for l in self.labelSet: - print l, [ i.name for i in self.labelSet[l]] - - -db_instance = None -def getRef(): - global db_instance - if (None == db_instance): - db_instance = InstrumentDB() - return db_instance - - -if __name__ == "__main__": - i1 = getRef() - i2 = getRef() - - print i1, i2 - - import sys - i1.scanInstrumentDir( sys.argv[1] ) - - i1.debug_summarize() -- cgit v0.9.1