def _processType(self): """process raw data into appropriate primative format""" data = copy.copy(self.srcData) if self.format == 'psName': if drawer.isStr(data): return data else: return None elif self.format == 'psReal': # psReal values should not be rounded if drawer.isStr(data): try: return float(data) except ValueError: return None else: return data elif self.format == 'midi': #midi values should always be rounded if drawer.isStr(data): data = drawer.strStripAlpha(data) try: return float(data) # dont convert to int except ValueError: return None elif drawer.isInt(data): return data else: # its a float, round return data elif self.format == 'pch': # floating point values if drawer.isStr(data): data = drawer.strStripAlpha(data) try: return _normalizePch(float(data)) except ValueError: return None if drawer.isFloat(data): return _normalizePch(data) else: # something is wrong return None elif self.format == 'fq': # floating point values if drawer.isStr(data): data = drawer.strStripAlpha(data) try: return float(data) except ValueError: return None if drawer.isNum(data): return float(data) # convert to float else: # something is wrong return None else: # error return None
def _parseFq(self, usrStr): """conver midi values to psInt values""" usrStr = drawer.strStripAlpha(usrStr) usrList = drawer.strToListFlat(usrStr, 'L') #usrList = usrStr.split(',') psList = [] for elem in usrList: # may be int or float elem = drawer.strToNum(elem.strip(), 'num') if elem == None: continue else: psList.append(pitchTools.fqToPs(elem)) return psList