1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
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;
// bus, mixer and matrix
//-----------------------------------------------------------
bus(n) = par(i,n,_);
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);
|