Files
smnp-py/smnp/module/synth/function/synth.py
Bartłomiej Pluta 0571e3f1e2 Move 'synth' module
2019-07-09 22:32:03 +02:00

25 lines
688 B
Python

from smnp.library.model import CombinedFunction, Function
from smnp.library.signature import varargSignature, ofTypes, listOf
from smnp.module.synth.lib.player import playNotes
from smnp.type.model import Type
_signature1 = varargSignature(ofTypes(Type.NOTE, Type.INTEGER))
def _function1(env, vararg):
notes = [arg.value for arg in vararg]
bpm = env.findVariable('bpm')
playNotes(notes, bpm.value)
_signature2 = varargSignature(listOf(Type.NOTE, Type.INTEGER))
def _function2(env, vararg):
for arg in vararg:
_function1(env, arg.value)
function = CombinedFunction(
'synth',
Function(_signature1, _function1),
Function(_signature2, _function2)
)