New directory tree, with preprocessor/ inside interpretor/.
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / benchmark / mixer.dsp
diff --git a/interpretor/preprocessor/faust-0.9.47mr3/benchmark/mixer.dsp b/interpretor/preprocessor/faust-0.9.47mr3/benchmark/mixer.dsp
new file mode 100644 (file)
index 0000000..b186d38
--- /dev/null
@@ -0,0 +1,35 @@
+declare name           "mixer";
+declare version        "1.0";
+declare author                 "Grame";
+declare license        "BSD";
+declare copyright      "(c)GRAME 2006";
+
+//-------------------------------------------------
+// Simple 8x2 mixer
+//-------------------------------------------------
+import("music.lib");
+
+smooth(c)      = *(1-c) : +~*(c);
+
+
+vol            = *(vslider("fader", 0, -60, 4, 0.1) : db2linear : smooth(0.99));
+
+
+mute           = *(1 - checkbox("mute"));  
+     
+
+vumeter(x)     = attach(x, envelop(x) : vbargraph("", 0, 1))
+               with { envelop = abs : min(0.99) : max ~ -(1.0/SR); };
+
+pan            = _ <: *(sqrt(1-c)), *(sqrt(c))
+               with { c = (nentry("pan",0,-8,8,1)-8)/-16 : smooth(0.99); };
+
+voice(v)       = vgroup("voice %v",  mute : hgroup("", vol : vumeter) : pan);
+
+
+stereo         = hgroup("stereo out", vol, vol);
+
+
+process                = hgroup("mixer", par(i, 8, voice(i)) :> stereo);
+
+