#N canvas 760 30 409 562 10;
#X obj 107 202 pd~.abstraction triple-ringmod 440;
#X obj 259 122 osc~ 1000;
#X obj 251 335 dac~;
#X obj 259 62 osc~ 0.25;
#X obj 259 82 *~ 500;
#X obj 259 102 +~ 1000;
#X msg 125 173 pd dsp \$1;
#X floatatom 107 66 5 0 0 0 ringmod-freq - -;
#X obj 207 258 *~ 0;
#X obj 308 258 *~ 0;
#X obj 83 303 tgl 15 0 \$0.on.s \$0.on.r On 17 7 0 10 -204786 -1 -1
0 1;
#X obj 125 153 r \$0.on.s;
#X obj 329 230 r \$0.on.s;
#X text 49 272 Turn it on here;
#X obj 308 301 *~ 0.1;
#X obj 207 300 *~ 0.1;
#X msg 107 119 INLET \$1;
#X text 32 380 pd~.abstraction tries to make using pd~ more like using
abstractions in Pd. You can make use of any abstraction with up to
9 arguments.;
#X text 31 477 The only limitation is the abstraction must have 1 inlet/inlet~
and 2 outlet/outlet~s \, but you should have no trouble modifying it
if you have different needs.;
#X text 287 536 2009 Luke Iannini;
#X text 17 9 [pd~.abstraction] - call like [pd~.abstraction myabstraction
arg1 arg2...arg9] (all args optional);
#X text 31 429 Messages prepended with INLET will go to the inlet of
your abstraction. Messages sent to the outlet of your abstraction will
appear at the outlet of [pd~.abstraction].;
#X connect 0 1 8 0;
#X connect 0 2 9 0;
#X connect 1 0 0 2;
#X connect 1 0 0 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 16 0;
#X connect 8 0 15 0;
#X connect 9 0 14 0;
#X connect 11 0 6 0;
#X connect 12 0 8 1;
#X connect 12 0 9 1;
#X connect 14 0 2 1;
#X connect 15 0 2 0;
#X connect 16 0 0 0;
