#N canvas 421 44 690 553 12;
#X declare -stdpath ./;
#X obj 491 428 print didit;
#X obj 163 403 env~ 16384;
#X floatatom 163 430 6 0 0 0 - - - 0;
#X msg 162 324 print;
#X obj 243 403 env~ 16384;
#X obj 74 364 readsf~ 4 1e+06, f 60;
#X obj 323 403 env~ 16384;
#X obj 404 403 env~ 16384;
#X msg 41 177 open ../sound/bell.aiff 0 200 4 2 b;
#X obj 96 514 soundfiler;
#X text 17 513 see also:;
#X obj 38 15 readsf~;
#X text 300 167 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 sample \, and endianness., f 44;
#X text 21 126 The wave \, aiff \, caf \, and next formats are parsed automatically \, although only uncompressed 2- or 3-byte integer ("pcm") and 4-byte floating point samples are accepted., f 91;
#X obj 34 406 output~;
#X obj 185 514 writesf~;
#X obj 491 402 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X text 511 352 - number of channels \; - per channel buffer size in bytes, f 22;
#X msg 75 205 open ../sound/bell.aiff;
#X obj 537 261 declare -stdpath ./;
#X obj 7 47 cnv 1 675 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 613 14 <= click;
#N canvas 679 102 573 384 reference 0;
#X obj 8 52 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 8 208 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 0;
#X obj 8 309 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 7 363 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 7 273 cnv 1 550 1 empty empty rightmost: 8 12 0 13 #7c7c7c #000000 0;
#X obj 7 236 cnv 1 550 1 empty empty n: 8 12 0 13 #7c7c7c #000000 0;
#X obj 30 18 readsf~;
#X text 78 68 open <list> -;
#X text 177 68 sets a filename \, an onset in samples \, header size to skip \, number of channels \, bytes per sample \, and endianness., f 50;
#X text 120 157 float -;
#X text 177 157 nonzero starts playback \, zero stops., f 50;
#X text 121 178 print - prints information on Pd's terminal window., f 58;
#X text 122 245 signal -;
#X text 187 245 channel output of a given file., f 46;
#X text 137 281 bang - when finishing playing file., f 54;
#X text 107 317 1) float - sets number of output channels (default 1 \, max 64)., f 62;
#X text 107 336 2) float - per channel buffer size in bytes., f 62;
#X text 82 213 ('n' number of outlets specified by argument);
#X text 120 117 start -;
#X text 127 137 stop -;
#X text 177 117 start playback (needs a prior 'open' message)., f 50;
#X text 177 137 stop playback., f 50;
#X text 88 19 - soundfile playback from disk.;
#X restore 519 15 pd reference;
#X floatatom 243 430 6 0 0 0 - - - 0;
#X floatatom 323 430 6 0 0 0 - - - 0;
#X floatatom 404 430 6 0 0 0 - - - 0;
#X text 506 334 Arguments:;
#X obj 7 497 cnv 1 675 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 207 322 print information on the Pd window;
#X obj 123 287 tgl 19 0 empty empty empty 0 -10 0 12 #dfdfdf #000000 #000000 0 1;
#X floatatom 123 314 3 0 0 0 - - - 0;
#X text 146 287 nonzero starts playback \, zero stops it;
#X msg 91 233 start;
#X msg 104 259 stop;
#X text 136 233 start playback;
#X text 143 259 stop playback;
#X text 21 60 The [readsf~] object reads a soundfile into its signal outputs. You must open the soundfile in advance (best a little bit before you need it) using the "open" message. The object immediately starts reading from the file \, but output will only appear after you send a "1" or "start" message to start the playback. A "0" or "stop" message stops it., f 91;
#X text 482 517 Updated for version 0.53-1;
#X text 96 15 - soundfile playback from disk;
#X text 487 451 "bang" when the soundfile is done., f 18;
#X connect 1 0 2 0;
#X connect 3 0 5 0;
#X connect 4 0 23 0;
#X connect 5 0 1 0;
#X connect 5 0 14 0;
#X connect 5 1 4 0;
#X connect 5 1 14 1;
#X connect 5 2 6 0;
#X connect 5 3 7 0;
#X connect 5 4 16 0;
#X connect 6 0 24 0;
#X connect 7 0 25 0;
#X connect 8 0 5 0;
#X connect 16 0 0 0;
#X connect 18 0 5 0;
#X connect 29 0 30 0;
#X connect 30 0 5 0;
#X connect 32 0 5 0;
#X connect 33 0 5 0;
