83 lines
No EOL
1.8 KiB
Python
83 lines
No EOL
1.8 KiB
Python
R_AMP = 0
|
|
WIRE_IN = 1
|
|
AIR_IN = 2
|
|
GAIN = 32
|
|
PHASE = 33
|
|
X = 61
|
|
Y = 62
|
|
Z = 63
|
|
|
|
def freqpin(freq_no):
|
|
return 64+freq_no
|
|
|
|
def gainpin(freq_no):
|
|
return 112+freq_no
|
|
|
|
def shiftpin(freq_no):
|
|
return 160+freq_no
|
|
|
|
def fp(freq_no):
|
|
return 64+freq_no
|
|
|
|
def gp(freq_no):
|
|
return 112+freq_no
|
|
|
|
def sp(freq_no):
|
|
return 160+freq_no
|
|
|
|
def sec(seconds):
|
|
return seconds * 44100
|
|
|
|
class SoundNode:
|
|
|
|
def __init__(self, sonnum, order, name):
|
|
|
|
self.order = order
|
|
self.s = sonnum
|
|
self.c = sonnum.c
|
|
self.name = name
|
|
self.properties = dict() # {k: v}
|
|
|
|
|
|
def __repr__(self):
|
|
return f'{self.order}:{self.name}'
|
|
|
|
def g(self, k):
|
|
return self.properties.get(k)
|
|
|
|
def s(self, k, v):
|
|
self.properties[k] = v
|
|
|
|
def act(self, *args):
|
|
self.c.add_activity(*args)
|
|
|
|
def wire_lr(self, *args):
|
|
self.act("link", 0, 0, self, self.s.left, [0, 1])
|
|
self.act("link", 0, 0, self, self.s.right, [0, 1])
|
|
|
|
def air_lr(self, *args):
|
|
self.act("link", 0, 0, self, self.s.left, [0, 2])
|
|
self.act("link", 0, 0, self, self.s.right, [0, 2])
|
|
|
|
def setfreq(self, starttick, endtick, args):
|
|
freq_no = args[0]
|
|
freq = args[1]
|
|
self.act("setpin", starttick, endtick, self, None, [freqpin(freq_no), freq])
|
|
|
|
def setfreqgain(self, starttick, endtick, args):
|
|
freq_no = args[0]
|
|
gain = args[1]
|
|
self.act("setpin", starttick, endtick, self, None, [gainpin(freq_no), gain])
|
|
|
|
def setfreqshift(self, starttick, endtick, args):
|
|
freq_no = args[0]
|
|
shift = args[1]
|
|
self.act("setpin", starttick, endtick, self, None, [shiftpin(freq_no), shift])
|
|
|
|
def setgain(self, starttick, endtick, args):
|
|
gain = args[0]
|
|
self.act("setpin", starttick, endtick, self, None, [GAIN, gain])
|
|
|
|
def setphase(self, starttick, endtick, phase):
|
|
phase = args[0]
|
|
self.act("setpin", starttick, endtick, self, None, [PHASE, gain]) |