def pp(program, slot=127): pad = ' '*5 acc = 'asplit(%d, "%s",\n' % (slot, program.name) for b in 'ABCD': if b == ' ': b = '' param = 'gain%s' % b db = int(amp_to_db(program[param])) acc += '%s%s = %+3d, ' % (pad, param, db) param = 'unmute%s' % b v = int(program[param]) acc += '%s = %d,\n' % (param, v) db = int(amp_to_db(program["gain"])) acc += '%sgain = %+3d, ' % (pad, db) v = int(program["unmute"]) acc += 'unmute = %d)\n' % v return acc
def pp(program, slot=12): def fval(key): return float(program[key]) def ival(key): return int(program[key]) pad = ' '*5 frmt = 'carnal(%d, "%s", amp=%d,\n' data = (slot, program.name, int(amp_to_db(fval("amp")))) acc = frmt % data frmt = '%sdelayTime=%5.3f, xDelay=%5.3f,\n' data = (pad, fval('delayTime'), fval('xDelayMod')) acc += frmt % data frmt = '%swow=%5.3f, wowFreq=%5.3f, flutter=%5.3f,\n' data = (pad, fval('wow'), fval('wowFreq'), fval('flutter')) acc += frmt % data frmt = '%sfeedback=%5.3f, gain=%5.3f, threshold=%5.3f,\n' data = (pad, fval('feedback'), fval('gain'), fval('threshold')) acc += frmt % data frmt = '%seq=[%d, %d],\n' data = (pad, ival('lowcut'), ival('highcut')) acc += frmt % data frmt = '%swetMix=%5.3f, xWetMix=%5.3f)\n' data = (pad, fval('efxMix'), fval('xEfxMix')) acc += frmt % data return acc
def pp(program, slot=12): def fval(key): return float(program[key]) def ival(key): return int(program[key]) pad = ' ' * 5 frmt = 'carnal(%d, "%s", amp=%d,\n' data = (slot, program.name, int(amp_to_db(fval("amp")))) acc = frmt % data frmt = '%sdelayTime=%5.3f, xDelay=%5.3f,\n' data = (pad, fval('delayTime'), fval('xDelayMod')) acc += frmt % data frmt = '%swow=%5.3f, wowFreq=%5.3f, flutter=%5.3f,\n' data = (pad, fval('wow'), fval('wowFreq'), fval('flutter')) acc += frmt % data frmt = '%sfeedback=%5.3f, gain=%5.3f, threshold=%5.3f,\n' data = (pad, fval('feedback'), fval('gain'), fval('threshold')) acc += frmt % data frmt = '%seq=[%d, %d],\n' data = (pad, ival('lowcut'), ival('highcut')) acc += frmt % data frmt = '%swetMix=%5.3f, xWetMix=%5.3f)\n' data = (pad, fval('efxMix'), fval('xEfxMix')) acc += frmt % data return acc
def pp(program, slot=127): pad = ' ' * 5 acc = 'asplit(%d, "%s",\n' % (slot, program.name) for b in 'ABCD': if b == ' ': b = '' param = 'gain%s' % b db = int(amp_to_db(program[param])) acc += '%s%s = %+3d, ' % (pad, param, db) param = 'unmute%s' % b v = int(program[param]) acc += '%s = %d,\n' % (param, v) db = int(amp_to_db(program["gain"])) acc += '%sgain = %+3d, ' % (pad, db) v = int(program["unmute"]) acc += 'unmute = %d)\n' % v return acc
def pp(program, slot=127): pad = ' ' * 5 acc = 'panner(%d, "%s",\n' % (slot, program.name) acc += '%samp = %d,\n' % (pad, int(amp_to_db(program['amp']))) acc += '%spos = %5.3f,\n' % (pad, float(program['pos'])) acc += '%slfoFreq = %5.3f,\n' % (pad, float(program['lfoFreq'])) acc += '%slfoDepth = %5.3f,\n' % (pad, float(program['lfoDepth'])) acc += '%sxscale = %5.3f,\n' % (pad, float(program['xscale'])) acc += '%sxbias = %5.3f)\n' % (pad, float(program['xbias'])) return acc
def amp_to_mix_aspect(amp): amp = abs(amp) if amp == 0: return 0 else: db = amp_to_db(amp) if db < -9: a,b = 2.51,121.6 else: a,b = 11,199.0 pos = a*db+b return int(min(pos, 199))
def amp_to_mix_aspect(amp): amp = abs(amp) if amp == 0: return 0 else: db = amp_to_db(amp) if db < -9: a, b = 2.51, 121.6 else: a, b = 11, 199.0 pos = a * db + b return int(min(pos, 199))
def amp_to_mix_aspect(amp): """ Converts gain ratio to slider position. Used with slider like gain controls. The response is non-linear, see mix_aspect_to_amp """ amp = abs(amp) if amp == 0: return 0 else: db = amp_to_db(amp) if db < -9: a,b = 2.51,121.6 else: a,b = 11,199.0 pos = a*db+b return int(min(pos, 199))
def pp(program, slot=127): def fval(key): return float(program[key]) pad = ' '*5 frmt = 'trrm(%d, "%s", amp=%d,\n' data = (slot, program.name, int(amp_to_db(program['amp']))) acc = frmt % data frmt = '%slfo = [%5.3f, %5.3f],\n' data = (pad, fval('lfoFreq'), fval('modDepth')) acc += frmt % data frmt = '%sxtern = [%5.3f, %5.3f, %5.3f],\n' data = (pad, fval('xDepth'), fval('xLfoFreq'), fval('xLfoAmp')) acc += frmt % data frmt = '%slimit = %5.3f)\n' data = (pad, fval('limit')) acc += frmt % data return acc
def amp_to_volume_aspect(amp): amp = abs(amp) if amp == 0: return 0 else: db = int(amp_to_db(amp)) if db >= 6: aspect = 199 elif db >= 3: aspect = 185 elif db >= 0: aspect = 175 elif -12 <= db: aspect = 7.42*db + 170 elif -48 <= db: aspect = 2.2*db + 106.4 else: aspect = 0 return int(aspect)
def amp_to_volume_aspect(amp): amp = abs(amp) if amp == 0: return 0 else: db = int(amp_to_db(amp)) if db >= 6: aspect = 199 elif db >= 3: aspect = 185 elif db >= 0: aspect = 175 elif -12 <= db: aspect = 7.42 * db + 170 elif -48 <= db: aspect = 2.2 * db + 106.4 else: aspect = 0 return int(aspect)
def pp(program, slot=127): def fval(key): return float(program[key]) def ival(key): return int(program[key]) pad = ' '*5 frmt = 'flngr(%d, "%s", amp=%d, efxMix=%5.3f,\n' data = (slot, program.name, int(amp_to_db(program["amp"])), fval("efxMix")) acc = frmt % data frmt = '%sdelay=%5.3f, modDepth=%5.3f, modFreq=%5.3f,\n' data = (pad, fval("delay"), fval("imodDepth"), fval("imodFreq")) acc += frmt % data frmt = '%sfeedback=%5.3f, loweq=%d, higheq=%d,\n' data = (pad, fval("feedback"),ival("feedbackLowpass"), ival("feedbackHighpass")) acc += frmt % data frmt = '%sxmodDepth = %5.3f, xmixScale = %5.3f)\n' data = (pad, fval("xmodDepth"), fval("xmixScale")) acc += frmt % data return acc
def pp(program, slot=127): def fval(key): return float(program[key]) def ival(key): return int(program[key]) pad = ' ' * 5 frmt = 'flngr(%d, "%s", amp=%d, efxMix=%5.3f,\n' data = (slot, program.name, int(amp_to_db(program["amp"])), fval("efxMix")) acc = frmt % data frmt = '%sdelay=%5.3f, modDepth=%5.3f, modFreq=%5.3f,\n' data = (pad, fval("delay"), fval("imodDepth"), fval("imodFreq")) acc += frmt % data frmt = '%sfeedback=%5.3f, loweq=%d, higheq=%d,\n' data = (pad, fval("feedback"), ival("feedbackLowpass"), ival("feedbackHighpass")) acc += frmt % data frmt = '%sxmodDepth = %5.3f, xmixScale = %5.3f)\n' data = (pad, fval("xmodDepth"), fval("xmixScale")) acc += frmt % data return acc
def amp_to_volume_aspect(amp): """ Converts gain factor to controller aspect. Used with slider like volume controls. See volume_aspect_to_amp """ amp = abs(amp) if amp == 0: return 0 else: db = int(amp_to_db(amp)) if db >= 6: aspect = 199 elif db >= 3: aspect = 185 elif db >= 0: aspect = 175 elif -12 <= db: aspect = 7.42*db + 170 elif -48 <= db: aspect = 2.2*db + 106.4 else: aspect = 0 return int(aspect)
def enter_callback(*_): amp = float(s.value()) db = int(amp_to_db(amp)) frmt = "[%s] -> %5.3f (%d db)" msg = frmt % (param, amp, db) editor.status(msg)
def amp_to_db(amp): return int(math.amp_to_db(amp))
def db(key): return int(amp_to_db(program[key]))