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 setpos(self, start_tick, x, y, z): self.act('setpos', start_tick, start_tick, self, None, [x, y, z]) def sine(self, start_tick, end_tick, freq, r_amp): self.act('sine', start_tick, end_tick, self, None, [freq, r_amp])