Thanks for all the replies. What I'm trying to do is make an abstraction in which I can load a soundfile (mono, 44100) which are all between about 2-6 mins in length. I have been using phasor~ because I want to play the files forwards and backwards and change slowly between the two. I also want to be able to pause and seek within the file using a slider. The main issue I'm having is catching the end of the phasor~ - either when it's going forwards or backwards. I've attached my patch.

thanks

James

Quoth Lorenzo Sutton, on 20/09/2011 10:56:
Hi James,

On 19/09/2011 20:33, James Dunn wrote:
Hi list,

I'm controlling tabread4~ with a phasor~ but don't want my samples to
loop (most of the time). What's the best way to detect a phasor~'s
reset? ( in both directions - I'm playing the samples forwards and
backwards). I've looked at edge~ and samphold~ triggered by a bang~ but
it seems quite tricky.

After all the debate... I think it would help if you gave a little background on what you are trying to achieve and some further info :-) For example: time magnitude of the samples' playback (seconds, 100-1000 ms, 0-20 ms?)... What's your foreseen CPU-resources budget?

"The best way" much depends on what your final goal is. E.g. as someone suggested might get away with [(v)line~], but that has its shortcomings, same goes with the other suggestions.

Lorenzo.


thanks

James

_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list



_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list


#N canvas 653 259 450 300 10;
#X obj 163 83 % 60;
#X obj 232 83 / 60;
#X obj 232 103 i;
#X obj 163 123 makefilename %02d;
#X obj 163 163 l2s :;
#X obj 163 143 list prepend;
#X obj 163 183 outlet;
#X obj 163 41 inlet;
#X obj 163 61 trigger f f;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 1;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 8 1 1 0;
#N canvas 342 45 762 615 10;
#X obj 425 207 soundfiler;
#N canvas 0 22 450 300 array 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array \$0-track 9.52933e+06 float 2;
#X coords 0 1 9.52933e+06 -1 200 140 1;
#X restore 100 20 graph;
#X restore 17 454 pd array;
#X obj 214 10 loadbang;
#X msg 214 31 \; pd dsp 1;
#X obj 425 47 openpanel;
#X obj 463 147 splitfilename /;
#X obj 410 290 phasor~;
#X obj 410 361 tabread4~ \$0-track;
#X obj 410 341 *~;
#X obj 425 250 expr 44100/$f1;
#X obj 425 167 pack s \$0;
#X obj 410 381 hip~ 5;
#X obj 534 321 snapshot~;
#X obj 534 296 bang~;
#X obj 425 7 r \$0-open;
#X obj 425 321 r \$0-sample-size;
#X obj 433 229 s \$0-sample-size;
#X msg 425 27 symbol /Users/james/Indifference/Final/Music;
#X obj 449 270 r \$0-pos;
#X obj 410 447 *~;
#X obj 440 401 r \$0-vol-snd;
#X obj 425 427 *;
#X obj 410 487 *~;
#X obj 425 467 r \$0-state;
#X obj 583 429 s \$0-pos-rcv;
#X obj 644 287 / 44100;
#X obj 652 329 s \$0-pos-rcv;
#X msg 652 309 range 0 \$1;
#X obj 534 361 *;
#X obj 575 409 change;
#X obj 664 429 mins-secs;
#X obj 664 517 l2s /;
#X msg 664 537 label \$1;
#X obj 664 557 s \$0-pos-rcv;
#X obj 664 497 list append;
#X obj 664 449 trigger b s;
#X obj 664 469 init 0:00;
#X msg 425 187 read -resize -maxsize 1e+09 \$1 \$2-track;
#X obj 550 167 splitfilename .;
#X obj 410 531 dac~;
#X obj 418 511 s~ \$0-track;
#X obj 410 270 *;
#X obj 644 351 s \$0-secs;
#X obj 664 409 r \$0-secs;
#X obj 549 341 r \$0-secs;
#X obj 644 267 r \$0-sample-size;
#X obj 1 1 cnv 15 198 248 \$0-cnv-snd \$0-cnv-rcv Makarena 75 14 0
12 -233017 -62784 0;
#X obj 9 9 bng 15 250 50 0 \$0-open empty Open 20 7 0 10 -262144 -1
-1;
#X obj 9 71 bng 15 250 50 0 \$0-play-snd \$0-play-rcv Play 20 7 0 10
-262144 -1 -1;
#X obj 12 46 hsl 175 15 0 216.085 0 0 \$0-pos-snd \$0-pos-rcv 0:00/3:36
-2 -8 0 10 -262144 -1 -1 0 1;
#X obj 9 91 bng 15 250 50 0 \$0-stop-snd \$0-stop-rcv Stop 20 7 0 10
-262144 -1 -1;
#X obj 9 151 bng 15 250 50 0 \$0-back-snd \$0-back-rcv Backwards 20
7 0 10 -262144 -1 -1;
#X obj 9 171 bng 15 250 50 0 \$0-half-snd \$0-half-rcv Half 20 7 0
10 -262144 -1 -1;
#X obj 12 128 hsl 175 15 -2 2 0 0 \$0-speed-snd \$0-speed-rcv Speed
-2 -8 0 10 -262144 -1 -1 13050 1;
#X obj 578 87 s \$0-stop-snd;
#X obj 214 83 r \$0-play-snd;
#X msg 214 170 1;
#X obj 214 214 s \$0-state;
#X obj 280 170 1;
#X obj 214 123 demux;
#X obj 241 103 r \$0-state;
#X obj 256 123 r \$0-stop-snd;
#X msg 241 170 0;
#X obj 295 143 r \$0-speed-snd;
#X obj 313 187 spigot;
#X obj 346 167 r \$0-state;
#X msg 501 107 1;
#X obj 501 127 s \$0-speed-rcv;
#X obj 361 201 > 0;
#X obj 361 221 s \$0-dir;
#X msg 539 87 0;
#X obj 534 439 -;
#X obj 534 409 t f f;
#X obj 534 459 abs;
#X obj 534 521 > 1;
#X obj 534 541 change;
#X obj 549 501 - 1;
#X obj 549 481 r \$0-secs;
#X obj 534 561 sel 1;
#X obj 256 143 t b b;
#X obj 256 319 s \$0-pos;
#X msg 256 294 0;
#X obj 283 234 r \$0-dir;
#X obj 256 274 demux;
#X msg 283 294 0.9999;
#X obj 283 254 == 0;
#X obj 539 107 s \$0-reset;
#X obj 214 234 r \$0-reset;
#X obj 12 209 hsl 175 15 0 1 0 1 \$0-vol-snd \$0-vol-rcv Volume -2
-8 0 10 -262144 -1 -1 13000 1;
#X obj 534 581 s \$0-stop-snd;
#X obj 575 451 mins-secs;
#X obj 550 227 s \$0-cnv-rcv;
#X msg 550 207 label \$1;
#X obj 425 67 trigger s s bang bang bang;
#X obj 17 301 \$0;
#X obj 17 281 r \$0-play-snd;
#X obj 17 354 r \$0-track-rcv;
#X obj 17 374 b;
#X obj 17 394 \$0;
#X obj 17 321 s current-track;
#X obj 17 414 s \$0-stop-snd;
#N canvas 0 22 450 300 half 0;
#X obj 125 40 r \$0-half-snd;
#X msg 125 104 0.5;
#X obj 125 80 demux;
#X msg 152 104 1;
#X obj 198 156 s \$0-speed-rcv;
#X obj 188 80 i;
#X obj 188 104 == 0;
#X obj 188 176 sel 1;
#X msg 215 196 label Half;
#X msg 188 216 label Normal;
#X obj 188 242 s \$0-half-rcv;
#X obj 221 60 r \$0-dir;
#X obj 221 80 sel 0;
#X obj 198 136 * 1;
#X msg 221 104 -1;
#X obj 152 60 r \$0-reset;
#X connect 0 0 2 0;
#X connect 1 0 5 0;
#X connect 1 0 13 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 5 0;
#X connect 3 0 13 0;
#X connect 5 0 6 0;
#X connect 6 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 7 1 8 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
#X connect 11 0 12 0;
#X connect 12 0 14 0;
#X connect 12 1 13 1;
#X connect 13 0 4 0;
#X connect 14 0 13 1;
#X connect 15 0 2 1;
#X restore 17 474 pd half;
#N canvas 0 22 450 300 backwards 0;
#X obj 209 53 r \$0-speed-snd;
#X obj 181 155 line;
#X obj 238 75 r \$0-state;
#X obj 238 95 * 1000;
#X obj 181 75 f;
#X obj 181 95 * -1;
#X obj 181 175 s \$0-speed-rcv;
#X obj 181 115 pack f f f;
#X msg 181 135 \$2 \, \$1 \$3;
#X obj 154 33 r \$0-back-snd;
#X obj 181 196 r \$0-state;
#X obj 154 216 demux;
#X obj 154 236 s \$0-stop-snd;
#X obj 154 53 t b b;
#X connect 0 0 7 1;
#X connect 0 0 4 1;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 7 2;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 1 0;
#X connect 9 0 13 0;
#X connect 10 0 11 1;
#X connect 11 0 12 0;
#X connect 13 0 11 0;
#X connect 13 1 4 0;
#X restore 17 494 pd backwards;
#X obj 534 381 i;
#N canvas 0 22 450 300 labels 0;
#X obj 105 145 s \$0-play-rcv;
#X obj 105 79 sel 1;
#X msg 105 119 label Pause;
#X msg 132 99 label Play;
#X obj 105 59 r \$0-state;
#X obj 255 79 sel 1;
#X obj 255 145 s \$0-back-rcv;
#X obj 255 59 r \$0-dir;
#X msg 282 99 label Forwards;
#X msg 255 119 label Backwards;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 9 0;
#X connect 5 1 8 0;
#X connect 7 0 5 0;
#X connect 8 0 6 0;
#X connect 9 0 6 0;
#X restore 17 514 pd labels;
#N canvas 0 22 450 300 seek 0;
#X obj 155 32 r \$0-pos-snd;
#X obj 155 72 + 0.499;
#X obj 155 92 i;
#X obj 211 52 r \$0-pos-rcv;
#X obj 155 122 >;
#X obj 211 72 route float;
#X obj 155 52 t f f;
#X obj 179 170 f;
#X obj 155 147 sel 1;
#X obj 196 122 <;
#X obj 179 194 /;
#X obj 206 170 r \$0-secs;
#X obj 179 234 s \$0-pos;
#X obj 179 214 min 0.9999;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 2 0 9 0;
#X connect 3 0 5 0;
#X connect 4 0 8 0;
#X connect 5 0 4 1;
#X connect 5 0 9 1;
#X connect 6 0 1 0;
#X connect 6 1 7 1;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 10 0 13 0;
#X connect 11 0 10 1;
#X connect 13 0 12 0;
#X restore 17 534 pd seek;
#X obj 133 354 loadbang;
#X obj 206 480 s \$0-cnv-rcv;
#X msg 160 377 label Track;
#X msg 155 397 label_pos 75 14;
#X msg 133 457 vis_size 198 248;
#X msg 148 417 label_font 0 12;
#X msg 140 437 color 10 18;
#X connect 0 0 16 0;
#X connect 0 0 9 0;
#X connect 2 0 3 0;
#X connect 4 0 93 0;
#X connect 5 1 38 0;
#X connect 6 0 8 0;
#X connect 6 0 12 0;
#X connect 7 0 11 0;
#X connect 8 0 7 0;
#X connect 9 0 41 1;
#X connect 10 0 37 0;
#X connect 11 0 19 0;
#X connect 12 0 28 0;
#X connect 13 0 12 0;
#X connect 14 0 17 0;
#X connect 15 0 8 1;
#X connect 17 0 4 0;
#X connect 18 0 6 1;
#X connect 19 0 22 0;
#X connect 20 0 21 1;
#X connect 20 0 21 0;
#X connect 21 0 19 1;
#X connect 22 0 39 0;
#X connect 22 0 40 0;
#X connect 23 0 22 1;
#X connect 25 0 27 0;
#X connect 25 0 42 0;
#X connect 27 0 26 0;
#X connect 28 0 103 0;
#X connect 29 0 24 0;
#X connect 29 0 90 0;
#X connect 30 0 35 0;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
#X connect 34 0 31 0;
#X connect 35 0 36 0;
#X connect 35 1 34 1;
#X connect 36 0 34 0;
#X connect 37 0 0 0;
#X connect 38 0 92 0;
#X connect 41 0 6 0;
#X connect 43 0 30 0;
#X connect 44 0 28 1;
#X connect 45 0 25 0;
#X connect 55 0 59 0;
#X connect 56 0 57 0;
#X connect 58 0 41 0;
#X connect 59 0 56 0;
#X connect 59 0 58 0;
#X connect 59 1 62 0;
#X connect 60 0 59 1;
#X connect 61 0 79 0;
#X connect 62 0 57 0;
#X connect 62 0 41 0;
#X connect 63 0 64 0;
#X connect 63 0 58 1;
#X connect 63 0 68 0;
#X connect 64 0 41 0;
#X connect 65 0 64 1;
#X connect 66 0 67 0;
#X connect 68 0 69 0;
#X connect 70 0 86 0;
#X connect 71 0 73 0;
#X connect 72 0 71 1;
#X connect 72 1 71 0;
#X connect 73 0 74 0;
#X connect 74 0 75 0;
#X connect 75 0 78 0;
#X connect 76 0 74 1;
#X connect 77 0 76 0;
#X connect 78 0 89 0;
#X connect 79 0 83 0;
#X connect 79 1 62 0;
#X connect 81 0 80 0;
#X connect 82 0 85 0;
#X connect 83 0 81 0;
#X connect 83 1 84 0;
#X connect 84 0 80 0;
#X connect 85 0 83 1;
#X connect 87 0 83 0;
#X connect 90 0 34 0;
#X connect 92 0 91 0;
#X connect 93 0 10 0;
#X connect 93 1 5 0;
#X connect 93 2 66 0;
#X connect 93 3 70 0;
#X connect 93 4 54 0;
#X connect 94 0 99 0;
#X connect 95 0 94 0;
#X connect 96 0 97 0;
#X connect 97 0 98 0;
#X connect 98 0 100 0;
#X connect 103 0 29 0;
#X connect 103 0 72 0;
#X connect 106 0 108 0;
#X connect 106 0 109 0;
#X connect 106 0 110 0;
#X connect 106 0 111 0;
#X connect 106 0 112 0;
#X connect 108 0 107 0;
#X connect 109 0 107 0;
#X connect 110 0 107 0;
#X connect 111 0 107 0;
#X connect 112 0 107 0;
#X coords 0 -1 1 1 200 250 2 0 0;
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to