#N canvas 38 26 630 390 10;
#X msg 458 10 \; pd dsp 1;
#X msg 47 186 1;
#X msg 47 205 0;
#X obj 403 305 print didit;
#X obj 126 305 env~ 16384;
#X floatatom 126 324;
#X msg 48 227 print;
#X obj 44 330 dac~;
#X obj 191 305 env~ 16384;
#X floatatom 191 324;
#X obj 38 252 readsf~ 4 1e+06;
#X obj 256 305 env~ 16384;
#X floatatom 256 324;
#X obj 323 306 env~ 16384;
#X floatatom 323 325;
#X msg 45 167 open ../sound/bell.aiff 0 200 4 2 b;
#X obj 82 306 *~ 0.1;
#X obj 40 306 *~ 0.1;
#X text 40 7 READSF~ - read a soundfile;
#X msg 45 146 open ../sound/bell.aiff;
#X text 146 240 optional arguments: number of channels \; buffer size per channnel in bytes.;
#X text 404 286 when the soundfile is done.;
#X text 403 272 last outlet gives a "bang";
#X text 471 369 Updated for version 0.29;
#X text 271 146 Open takes a filename \, an onset in sample frames \, and \, as an override \, you may also supply a header size to skip \, a number of channels \, bytes per channel \, and endianness.;
#X text 36 93 The wave \, aiff \, and nextstep formats are parsed automatically \, although only 2- 3- and 4- byte samples are accepted (4 bytes implies floating point and is only available in the nextstep format.);
#X text 37 27 The readsf~ object reads a soundfile into its signal outputs. You must open the soundfile in advance (a couple of seconds before you'll need it) using the "open" message. The object immediately starts reading from the file \, but output will only appear after you send a "1" to start playback. A "0" stops it.;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 4 0 5 0;
#X connect 6 0 10 0;
#X connect 8 0 9 0;
#X connect 10 0 4 0;
#X connect 10 0 17 0;
#X connect 10 1 8 0;
#X connect 10 1 16 0;
#X connect 10 2 11 0;
#X connect 10 2 16 0;
#X connect 10 3 13 0;
#X connect 10 3 17 0;
#X connect 10 4 3 0;
#X connect 11 0 12 0;
#X connect 13 0 14 0;
#X connect 15 0 10 0;
#X connect 16 0 7 1;
#X connect 17 0 7 0;
#X connect 19 0 10 0;
