aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-11-17 07:19:48 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-11-17 07:19:48 +0000
commit020452159c326a3b475d55495d9fcd4d8d90d509 (patch)
tree53d20a896dcfccc5081601bf29f6980cc34c98a1
parent94c0bf22453ce44ea85afa8b2b498df9c35bb454 (diff)
removed stupid reset/delay kludge from frameclock and implemented a better way to handle frame jumping: it checkes whether the current frame is one different than the previous, otherwise it resets. I ported the fstablooper~ guts to fstabplay~ too
svn path=/trunk/externals/framesync/; revision=12791
-rw-r--r--frameclock.pd26
-rw-r--r--fstablooper~-help.pd7
-rw-r--r--fstablooper~.pd98
-rw-r--r--fstabplay~-help.pd20
-rw-r--r--fstabplay~.pd147
5 files changed, 159 insertions, 139 deletions
diff --git a/frameclock.pd b/frameclock.pd
index 7cf60b8..b00a5e2 100644
--- a/frameclock.pd
+++ b/frameclock.pd
@@ -52,28 +52,6 @@ empty 0 -8 0 16 -233017 -33289 -33289 0 256;
#X obj 555 64 framesync/fps_ms;
#X obj 24 14 inlet;
#X text 65 13 set frame position;
-#N canvas 0 22 450 300 delay 0;
-#X obj 48 11 inlet;
-#X obj 48 265 outlet;
-#X obj 48 229 float;
-#X obj 48 143 framesync/fps_ms;
-#X obj 48 165 * 2;
-#X obj 48 186 delay;
-#X text 78 42 in the tabplay~-based objects \, the re-triggering is
-based on a delay that resets if it doesn't receive the next frame on
-time. So to jump to a frame \, stop the clock \, wait a bit \, then
-hard set \, and restart;
-#X obj 48 102 trigger bang float bang;
-#X obj 183 264 outlet;
-#X connect 0 0 7 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X connect 7 0 3 0;
-#X connect 7 1 2 1;
-#X connect 7 2 8 0;
-#X restore 28 49 pd delay set;
#X connect 0 0 14 0;
#X connect 1 1 10 0;
#X connect 2 0 1 0;
@@ -107,7 +85,5 @@ hard set \, and restart;
#X connect 25 0 21 0;
#X connect 28 0 15 0;
#X connect 31 0 14 1;
-#X connect 32 0 34 0;
-#X connect 34 0 15 0;
-#X connect 34 1 29 0;
+#X connect 32 0 15 0;
#X coords 0 -1 1 1 159 62 1 120 120;
diff --git a/fstablooper~-help.pd b/fstablooper~-help.pd
index b188849..a19a2f4 100644
--- a/fstablooper~-help.pd
+++ b/fstablooper~-help.pd
@@ -1,4 +1,4 @@
-#N canvas 636 436 594 533 10;
+#N canvas 593 415 594 533 10;
#X text 30 7 loops a sound file between a startframe and endframe;
#X text 133 227 start;
#X text 134 239 frame;
@@ -34,8 +34,9 @@ will generate a line with 0 at the start and 1 at the end;
#X msg 90 42 33;
#X msg 123 42 53;
#X msg 402 142 read ../../sound/voice.wav \$1;
-#X msg 152 40 111;
-#X obj 62 256 fstablooper~ \$0-array 0 126;
+#X msg 152 42 111;
+#X obj 62 256 fstablooper~ \$0-array 20 126;
+#X text 180 41 <-- try jumping to a frame;
#X connect 10 0 28 0;
#X connect 12 0 10 0;
#X connect 13 0 10 0;
diff --git a/fstablooper~.pd b/fstablooper~.pd
index 982a21c..5442e3a 100644
--- a/fstablooper~.pd
+++ b/fstablooper~.pd
@@ -10,7 +10,6 @@
#X obj 131 210 moses;
#X obj 131 361 -;
#X obj 273 508 outlet;
-#X text 319 508 bang when done;
#X obj 131 481 tabplay~ \$1;
#X msg 301 436 set \$1;
#X obj 32 101 receive framesync/frameclock;
@@ -32,62 +31,77 @@
#X obj 131 420 %;
#X obj 224 396 flatspace/arraysize;
#X msg 212 430 stop;
-#N canvas 0 22 450 300 reset 0;
+#N canvas 289 281 450 300 reset 0;
#X obj 191 140 delay;
#X obj 191 119 bang;
#X obj 128 210 purepd/once;
#X obj 221 119 + 1;
-#X obj 222 172 receive framesync/reset;
-#X obj 128 51 inlet;
-#X obj 221 51 inlet;
+#X obj 238 144 receive framesync/reset;
+#X obj 128 11 inlet;
+#X obj 221 11 inlet;
#X obj 128 250 outlet;
#X obj 242 250 outlet;
-#X connect 0 0 2 1;
-#X connect 0 0 8 0;
+#X obj 191 178 bang;
+#X obj 13 50 trigger 0 bang 0;
+#X obj 59 82 float;
+#X obj 91 116 -;
+#X text 118 50 if we skipped a frame \, reset;
+#X obj 91 137 select -1;
+#X connect 0 0 9 0;
#X connect 1 0 0 0;
#X connect 2 0 7 0;
#X connect 3 0 0 1;
-#X connect 4 0 2 1;
-#X connect 4 0 8 0;
+#X connect 4 0 9 0;
#X connect 5 0 2 0;
#X connect 5 0 1 0;
+#X connect 5 0 10 0;
#X connect 6 0 3 0;
+#X connect 9 0 2 1;
+#X connect 9 0 8 0;
+#X connect 10 0 11 1;
+#X connect 10 1 11 0;
+#X connect 10 2 12 1;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 14 1 9 0;
#X restore 131 262 pd reset delay;
+#X text 319 508 TODO output messages to send to line \, line~ \, vline~
+;
#X connect 0 0 2 0;
-#X connect 2 0 13 0;
-#X connect 2 0 31 1;
-#X connect 3 0 22 0;
+#X connect 2 0 12 0;
+#X connect 2 0 30 1;
+#X connect 3 0 21 0;
#X connect 4 0 6 0;
#X connect 6 0 9 1;
#X connect 6 0 7 1;
-#X connect 6 0 20 0;
+#X connect 6 0 19 0;
#X connect 7 1 8 0;
-#X connect 8 0 33 0;
-#X connect 9 0 29 0;
-#X connect 12 0 1 0;
-#X connect 12 1 24 0;
-#X connect 13 0 12 0;
-#X connect 14 0 7 0;
-#X connect 17 0 18 0;
-#X connect 18 0 21 0;
-#X connect 18 0 8 1;
-#X connect 22 0 26 0;
-#X connect 22 0 31 0;
-#X connect 22 1 25 0;
-#X connect 22 2 2 0;
-#X connect 22 3 6 0;
-#X connect 22 4 18 0;
-#X connect 23 0 22 0;
-#X connect 24 0 12 0;
-#X connect 25 0 28 0;
-#X connect 25 0 33 1;
-#X connect 26 0 27 0;
-#X connect 27 0 29 1;
-#X connect 28 0 27 1;
-#X connect 29 0 30 0;
-#X connect 30 0 12 0;
-#X connect 31 0 30 1;
-#X connect 32 0 12 0;
-#X connect 32 0 10 0;
-#X connect 33 0 9 0;
-#X connect 33 1 32 0;
+#X connect 8 0 32 0;
+#X connect 9 0 28 0;
+#X connect 11 0 1 0;
+#X connect 11 1 23 0;
+#X connect 12 0 11 0;
+#X connect 13 0 7 0;
+#X connect 16 0 17 0;
+#X connect 17 0 20 0;
+#X connect 17 0 8 1;
+#X connect 21 0 25 0;
+#X connect 21 0 30 0;
+#X connect 21 1 24 0;
+#X connect 21 2 2 0;
+#X connect 21 3 6 0;
+#X connect 21 4 17 0;
+#X connect 22 0 21 0;
+#X connect 23 0 11 0;
+#X connect 24 0 27 0;
+#X connect 24 0 32 1;
+#X connect 25 0 26 0;
+#X connect 26 0 28 1;
+#X connect 27 0 26 1;
+#X connect 28 0 29 0;
+#X connect 29 0 11 0;
+#X connect 30 0 29 1;
+#X connect 31 0 11 0;
+#X connect 31 0 10 0;
+#X connect 32 0 9 0;
+#X connect 32 1 31 0;
diff --git a/fstabplay~-help.pd b/fstabplay~-help.pd
index 3fc6c13..96af6cd 100644
--- a/fstabplay~-help.pd
+++ b/fstabplay~-help.pd
@@ -1,4 +1,4 @@
-#N canvas 389 188 606 403 10;
+#N canvas 63 100 606 403 10;
#X text 212 227 frame;
#X text 241 263 bang when done;
#X text 71 265 audio out;
@@ -15,7 +15,6 @@ numbers.;
#X array \$0-array 62079 float 2;
#X coords 0 1 62079 -1 200 140 1;
#X restore 376 50 graph;
-#X msg 377 210 bang;
#X msg 377 254 read ../../sound/voice.wav \$1;
#X obj 95 112 frameclock 400;
#X obj 76 322 output~;
@@ -25,11 +24,12 @@ numbers.;
#X msg 108 82 78;
#X msg 77 82 55;
#X text 134 80 <-- try jumping to a frame;
-#X connect 9 0 12 0;
-#X connect 11 0 9 0;
-#X connect 12 0 8 0;
-#X connect 15 0 14 0;
-#X connect 15 0 14 1;
-#X connect 15 1 16 0;
-#X connect 17 0 13 0;
-#X connect 18 0 13 0;
+#X obj 377 211 loadbang;
+#X connect 9 0 11 0;
+#X connect 11 0 8 0;
+#X connect 14 0 13 0;
+#X connect 14 0 13 1;
+#X connect 14 1 15 0;
+#X connect 16 0 12 0;
+#X connect 17 0 12 0;
+#X connect 19 0 9 0;
diff --git a/fstabplay~.pd b/fstabplay~.pd
index 0ac4c53..fe927e8 100644
--- a/fstabplay~.pd
+++ b/fstabplay~.pd
@@ -1,15 +1,8 @@
-#N canvas 705 374 707 506 10;
+#N canvas 114 22 684 636 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 252 196 / 1000;
#X obj 301 83 purepd/symbol_argument \$1;
-#X obj 222 30 loadbang;
+#X obj 202 30 loadbang;
#X obj 504 11 inlet;
#X text 544 8 frame # when to play;
#X obj 504 82 purepd/float_argument \$2;
@@ -18,56 +11,92 @@
#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 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 obj 245 175 framesync/fps_ms;
+#X obj 22 88 receive framesync/frameclock;
+#X text 19 71 current frame #;
#X text 342 3 array to play;
-#X obj 99 169 flatspace/arraysize;
+#X obj 138 149 flatspace/arraysize;
+#X obj 131 598 outlet~;
+#X obj 131 451 -;
+#X obj 273 598 outlet;
+#X obj 131 571 tabplay~ \$1;
+#X msg 301 526 set \$1;
+#X obj 237 407 samplerate~;
+#X obj 237 449 *;
+#X obj 131 487 *;
+#X obj 131 510 %;
+#X msg 212 520 stop;
+#N canvas 289 281 450 300 reset 0;
+#X obj 191 140 delay;
+#X obj 191 119 bang;
+#X obj 128 210 purepd/once;
+#X obj 221 119 + 1;
+#X obj 238 144 receive framesync/reset;
+#X obj 128 11 inlet;
+#X obj 221 11 inlet;
+#X obj 128 250 outlet;
+#X obj 242 250 outlet;
+#X obj 191 178 bang;
+#X obj 13 50 trigger 0 bang 0;
+#X obj 59 82 float;
+#X obj 91 116 -;
+#X text 118 50 if we skipped a frame \, reset;
+#X obj 91 137 select -1;
#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 1 0 0 0;
+#X connect 2 0 7 0;
+#X connect 3 0 0 1;
+#X connect 4 0 9 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 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 5 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 3 0;
+#X connect 9 0 2 1;
+#X connect 9 0 8 0;
+#X connect 10 0 11 1;
+#X connect 10 1 11 0;
+#X connect 10 2 12 1;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 14 1 9 0;
+#X restore 131 352 pd reset delay;
+#X text 319 598 TODO bang when complated playing sample;
+#X obj 202 50 trigger bang bang bang bang;
+#X connect 0 0 2 0;
+#X connect 1 0 9 1;
+#X connect 1 0 24 1;
+#X connect 2 0 17 1;
+#X connect 2 0 22 0;
+#X connect 3 0 30 0;
+#X connect 4 0 6 0;
+#X connect 6 0 7 1;
+#X connect 6 0 12 1;
+#X connect 6 0 19 1;
+#X connect 7 1 8 0;
+#X connect 8 0 28 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 8 1;
+#X connect 13 0 28 1;
+#X connect 13 0 1 0;
+#X connect 14 0 7 0;
+#X connect 17 0 9 0;
+#X connect 17 0 26 1;
+#X connect 19 0 25 0;
+#X connect 21 0 18 0;
+#X connect 21 1 20 0;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 1;
+#X connect 25 0 26 0;
+#X connect 26 0 21 0;
+#X connect 27 0 21 0;
+#X connect 28 0 19 0;
+#X connect 28 1 27 0;
+#X connect 30 0 23 0;
+#X connect 30 1 17 0;
+#X connect 30 2 2 0;
+#X connect 30 2 13 0;
+#X connect 30 3 6 0;