#N canvas 300 50 700 585 10; #X obj 197 123 cnv 15 99 15 empty empty empty 20 12 0 14 -192477 -66577 0; #X floatatom 258 144 0 0 0 0 - - -; #X floatatom 289 323 0 0 0 0 - - -; #X obj 474 324 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 284 145 time in ms; #X msg 394 193 vol \$1; #X obj 394 96 tgl 20 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 394 121 pause; #X msg 394 168 seek \$1; #X msg 394 144 loop \$1; #X floatatom 361 168 5 0 0 0 - - -, f 5; #X floatatom 362 193 5 0 200 0 - - -, f 5; #X obj 379 144 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 17 124 openpanel; #X obj 17 91 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 353 381 hsl 128 20 0 1 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 0; #X text 17 403 ARGUMENTS:; #X symbolatom 17 222 0 0 0 0 - - -; #X msg 350 405 seek \$1; #X obj 65 202 bng 20 250 50 0 empty empty reload 25 10 0 10 -262144 -1 -1; #X obj 447 328 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 394 327 set \$1; #X obj 622 301 print REST; #X obj 196 91 r \$0-sf; #X obj 350 426 s \$0-sf; #X obj 17 269 s \$0-sf; #X text 447 168 seek (ms); #X text 448 193 volume (0 - 100); #X obj 379 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 394 266 s \$0-sf; #X msg 394 216 out \$1; #X text 446 98 play/stop (restart); #X text 446 119 pause; #X text 446 143 loop; #X text 44 75 load a soundfile (is played immediately), f 16; #X obj 180 202 *~ 0.3; #X obj 226 202 *~ 0.1; #X obj 280 202 env~; #X floatatom 280 267 5 0 0 0 - - -, f 5; #X text 448 215 output (0 = outlets \, 1 = direct to dac~); #X obj 539 151 * 1000; #X floatatom 539 129 5 0 0 0 - - -, f 5; #X text 573 126 seek (s); #X obj 289 301 route length reltime state EOF EOFL, f 52; #X obj 536 323 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 462 343 end bang; #X text 488 374 seeking value between 0 and 1 is "relative seek" (0. - 1 representing the whole length), f 31; #X floatatom 362 239 5 2 500 0 - - -, f 5; #X msg 394 239 smooth \$1; #X text 462 238 crossfade in ms when seeking (2 - 500) \, def 5ms, f 29; #X obj 454 39 namecanvas \$0-ol_help; #N canvas 1016 50 626 800 init 0; #X obj 470 388 cnv 8 120 25 empty empty empty 20 12 0 14 -204786 -66577 0; #X obj 97 553 cnv 8 300 80 empty empty empty 20 12 0 14 -204786 -66577 0; #X obj 461 76 cnv 8 120 26 empty empty empty 20 12 0 14 -204786 -66577 0; #X obj 60 287 cnv 8 200 25 empty empty empty 20 12 0 14 -204786 -66577 0; #X msg 245 33 vis 0 \, relocate \$3x\$4+0+0 0x0+\$1+\$2 \, vis 1 \, editmode 0; #X obj 245 55 s \$0-ol_help; #X msg 118 64 300 50 700 500; #X obj 118 219 s \$0-frame-r; #X floatatom 118 176 5 0 0 0 - - -, f 5; #X obj 28 450 s \$0-title-r; #X msg 98 406 label \$1; #X floatatom 263 143 5 0 0 0 - - -, f 5; #X obj 263 183 s \$0-bgnd-r; #X obj 56 119 del 10; #X obj 56 99 t b b; #X text 244 80 1.) set pos and size of main window; #X msg 172 115 \$3; #X obj 118 132 f; #X text 151 143 minus frame sizes, f 11; #X text 124 266 2.) set name of title; #X obj 56 141 s \$0-lb; #X obj 118 107 r \$0-lb; #X obj 29 244 r \$0-lb; #X obj 29 406 unpack 0 s; #X text 175 530 3.) set description; #X obj 263 262 s \$0-frame2-r; #X obj 182 463 s \$0-text1-r; #X obj 29 626 cnv 3 68 15 empty empty empty 2 7 0 10 -257985 -66577 0; #N canvas 341 335 425 542 tosymbol 0; #X obj 67 94 list length; #X obj 67 42 list; #X obj 101 226 list, f 7; #X obj 67 175 f, f 10; #X obj 154 175 + 1; #X obj 67 150 until; #X obj 101 251 list split; #X msg 157 94 0; #X obj 139 276 list split 1; #X obj 139 361 list fromsymbol; #X obj 139 302 route symbol float; #X obj 191 329 makefilename %s; #X obj 139 435 textfile; #X msg 202 94 clear; #X obj 139 387 list prepend add2; #X obj 67 201 t b b b f; #X obj 79 276 + 1; #X obj 67 122 t f f; #X obj 78 300 <; #X obj 20 335 spigot; #X msg 20 394 add2 32; #X obj 139 411 list trim; #X obj 67 335 f; #X obj 67 361 sel 0; #X obj 139 463 list tosymbol; #X obj 67 68 t l l b b, f 23; #X text 184 486 symbol out with correct spaces; #X text 57 2 string in; #X msg 136 25 #/zi 3 4 oo ä; #X msg 229 25 1.23457e+019; #X floatatom 315 28 5 0 0 0 - - -, f 5; #X obj 67 22 cnv 13 34 15 empty empty empty 2 2 0 9 -163816 -66577 0; #X obj 139 487 cnv 14 40 15 empty empty empty 2 2 0 9 -163840 -66577 0; #X obj 67 21 inlet; #X obj 139 486 outlet; #X connect 0 0 17 0; #X connect 1 0 25 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 3 0 15 0; #X connect 4 0 3 1; #X connect 5 0 3 0; #X connect 6 1 8 0; #X connect 7 0 3 1; #X connect 8 0 10 0; #X connect 9 0 14 0; #X connect 10 0 9 0; #X connect 10 1 11 0; #X connect 11 0 9 0; #X connect 12 0 24 0; #X connect 13 0 12 0; #X connect 14 0 21 0; #X connect 15 0 22 0; #X connect 15 1 19 0; #X connect 15 2 2 0; #X connect 15 3 6 1; #X connect 15 3 16 0; #X connect 16 0 18 0; #X connect 17 0 5 0; #X connect 17 1 18 1; #X connect 18 0 19 1; #X connect 18 0 22 1; #X connect 19 0 20 0; #X connect 20 0 12 0; #X connect 21 0 12 0; #X connect 22 0 23 0; #X connect 23 0 12 0; #X connect 24 0 34 0; #X connect 25 0 0 0; #X connect 25 1 2 1; #X connect 25 2 7 0; #X connect 25 3 13 0; #X connect 28 0 1 0; #X connect 29 0 1 0; #X connect 30 0 1 0; #X connect 33 0 1 0; #X restore 28 625 pd tosymbol; #X obj 199 390 r \$0-lb; #X obj 199 413 t b b; #X obj 268 463 s \$0-text2-r; #X obj 354 463 s \$0-text3-r; #X msg 28 488 bang; #X msg 118 195 vis_size \$1 45; #X msg 263 240 vis_size \$1 43; #X text 349 389 init text labels; #X obj 28 719 pack s 0 0; #X msg 28 740 label \$1 \, label_pos \$2 \$3; #X obj 531 524 unpack; #X msg 531 500 13 -33; #X floatatom 493 391 5 0 0 0 - - -, f 5; #X floatatom 531 391 5 0 0 0 - - -, f 5; #X obj 531 421 t b f; #X msg 545 471 set \$1 \$2; #X obj 493 471 t b b l; #X text 503 370 x; #X text 540 370 y; #X text 466 352 4.) set label position; #X obj 564 545 f; #X msg 321 367 color \$1 \$1 \$1; #X msg 263 161 vis_size \$1 55; #X msg 260 413 size 1 \, pos 300 55 \, vis_size 1 1 \, color \$1 \$1 2 \, label_font 1 11 \, label, f 26; #X floatatom 79 174 5 0 0 0 - - -, f 5; #X obj 118 153 - 13; #X obj 263 122 + 10; #X obj 263 219 - 254; #X obj 56 56 t b f; #X msg 260 390 -1.47533e+006; #X msg 260 368 set \$1; #X obj 56 11 loadbang; #N canvas 36 456 791 300 better_colors 0; #X obj 89 19 inlet; #X obj 320 262 outlet; #X obj 89 40 random 10; #X obj 89 61 sel 0 1 2 3 4 5 6 7 8 9, f 83; #X obj 320 239 expr ($f1*(-65536)+$f2*(-256)+$f3*(-1))-1; #X msg 16 162 140 0 0; #X msg 69 162 0 156 144; #X msg 136 162 0 140 0; #X msg 252 162 231 112 0; #X msg 191 162 100 0 255; #X msg 317 162 100 100 100; #X msg 397 162 255 255 0; #X msg 541 162 123 33 5; #X msg 464 162 22 131 5; #X msg 607 163 147 0 163; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 3 3 9 0; #X connect 3 4 8 0; #X connect 3 5 10 0; #X connect 3 6 11 0; #X connect 3 7 13 0; #X connect 3 8 12 0; #X connect 3 9 14 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 4 0; #X connect 7 0 4 0; #X connect 8 0 4 0; #X connect 9 0 4 0; #X connect 10 0 4 0; #X connect 11 0 4 0; #X connect 12 0 4 0; #X connect 13 0 4 0; #X connect 14 0 4 0; #X restore 56 34 pd better_colors; #X obj 56 78 del 50; #X msg 170 17 bang; #X text 200 114 width; #X msg 29 428 label_pos \$1 21; #X obj 479 124 list prepend set; #X obj 479 146 list trim; #X text 246 10 probably dangerous when initialized with loadbang!; #X msg 29 383 66 ol_readsf~; #X obj 28 775 s \$0-text1-r; #X obj 195 719 pack s 0 0; #X obj 195 775 s \$0-text2-r; #X obj 351 719 pack s 0 0; #X msg 351 740 label \$1 \, label_pos \$2 \$3; #X obj 351 775 s \$0-text3-r; #X obj 28 648 list prepend 0; #X obj 564 567 + 14; #X obj 564 590 + 14; #X obj 28 510 t b b b b b b b, f 20; #X obj 28 672 route 1 2 3, f 66; #X msg 86 532 2, f 1; #X msg 125 531 1, f 1; #X msg 47 532 3, f 1; #X msg 153 608 empty; #X obj 531 272 loadbang; #X msg 531 293 set -26; #X floatatom 73 292 5 0 0 0 - - -, f 5; #X symbolatom 108 292 20 0 0 0 - - -, f 20; #X obj 73 333 pack 0 s; #X obj 108 310 t b s; #X obj 73 354 t b l; #X msg 113 354 set \$1 \$2; #X msg 73 261 set 66; #X obj 493 448 pack 0 -26; #X msg 135 584 (useful for use with video synching); #X msg 106 560 modified readsf~. can seek and sends out playing position ; #X msg 195 740 label \$1 \, label_pos \$2 \$3 \, label_font 1 10, f 23; #X msg 479 80 300 50 700 500; #X connect 4 0 5 0; #X connect 6 0 16 0; #X connect 8 0 34 0; #X connect 8 0 55 0; #X connect 8 0 56 0; #X connect 10 0 9 0; #X connect 11 0 51 0; #X connect 13 0 20 0; #X connect 14 0 13 0; #X connect 14 1 6 0; #X connect 16 0 17 1; #X connect 17 0 54 0; #X connect 21 0 17 0; #X connect 22 0 69 0; #X connect 22 0 93 0; #X connect 23 0 65 0; #X connect 23 1 10 0; #X connect 28 0 76 0; #X connect 29 0 30 0; #X connect 30 0 79 0; #X connect 30 1 40 0; #X connect 30 1 58 0; #X connect 33 0 79 0; #X connect 34 0 7 0; #X connect 35 0 25 0; #X connect 37 0 38 0; #X connect 38 0 70 0; #X connect 39 0 37 1; #X connect 39 0 71 1; #X connect 39 0 73 1; #X connect 39 1 49 0; #X connect 40 0 39 0; #X connect 41 0 94 0; #X connect 42 0 43 0; #X connect 43 0 94 0; #X connect 43 1 94 1; #X connect 44 0 40 0; #X connect 45 0 33 0; #X connect 45 1 40 0; #X connect 45 2 44 0; #X connect 49 0 37 2; #X connect 49 0 77 0; #X connect 50 0 12 0; #X connect 51 0 12 0; #X connect 52 0 26 0; #X connect 52 0 31 0; #X connect 52 0 32 0; #X connect 53 0 34 0; #X connect 54 0 8 0; #X connect 55 0 11 0; #X connect 56 0 35 0; #X connect 57 0 62 0; #X connect 57 1 59 0; #X connect 58 0 52 0; #X connect 58 0 50 0; #X connect 59 0 58 0; #X connect 60 0 61 0; #X connect 61 0 57 0; #X connect 62 0 14 0; #X connect 63 0 61 0; #X connect 65 0 9 0; #X connect 66 0 67 0; #X connect 67 0 6 0; #X connect 69 0 23 0; #X connect 71 0 97 0; #X connect 73 0 74 0; #X connect 74 0 75 0; #X connect 76 0 80 0; #X connect 77 0 71 2; #X connect 77 0 78 0; #X connect 78 0 73 2; #X connect 79 0 84 0; #X connect 79 1 83 0; #X connect 79 2 95 0; #X connect 79 3 81 0; #X connect 79 4 96 0; #X connect 79 5 82 0; #X connect 80 0 37 0; #X connect 80 1 71 0; #X connect 80 2 73 0; #X connect 81 0 76 1; #X connect 82 0 76 1; #X connect 83 0 76 1; #X connect 84 0 28 0; #X connect 85 0 86 0; #X connect 86 0 42 0; #X connect 87 0 89 0; #X connect 88 0 90 0; #X connect 89 0 91 0; #X connect 90 0 87 0; #X connect 90 1 89 1; #X connect 91 0 69 0; #X connect 91 1 92 0; #X connect 92 0 69 0; #X connect 93 0 87 0; #X connect 94 0 45 0; #X connect 95 0 28 0; #X connect 96 0 28 0; #X connect 97 0 72 0; #X connect 98 0 4 0; #X connect 98 0 66 0; #X restore 9 38 pd init; #X obj 1 1 cnv 8 697 55 \$0-bgnd \$0-bgnd-r empty 0 20 0 4 -22530 -22530 0; #X obj 5 6 cnv 8 687 45 \$0-frame \$0-frame-r empty 20 20 0 14 -1 -262144 0; #X obj 6 7 cnv 15 250 43 \$0-title \$0-title-r ol_readsf~ 66 21 1 24 -236864 -64 0; #X obj 258 7 cnv 15 433 43 \$0-frame2 \$0-frame2-r empty 25 18 1 24 -216384 -4160 0; #X obj 300 55 cnv 1 1 1 \$0-text1 \$0-text1-r modified readsf~. can seek and sends out playing position 13 -33 1 11 -22530 -66577 0; #X obj 300 55 cnv 1 1 1 \$0-text2 \$0-text2-r (useful for use with video synching) 13 -19 1 10 -22530 -66577 0; #X obj 300 55 cnv 1 1 1 \$0-text3 \$0-text3-r empty 13 -5 1 11 -22530 -66577 0; #X obj 18 246 cnv 3 68 15 empty empty empty 2 7 0 10 -257985 -66577 0; #N canvas 0 50 413 516 tosymbol 0; #X obj 67 94 list length; #X obj 67 42 list; #X obj 101 226 list, f 7; #X obj 67 175 f, f 10; #X obj 154 175 + 1; #X obj 67 150 until; #X obj 101 251 list split; #X msg 157 94 0; #X obj 139 276 list split 1; #X obj 139 361 list fromsymbol; #X obj 139 302 route symbol float; #X obj 191 329 makefilename %s; #X obj 139 435 textfile; #X msg 202 94 clear; #X obj 139 387 list prepend add2; #X obj 67 201 t b b b f; #X obj 79 276 + 1; #X obj 67 122 t f f; #X obj 78 300 <; #X obj 20 335 spigot; #X msg 20 394 add2 32; #X obj 139 411 list trim; #X obj 67 335 f; #X obj 67 361 sel 0; #X obj 139 458 list tosymbol; #X obj 67 68 t l l b b, f 23; #X text 184 481 symbol out with correct spaces; #X text 57 2 string in; #X msg 136 25 #/zi 3 4 oo ä; #X msg 229 25 1.23457e+019; #X floatatom 315 28 5 0 0 0 - - -, f 5; #X obj 67 22 cnv 13 34 15 empty empty empty 2 2 0 9 -163816 -66577 0; #X obj 139 482 cnv 14 40 15 empty empty empty 2 2 0 9 -163840 -66577 0; #X obj 67 21 inlet; #X obj 139 481 outlet; #X connect 0 0 17 0; #X connect 1 0 25 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 3 0 15 0; #X connect 4 0 3 1; #X connect 5 0 3 0; #X connect 6 1 8 0; #X connect 7 0 3 1; #X connect 8 0 10 0; #X connect 9 0 14 0; #X connect 10 0 9 0; #X connect 10 1 11 0; #X connect 11 0 9 0; #X connect 12 0 24 0; #X connect 13 0 12 0; #X connect 14 0 21 0; #X connect 15 0 22 0; #X connect 15 1 19 0; #X connect 15 2 2 0; #X connect 15 3 6 1; #X connect 15 3 16 0; #X connect 16 0 18 0; #X connect 17 0 5 0; #X connect 17 1 18 1; #X connect 18 0 19 1; #X connect 18 0 22 1; #X connect 19 0 20 0; #X connect 20 0 12 0; #X connect 21 0 12 0; #X connect 22 0 23 0; #X connect 23 0 12 0; #X connect 24 0 34 0; #X connect 25 0 0 0; #X connect 25 1 2 1; #X connect 25 2 7 0; #X connect 25 3 13 0; #X connect 28 0 1 0; #X connect 29 0 1 0; #X connect 30 0 1 0; #X connect 33 0 1 0; #X restore 17 245 pd tosymbol; #X obj 180 265 dac~, f 7; #X obj 453 541 cnv 10 220 20 empty empty needs_IEMLIB1_and_IEMLIB2 10 11 0 14 -4160 -262144 0; #X obj 453 557 cnv 4 220 4 empty empty empty 10 11 0 14 -4160 -262144 0; #X obj 17 476 hradio 14 1 0 8 \$0-blockasms \$0-blockasms-r Blocksize_as_ms 0 -8 1 10 -262144 -1 -1 0; #X obj 18 508 cnv 15 80 15 empty empty empty 20 12 0 14 -257985 -66577 0; #N canvas 1182 531 471 250 blocksizes 0; #X obj 103 17 r \$0-blockasms; #X obj 103 83 pow; #X msg 103 62 2 \$1; #X obj 103 39 + 6; #X obj 37 151 / 44.1; #X obj 184 149 / 48; #X msg 37 175 set \$1; #X msg 184 173 set \$1; #X obj 37 200 s \$0-44100-r; #X obj 184 197 s \$0-48000-r; #X obj 350 130 loadbang; #X obj 350 151 del 10; #X msg 350 173 0; #X obj 350 196 s \$0-blockasms-r; #X obj 303 28 makefilename %d; #X msg 303 50 label \$1; #X obj 303 72 s \$0-bs-r; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 1 0 5 0; #X connect 1 0 14 0; #X connect 2 0 1 0; #X connect 3 0 2 0; #X connect 4 0 6 0; #X connect 5 0 7 0; #X connect 6 0 8 0; #X connect 7 0 9 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 14 0 15 0; #X connect 15 0 16 0; #X restore 17 507 pd blocksizes; #X obj 183 476 nbx 5 13 -1e+037 1e+037 0 0 \$0-44100 \$0-44100-r 44100 7 -7 1 10 -262144 -1 -4160 1.45125 256; #X obj 235 476 nbx 5 13 -1e+037 1e+037 0 0 \$0-48000 \$0-48000-r 48000 7 -7 1 10 -262144 -1 -4160 1.33333 256; #X obj 10 472 cnv 6 100 2 \$0-bs \$0-bs-r 64 128 11 1 12 -262144 -159808 0; #X obj 196 122 ol_readsf~ 256 1; #X text 16 416 1.) blocksize (default = 128), f 46; #X text 16 439 3.) sync-output send name; #X text 16 428 2.) sound output to outlets (0) or to DAC (1); #X text 243 314 length in ms, f 6; #X text 562 319 end bang when in loop mode, f 13; #X text 16 344 sending a symbol alone also starts playing, f 22; #X text 348 453 sending a symbol to [ol_sfplayer~] loads that soundfile and immediately starts playing. \; symbols prepended by "open" \, "load" or "read" just loads the soundfile., f 49; #X connect 5 0 29 0; #X connect 6 0 29 0; #X connect 7 0 29 0; #X connect 8 0 29 0; #X connect 9 0 29 0; #X connect 10 0 8 0; #X connect 11 0 5 0; #X connect 12 0 9 0; #X connect 13 0 17 0; #X connect 14 0 13 0; #X connect 15 0 18 0; #X connect 17 0 60 0; #X connect 18 0 24 0; #X connect 19 0 17 0; #X connect 21 0 6 0; #X connect 23 0 70 0; #X connect 28 0 30 0; #X connect 30 0 29 0; #X connect 35 0 61 0; #X connect 36 0 61 1; #X connect 37 0 38 0; #X connect 40 0 8 0; #X connect 41 0 40 0; #X connect 43 0 2 0; #X connect 43 1 15 0; #X connect 43 2 20 0; #X connect 43 2 21 0; #X connect 43 3 3 0; #X connect 43 4 44 0; #X connect 43 5 22 0; #X connect 47 0 48 0; #X connect 48 0 29 0; #X connect 60 0 25 0; #X connect 70 0 35 0; #X connect 70 1 36 0; #X connect 70 1 37 0; #X connect 70 2 1 0; #X connect 70 3 43 0;