44 lines
No EOL
1.2 KiB
Python
44 lines
No EOL
1.2 KiB
Python
import math
|
|
|
|
from core.room import Room
|
|
from core.program import Program
|
|
from core.soundnode import SoundNode
|
|
from core.nodes.sinenode import *
|
|
from core.nodes.triangle import *
|
|
from core.nodes.sawtooth import *
|
|
from core.actions.basics import *
|
|
|
|
class TestProgram(Program):
|
|
|
|
def __init__(self):
|
|
|
|
super().__init__("testprogram")
|
|
|
|
def setup(self):
|
|
self.reset()
|
|
|
|
sn = SineNode(440, self.room)
|
|
sn2 = SawtoothNode(440, self.room)
|
|
|
|
sn.air_to(self.room.left_sink)
|
|
sn.air_to(self.room.right_sink)
|
|
sn2.air_to(self.room.left_sink)
|
|
sn2.air_to(self.room.right_sink)
|
|
|
|
sn.start_location = (4,0,0)
|
|
sn2.start_location = (-4,0,0)
|
|
|
|
"""
|
|
NoteAction('A4', self.st(0), self.st(0.5), [sn, tn], self)
|
|
NoteAction('G4', self.st(1), self.st(0.5), [sn, tn], self)
|
|
NoteAction('F4', self.st(2), self.st(0.5), [sn, tn], self)
|
|
NoteAction('E4', self.st(3), self.st(0.5), [sn, tn], self)
|
|
"""
|
|
LinearPitchTransition('A4', 'E4', self.st(0), self.st(5), [sn], self)
|
|
LinearPitchTransition('E4', 'A4', self.st(0), self.st(5), [sn2], self)
|
|
|
|
#LinearSpatialTransition((-8,0,0),(8,0,0), self.st(0), self.st(5), [sn], self)
|
|
|
|
TP = TestProgram()
|
|
TP.setup()
|
|
TP.interface() |