aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-11-17 05:57:41 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-11-17 05:57:41 +0000
commit1d377d2d70e7e9842e79c2a7cc81d1f05bc1309a (patch)
tree6a8a160c7bbb4d8bcd89dd7446d4b5f4dae56130
parentd8dfb27fef46810b312678fc95ed6162cb341922 (diff)
got it looping more or less correctly, but its got a nasty click on each frame...
svn path=/trunk/externals/framesync/; revision=12789
-rw-r--r--fstablooper~-help.pd89
-rw-r--r--fstablooper~.pd179
2 files changed, 169 insertions, 99 deletions
diff --git a/fstablooper~-help.pd b/fstablooper~-help.pd
index 36d0166..6246ccf 100644
--- a/fstablooper~-help.pd
+++ b/fstablooper~-help.pd
@@ -1,38 +1,57 @@
-#N canvas 463 304 574 472 10;
+#N canvas 50 421 594 533 10;
#X text 30 7 loops a sound file between a startframe and endframe;
-#X text 138 179 start;
-#X text 139 191 frame;
-#X text 223 191 frame;
-#X text 223 181 end;
-#X text 34 230 audio out;
-#X text 56 189 filename;
-#X obj 177 49 frameclock 400;
-#X obj 61 407 output~;
-#X text 318 206 args: filename startframe# endframe#;
-#X text 33 138 This will loop the voice.wav sound file starting at
+#X text 133 227 start;
+#X text 134 239 frame;
+#X text 216 239 frame;
+#X text 215 229 end;
+#X text 29 278 audio out;
+#X obj 90 68 frameclock 400;
+#X obj 56 455 output~;
+#X text 31 187 This will loop the voice.wav sound file starting at
frame 50 and ending at frame 200:;
-#X obj 313 281 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 12700 1;
-#X floatatom 310 300 5 0 0 0 - - -;
-#X obj 61 208 fsfilelooper~ ../../sound/voice.wav 50 200;
-#X obj 310 260 line;
-#X text 204 227 right outlet outputs a message to send to a line which
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array \$0-array 62079 float 2;
+#X coords 0 1 62079 -1 100 70 1;
+#X restore 420 19 graph;
+#X obj 402 121 symbol \$0-array;
+#X obj 402 165 soundfiler;
+#X obj 402 100 loadbang;
+#X msg 460 101 bang;
+#X text 238 255 args: array startframe# endframe#;
+#X text 49 236 array;
+#X obj 259 330 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 256 349 5 0 0 0 - - -;
+#X obj 256 309 line;
+#X text 149 276 right outlet outputs a message to send to a line which
will generate a line with 0 at the start and 1 at the end;
-#X obj 139 382 *~;
-#X obj 154 362 line~;
-#X obj 139 306 osc~ 333;
-#X msg 231 333 0;
-#X obj 139 327 *~ 0.3;
-#X obj 231 312 select 1;
-#X connect 11 0 12 0;
-#X connect 13 0 8 0;
-#X connect 13 1 14 0;
-#X connect 13 1 17 0;
-#X connect 14 0 11 0;
-#X connect 14 0 21 0;
-#X connect 16 0 8 1;
-#X connect 17 0 16 1;
-#X connect 18 0 20 0;
-#X connect 19 0 17 0;
-#X connect 20 0 16 0;
-#X connect 21 0 19 0;
+#X obj 85 431 *~;
+#X obj 100 411 line~;
+#X obj 85 355 osc~ 333;
+#X msg 177 382 0;
+#X obj 85 376 *~ 0.3;
+#X obj 177 361 select 1;
+#X msg 90 42 33;
+#X msg 123 42 53;
+#X msg 152 40 54;
+#X msg 402 142 read ../../sound/bell.aiff \$1;
+#X obj 62 256 fstablooper~ \$0-array 10 155;
+#X connect 10 0 29 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X connect 16 0 17 0;
+#X connect 18 0 16 0;
+#X connect 18 0 25 0;
+#X connect 20 0 7 1;
+#X connect 21 0 20 1;
+#X connect 22 0 24 0;
+#X connect 23 0 21 0;
+#X connect 24 0 20 0;
+#X connect 25 0 23 0;
+#X connect 26 0 6 0;
+#X connect 27 0 6 0;
+#X connect 28 0 6 0;
+#X connect 29 0 11 0;
+#X connect 30 0 7 0;
+#X connect 30 1 18 0;
+#X connect 30 1 21 0;
diff --git a/fstablooper~.pd b/fstablooper~.pd
index 0ac4c53..22ff01e 100644
--- a/fstablooper~.pd
+++ b/fstablooper~.pd
@@ -1,73 +1,124 @@
-#N canvas 705 374 707 506 10;
+#N canvas 742 370 858 542 10;
#X obj 301 4 inlet;
-#X obj 131 458 outlet~;
-#X obj 224 325 samplerate~;
-#X obj 204 120 / 1000;
-#X obj 224 348 *;
-#X obj 99 100 trigger bang float;
-#X obj 131 375 *;
-#X obj 131 397 pack float float;
-#X obj 224 376 + 100;
+#X obj 131 508 outlet~;
+#X obj 169 100 trigger bang float;
+#X obj 131 335 *;
+#X obj 131 437 pack float float;
#X obj 301 83 purepd/symbol_argument \$1;
-#X obj 222 30 loadbang;
+#X obj 224 26 loadbang;
#X obj 504 11 inlet;
#X text 544 8 frame # when to play;
#X obj 504 82 purepd/float_argument \$2;
-#X obj 104 300 moses;
-#X obj 131 324 moses;
-#X obj 158 231 /;
-#X obj 158 251 int;
-#X obj 158 271 + 1;
-#X obj 131 353 -;
-#X obj 158 299 +;
-#X obj 194 458 outlet;
-#X text 240 458 bang when done;
-#X obj 131 431 tabplay~ \$1;
-#X msg 301 396 set \$1;
-#X obj 99 78 framesync/fps_ms;
-#X obj 222 50 trigger bang bang bang;
+#X obj 104 190 moses;
+#X obj 131 210 moses;
+#X obj 131 241 -;
+#X obj 314 508 outlet;
+#X text 360 508 bang when done;
+#X obj 131 481 tabplay~ \$1;
+#X msg 301 436 set \$1;
+#X obj 169 78 framesync/fps_ms;
#X obj 22 48 receive framesync/frameclock;
#X text 19 31 current frame #;
-#X floatatom 101 204 0 0 0 0 - - -;
-#X floatatom 234 158 0 0 0 0 - - -;
-#X obj 234 427 pddp/print;
#X text 342 3 array to play;
-#X obj 99 169 flatspace/arraysize;
-#X connect 0 0 9 0;
-#X connect 2 0 4 0;
-#X connect 3 0 4 1;
-#X connect 3 0 16 1;
-#X connect 3 0 30 0;
-#X connect 4 0 6 1;
-#X connect 4 0 8 0;
-#X connect 5 0 2 0;
-#X connect 5 0 33 0;
-#X connect 5 1 3 0;
-#X connect 6 0 7 0;
-#X connect 7 0 23 0;
-#X connect 7 0 31 0;
-#X connect 8 0 7 1;
+#X obj 674 11 inlet;
+#X obj 674 82 purepd/float_argument \$3;
+#X text 714 8 frame # when to stop;
+#X floatatom 517 105 5 0 0 0 - - -;
+#X floatatom 683 107 5 0 0 0 - - -;
+#N canvas 425 103 450 300 repeat 0;
+#X obj 39 7 inlet;
+#X obj 39 259 outlet;
+#X obj 72 156 flatspace/arraysize;
+#X obj 183 7 inlet;
+#X obj 39 68 trigger bang bang;
+#X obj 39 197 *;
+#X msg 98 47 0;
+#X obj 98 7 inlet;
+#X obj 98 27 bang;
+#X text 128 28 reset;
+#X floatatom 50 221 0 0 0 0 - - -;
+#X msg 117 132 bang;
+#X floatatom 81 182 0 0 0 0 - - -;
+#X obj 39 110 +;
+#X obj 68 110 float;
+#X msg 39 89 1;
+#X floatatom 48 135 5 0 0 0 - - -;
+#X connect 0 0 4 0;
+#X connect 2 0 5 1;
+#X connect 2 0 12 0;
+#X connect 3 0 2 1;
+#X connect 4 0 15 0;
+#X connect 4 1 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 14 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 11 0 2 0;
+#X connect 13 0 5 0;
+#X connect 13 0 14 0;
+#X connect 13 0 16 0;
+#X connect 14 0 13 1;
+#X connect 15 0 13 0;
+#X restore 146 377 pd repeat logic;
+#X obj 224 293 *;
+#X obj 224 252 samplerate~;
+#X obj 224 46 trigger bang bang bang bang bang;
+#X msg 285 26 bang;
+#X obj 158 294 bang;
+#X obj 239 273 / 1000;
+#X text 264 397 this is the margin of error...;
+#X obj 131 397 -;
+#X obj 232 479 bang;
+#X obj 232 501 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 41 361 bang;
+#X obj 34 509 print;
+#X floatatom 237 437 5 0 0 0 - - -;
+#X obj 224 398 + 222;
+#X obj 131 417 int;
+#X connect 0 0 5 0;
+#X connect 2 1 32 0;
+#X connect 3 0 34 0;
+#X connect 4 0 15 0;
+#X connect 4 0 38 0;
+#X connect 5 0 16 0;
+#X connect 5 0 26 2;
+#X connect 6 0 29 0;
+#X connect 7 0 9 0;
+#X connect 9 0 12 1;
+#X connect 9 0 10 1;
#X connect 9 0 24 0;
-#X connect 9 0 33 1;
-#X connect 10 0 26 0;
-#X connect 11 0 13 0;
-#X connect 13 0 19 1;
-#X connect 13 0 14 1;
-#X connect 13 0 20 1;
-#X connect 14 1 15 0;
-#X connect 15 0 19 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 20 0;
-#X connect 19 0 6 0;
-#X connect 20 0 15 1;
-#X connect 23 0 1 0;
-#X connect 23 1 21 0;
-#X connect 24 0 23 0;
-#X connect 25 0 5 0;
-#X connect 26 0 25 0;
-#X connect 26 1 9 0;
-#X connect 26 2 13 0;
-#X connect 27 0 14 0;
-#X connect 33 0 16 0;
-#X connect 33 0 29 0;
+#X connect 10 0 26 1;
+#X connect 10 1 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 31 0;
+#X connect 12 0 3 0;
+#X connect 15 0 1 0;
+#X connect 15 1 35 0;
+#X connect 16 0 15 0;
+#X connect 17 0 2 0;
+#X connect 18 0 10 0;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 22 0 11 1;
+#X connect 26 0 34 1;
+#X connect 27 0 3 1;
+#X connect 27 0 40 0;
+#X connect 28 0 27 0;
+#X connect 29 0 28 0;
+#X connect 29 1 17 0;
+#X connect 29 2 5 0;
+#X connect 29 3 9 0;
+#X connect 29 4 22 0;
+#X connect 30 0 29 0;
+#X connect 31 0 26 1;
+#X connect 32 0 27 1;
+#X connect 34 0 41 0;
+#X connect 35 0 26 0;
+#X connect 35 0 36 0;
+#X connect 37 0 26 0;
+#X connect 40 0 4 1;
+#X connect 40 0 39 0;
+#X connect 41 0 4 0;