New directory tree, with preprocessor/ inside interpretor/.
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / examples / tapiir.dsp
diff --git a/interpretor/preprocessor/faust-0.9.47mr3/examples/tapiir.dsp b/interpretor/preprocessor/faust-0.9.47mr3/examples/tapiir.dsp
new file mode 100644 (file)
index 0000000..a69e05b
--- /dev/null
@@ -0,0 +1,60 @@
+declare name           "tapiir";
+declare version        "1.0";
+declare author                 "Grame";
+declare license        "BSD";
+declare copyright      "(c)GRAME 2006";
+
+//======================================================
+//
+//                                     TAPIIR
+//       (from Maarten de Boer's Tapiir)
+//
+//======================================================
+
+import("music.lib");
+
+
+dsize          = 524288;
+
+
+
+// user interface
+//---------------
+
+
+tap(n)         = vslider("tap %n", 0,0,1,0.1);
+in(n)                  = vslider("input %n", 1,0,1,0.1);
+gain           = vslider("gain", 1,0,1,0.1);
+del            = vslider("delay (sec)", 0, 0, 5, 0.01) * SR;
+
+
+// mixer and matrix
+//-----------------------------------------------------------
+
+mixer(taps,lines)      =       par(i,taps,*(tap(i))),
+                                               par(i,lines,*(in(i)))
+                                               :>  *(gain);
+
+
+matrix(taps,lines)     = ( bus(lines+taps)
+                                               <: tgroup("",
+                                                               par(i, taps,
+                                                                       hgroup("Tap %i",
+                                                                               mixer(taps,lines) : delay(dsize,del))))
+                                         ) ~ bus(taps);
+
+
+// tapiir
+//--------
+
+tapiir(taps,lines)     =       vgroup("Tapiir",
+                                                       bus(lines)
+                                                       <: (matrix(taps,lines), bus(lines))
+                                                       <: vgroup( "outputs", par( i, lines, hgroup("output %i", mixer(taps,lines)) ) )
+                                               );
+
+
+
+process                        =  tapiir(6,2);
+
+