summaryrefslogtreecommitdiff
path: root/tran/instrbanded.alg
diff options
context:
space:
mode:
authorSteve M. Robbins <smr@debian.org>2011-10-22 04:54:51 +0200
committerSteve M. Robbins <smr@debian.org>2011-10-22 04:54:51 +0200
commitdd657ad3f1428b026486db3ec36691df17ddf515 (patch)
tree6ffb465595479fb5a76c1a6ea3ec992abaa8c1c1 /tran/instrbanded.alg
Import nyquist_3.05.orig.tar.gz
[dgit import orig nyquist_3.05.orig.tar.gz]
Diffstat (limited to 'tran/instrbanded.alg')
-rw-r--r--tran/instrbanded.alg24
1 files changed, 24 insertions, 0 deletions
diff --git a/tran/instrbanded.alg b/tran/instrbanded.alg
new file mode 100644
index 0000000..49345d9
--- /dev/null
+++ b/tran/instrbanded.alg
@@ -0,0 +1,24 @@
+(INSTRBANDED-ALG
+(NAME "bandedwg")
+(ARGUMENTS ("double" "freq") ("sound_type" "bowpress_env") ("int" "preset")("rate_type" "sr"))
+(STATE ("struct instr *" "mybanded" "initInstrument(BANDEDWG, round(sr));
+ controlChange(susp->mybanded, 16, preset);")
+ ("int" "temp_ret_value" "noteOn(susp->mybanded, freq, 1.0)"))
+(START (min bowpress_env))
+(NOT-IN-INNER-LOOP "freq" "temp_ret_value" "preset")
+(SAMPLE-RATE "sr")
+(ALWAYS-SCALE bowpress_env)
+(TERMINATE (min bowpress_env))
+(INNER-LOOP "
+ controlChange(mybanded, 2, BANDEDWG_CONTROL_CHANGE_CONST * bowpress_env);
+ output = (sample_type) tick(mybanded)")
+(SUPPORT-HEADER "
+ #define BANDEDWG_CONTROL_CHANGE_CONST 128
+")
+(SUPPORT-FUNCTIONS "
+ #include \"instr.h\"
+")
+(FINALIZATION "
+ deleteInstrument(susp->mybanded);
+")
+)