Wrong order of operation..
Hey,
plz save this as a *.pd file:
#N canvas 283 218 450 300 10;
#X obj 150 162 print~ a;
#X obj 211 162 print~ b;
#X obj 110 130 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 211 138 +~;
#X obj 150 94 osc~ 440;
#X obj 211 94 osc~ 440;
#X obj 271 94 osc~ 440;
#X connect 2 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
It should show a simple patch with 3 [osc~], 1 [+~] and 2 [print~ a/b] to analyze the whole thing. Each [osc~] is the start of an audio-line/ -path!!
(The order in which you connect the [Bng]-button to the [print~]'s is unimportant since all data (from data-objects) is computed before, or rather between, each audio-cycle.)
Now to get this clear:
- Delete & recreate the most left [osc~] "A". Hit the bang-button. Watch the console, it first should read "a: ..." then "b: ..."
- now do the same with the second [osc~] "B" in the middle... Hit bang & watch the console: first "a: ..." then "b: ..."
- and once more: del & recreate the third [osc~] "C" and so on. Now the console should read first "b: ..." then "a: ..." !
to "1)": the last (most recent) [osc~] created is "A", so the audio-path, lets call it "pA", is run at first. So [print~ a] is processed first, then [print~ b].
to "2)": last [osc~] is "B". Now we have an order from first (oldest) to last (most recent) [osc~] : C,A,B !!
So now fist "B" & "pB" then "A" & "pA" then "C" & "pC" is processed. But "pB" ends at the [+~], because the [+~] waits for the 2nd input ("C") until it can put out something. Since "C" still comes after "A" you again get printed first "a: ..." then "b: ..." in the console!
to "3)": last [osc~] is "C", so the order is like "A,B,C". So at first "C" & "pC" is processed, then "B" & "pB", this makes [+~] put out a signal to [print~ b]. Then "A" & "pA" is processed and the [print~ a] as well. -> first "b: ..." then "a: ..."
This works for "cables" too. Just connect one single [osc~ ] to both (or more) [print~]'s. Hit bang and watch the console, then change the order you connect the [osc~] to the [print~]'s..
That's why the example works if you just recreate the 1st object in an audio-path to make it being processed at first. And that's why I'd like to have some numbers (according to the order of creation) at the objects and cables to determine the order of processing.
But anyways, I hope this helps.
And plz comment if there is something wrong.
VisualTracker - request for participants
Here is some more info:
This is development info of VisualTracker for pd (pre alpha 100404)
What is it:
VisualTracker is sample sequencer – it triggers loaded samples in times defined in time line in editor window. Samples can be played in their default speed / length or can be fitted in tempo. In “fit mode” you can define number of bars to fit in and also multiplication of file. All changes have visual interpretation in sample canvases.
VisualTracker for pd (pre alpha 100404) was developed in Pd version 0.41.4-extended, on Windows XP
How to make it work:
- Open VisualTracker_(pre_alpha_100404).pd in pd.
- Editor and Samples window are automatically opened.
- Preset currentstate.vtp is automatically loaded – this preset is saved before closing the patch.
- After first run there are 3 empty sample boxes in samples window and 3 corresponding sample canvases in editor window.
- Load any wav (44100 Hz) by pressing „load“ in selected sample box. No space characters in path or filename are allowed. Loading of these files is aborted and error message appears for several seconds. Name of the successfully loaded sample including full path appears in sample box and also sample canvas in editor window. Size of sample canvas is changed according to the sample length. Try to change global BPM – size of sample canvas is recalculated.
- Check „fit“ to fit sample in current BPM. Set length of sample in bars and multiplication.
- Add another sample by creating object [sample] or just copy existing sample box in samples window.
- Switch to editor window, press CTRL+E to switch to pd edit mode and drag and drop sample canvases to desired position on time line. Sample canvases are automatically snapping to bar columns and rows.
- Switch back to normal mode by CTRL+E
- Press PLAY to replay your sample composition. Samples are played only if corresponding sample canvas is placed in track 1-6. If sample canvas is above the tracks sound is muted.
- Press „save“ in main VisualTracker window to save current preset to a text file. Any name and extension with no spaces is allowed.
- Before closing VisualTracker press „save state & close“. It saves current state to preset named currentstate.vtp and delete all sample boxes from samples window and all sample canvases from editor window. Now you can turn off and eventually save VisualTracker patch. This is important to avoid double appearance of sample canvases because information about samples and composition is stored independently from pd patch and should not be saved inside patch. If there are still some „orphaned“ sample canvases hanging delete them manually.
Components:
- Sample window: place for unlimited amount of [sample] abstractions. Once abstraction is created (by copying or creating the object) corresponding sample canvas is created in editor window. [sample] abstraction is sending data to sample canvas (name, color, size, snapping) and receiving back position. Triggering of sample playback is based on position of sample canvas.
- Editor window: place for sample canvases composition on the top of timeline grid. Sample canvases can be moved by mouse in pd edit mode (CTRL+E). Timeline grid will be extended and improved in next versions.
- Preset save/load: saves and loads presets to/from a text file using [coll] object. Preset contains global values (number of samples in composition, bpm) and local values for each sample box (filename, position, track, multiplication, number of bars, fit switch, color and two unused values).
- Sequencer: located in program subpatch. Very simple - functionality will be extended and improved in next versions
- Other: located in program subpatch. Contains some other patches as colortable, BPM manager, output etc.
Object presence
if it's only manual deletion you are after, you might be able to hack a way around.
If you create a subpatch (with GOP enabled) and a system that receives a call, and performs an action upon call
[r canvas-check]
|
[t b]
|
[print canvas-bang]
GOP, so that you can create it to become exactly the same size of the canvas and hide that behind the canvas, you can make a call to [r canvas-check] and according to the number of bangs printed, you know how many canvases are still hanging around. You know this, because to manually delete a canvas, you'd have to highlight the canvas with the mouse (which would also select (and eventually delete) your subpatch that you hid behind it), when you get rid of the canvas, you also delete your system that checks upon its own presence!
Spectral Cross Over
Hello everybody, I´ve been programing in PD for a year now, I programend in MAX/MSP for 5 years and I made a Spectral Cross Over with pfft~, however, I have been trying to port this patch to PD, the problem is that the fft~ object in PD does not have the third outlet that gives me the bin number activity as in Max/MSP.
Is there anyway to find out when a bin has a"activity" in it?
This is what I´ve made so far.
#N canvas 659 22 394 380 10;
#X declare -lib iemmatrix;
#X declare -lib cyclone;
#X obj -648 -457 osc~ 400;
#X floatatom -646 -479 10 0 0 0 - - -;
#X obj -581 -457 osc~ 400;
#X floatatom -581 -480 10 0 0 0 - - -;
#X obj -522 -322 sfplay;
#X obj -522 -366 openpanel;
#X msg -522 -343 open \$1 l;
#X obj -448 -362 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg -450 -342 start;
#X msg -406 -343 rewind;
#N canvas 31 71 691 458 Xover 0;
#X obj -423 -473 inlet~;
#N canvas 35 66 592 433 Hann-window 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array \$0-hann 511 float 0;
#X coords 0 1 510 0 200 120 1;
#X restore 293 249 graph;
#X msg 171 263 0;
#X obj 65 312 osc~;
#X obj 65 264 samplerate~;
#X obj 65 335 *~ -0.5;
#X obj 65 358 +~ 0.5;
#X text 279 241 1;
#X text 272 359 0;
#X text 288 372 0;
#X obj 57 241 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 336 221 Hann window;
#X text 113 310 period 512;
#X text 90 215 recalculate Hann;
#X text 125 230 window table;
#X obj 57 146 loadbang;
#X msg 79 179 \; pd dsp 1;
#X text 40 27 The Hann window is now recomputed on 'loadbang' to make
the file smaller (it doesn't have to be saved with the array.);
#X text 474 375 511;
#X obj 57 383 tabwrite~ \$0-hann;
#X obj 65 289 / 512;
#X connect 1 0 2 1;
#X connect 2 0 4 0;
#X connect 3 0 19 0;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 9 0 3 0;
#X connect 9 0 1 0;
#X connect 9 0 18 0;
#X connect 14 0 9 0;
#X connect 14 0 15 0;
#X connect 19 0 2 0;
#X restore -79 -412 pd Hann-window;
#X obj -79 -434 declare -lib iemmatrix;
#X obj -230 -438 samplerate~;
#X floatatom -230 -416 5 0 0 0 - - -;
#X obj -230 -461 loadbang;
#X obj -258 -454 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 0 22 450 300 sigtocontr 0;
#X obj 76 161 snapshot~;
#X obj 109 133 metro 10;
#X obj 109 105 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 32 107 inlet~;
#X floatatom 134 104 10 0 0 0 - - -;
#X obj 76 190 outlet;
#X connect 0 0 4 0;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 100 25 2 100 100;
#X restore -289 -130 pd sigtocontr;
#X floatatom -230 -369 15 0 0 0 - - -;
#X obj -423 -394 rfft~;
#X obj -230 -394 / 1024;
#X text -146 -395 fft size;
#X text -234 -350 freq. de analisis;
#X floatatom -181 -395 5 0 0 0 - - -;
#X obj -79 -456 declare -lib cyclone;
#X obj -364 -367 cartopol~;
#X obj -288 -209 sig~;
#X obj -288 -231 / 43.0664;
#X obj -289 -159 clip~ 0 1;
#X obj -288 -180 tabread~ \$0-frecuencias;
#X obj -364 -291 tabsend~ \$0-frecuencias;
#X obj -423 -417 hip~ 20;
#N canvas 0 22 450 300 sigtocontr 0;
#X obj 76 161 snapshot~;
#X obj 109 133 metro 10;
#X obj 109 105 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 32 107 inlet~;
#X floatatom 134 104 5 0 0 0 - - -;
#X obj 76 190 outlet;
#X connect 0 0 4 0;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 85 25 2 100 100;
#X restore -119 -136 pd sigtocontr;
#X obj -116 -208 sig~;
#X obj -116 -230 / 43.0664;
#X obj -117 -158 clip~ 0 1;
#X obj -116 -179 tabread~ \$0-frecuencias;
#X obj -71 -349 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj -82 -390 table \$0-frecuencias 512;
#X obj -71 -329 switch~ 4098 4 2;
#X obj -71 -368 loadbang;
#X obj -289 -268 inlet;
#X obj -119 -270 inlet;
#X obj -289 -62 outlet;
#X obj -119 -63 outlet;
#X obj -364 -338 /~ 256;
#X obj -119 -83 > 0.1;
#X obj -289 -83 >= 0.05;
#X connect 0 0 21 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 3 0;
#X connect 6 0 3 0;
#X connect 7 0 37 0;
#X connect 9 0 15 0;
#X connect 9 1 15 1;
#X connect 10 0 8 0;
#X connect 13 0 10 1;
#X connect 15 0 35 0;
#X connect 16 0 19 0;
#X connect 17 0 16 0;
#X connect 18 0 7 0;
#X connect 19 0 18 0;
#X connect 21 0 9 0;
#X connect 22 0 36 0;
#X connect 23 0 26 0;
#X connect 24 0 23 0;
#X connect 25 0 22 0;
#X connect 26 0 25 0;
#X connect 27 0 29 0;
#X connect 30 0 27 0;
#X connect 31 0 17 0;
#X connect 32 0 24 0;
#X connect 35 0 20 0;
#X connect 36 0 34 0;
#X connect 37 0 33 0;
#X restore -469 -224 pd Xover;
#X obj -468 -189 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj -424 -189 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X floatatom -447 -277 5 0 0 0 - - -;
#X floatatom -406 -277 5 0 0 0 - - -;
#X obj -535 -162 dac~;
#X msg -353 -344 close;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 10 0;
#X connect 3 0 2 0;
#X connect 4 0 10 0;
#X connect 4 0 15 0;
#X connect 4 0 15 1;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 13 0 10 1;
#X connect 14 0 10 2;
#X connect 16 0 4 0;
.
Pd sound editor 0.0.1
here is the text... seems to be my only option.
#N canvas 0 22 1280 737 10;
#N canvas 777 105 398 583 codey-code 0;
#N canvas 115 48 1154 665 zoom 0;
#X obj 881 70 r \$0-filesize;
#X obj 854 227 s \$0-length;
#X obj 944 158 s \$0-windowsize;
#X msg 873 173 0;
#X obj 872 196 s \$0-selectstart-r;
#X msg 903 153 1;
#X obj 855 125 t f b b f;
#X obj 901 176 s \$0-selectend-r;
#X obj 136 559 pack 0 0;
#X obj 181 530 tabread original-R;
#X obj 136 582 s -RIGHT;
#X obj 126 507 tabread original-L;
#X obj 80 535 pack 0 0;
#X obj 80 558 s -LEFT;
#X obj 96 175 r \$0-length;
#N canvas 0 22 462 312 untils 0;
#X obj 261 160 f;
#X obj 288 162 + 1;
#X obj 261 138 until;
#X msg 299 132 0;
#X obj 261 107 t f b;
#X obj 261 78 inlet;
#X obj 261 190 outlet;
#X connect 0 0 1 0;
#X connect 0 0 6 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 5 0 4 0;
#X restore 37 343 pd untils;
#X msg 38 322 16000;
#X obj 673 317 *;
#X obj 37 365 t f f;
#X obj 124 431 *;
#X obj 97 279 / 16000;
#X obj 190 145 r \$0-filesize;
#X obj 175 176 *;
#X text 195 89 fraction of file to graph;
#X obj 891 332 s \$0-offset;
#X obj 860 338 -;
#X obj 860 300 t b f;
#X obj 860 252 r \$0-selectstart;
#X obj 891 276 r \$0-selectend;
#X obj 673 363 s \$0-zoomfraction;
#X obj 176 69 r \$0-zoomfraction;
#X obj 12 299 t b b;
#X obj 11 499 s \$0-done;
#X obj 123 467 +;
#X obj 159 6 r \$0-zoom2sel;
#X obj 715 315 r \$0-zoomfraction;
#X text 158 311 start position (0->filesize);
#X obj 158 429 *;
#X obj 229 367 r \$0-filesize;
#X obj 859 359 s \$0-fraction;
#X obj 685 194 r \$0-fraction;
#X msg 717 255 1;
#X obj 717 275 t f f;
#X obj 672 230 f;
#X obj 161 106 f;
#X obj 471 290 f;
#X obj 495 395 s \$0-zoomoffset;
#X obj 485 234 r \$0-offset;
#X obj 486 262 *;
#X obj 471 168 t b b;
#X obj 496 366 +;
#X msg 570 326 0;
#X obj 159 333 r \$0-zoomoffset;
#X msg 531 327 0;
#X obj 260 405 r \$0-filein;
#X msg 260 427 0;
#X obj 81 205 f;
#X obj 80 243 t b f;
#X obj 58 120 r \$0-filein;
#X obj 59 143 t b;
#X obj 542 282 r \$0-length;
#X obj 543 304 t b b b;
#X msg 89 146 1;
#X obj 83 70 r \$0-zoomed;
#X obj 563 236 r \$0-zoomfraction;
#X msg 220 265 0;
#X obj 219 288 s \$0-selectstart-r;
#X msg 250 245 1;
#X obj 248 268 s \$0-selectend-r;
#X obj 218 219 t b b;
#X obj 160 28 t b b b;
#X obj 535 367 r \$0-zoomoffset;
#X obj 533 65 r \$0-zoom100;
#X obj 532 89 t b b b;
#X obj 855 100 f;
#X obj 851 39 r \$0-filein;
#X obj 468 457 r \$0-fraction;
#X obj 635 462 r \$0-offset;
#X obj 502 481 r \$0-zoomfraction;
#X obj 468 537 *;
#X obj 468 561 s \$0-sel-fraction;
#X obj 502 503 t b f;
#X obj 656 546 *;
#X obj 690 512 t b f;
#X obj 656 598 s \$0-sel-offset;
#X obj 713 461 r \$0-zoomfraction;
#X obj 656 571 +;
#X obj 700 547 r \$0-zoomoffset;
#N canvas 455 151 506 362 wrapend 0;
#X obj 329 69 r \$0-zoomfraction;
#X obj 289 102 +;
#X obj 285 69 t b f;
#X obj 197 104 r \$0-filesize;
#X obj 204 215 -;
#X obj 287 124 t b f;
#X obj 222 155 *;
#X obj 214 185 t b f;
#X obj 204 241 moses 0;
#X obj 190 265 +;
#X obj 181 43 inlet;
#X obj 185 66 t f f;
#X obj 191 291 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 7 1 4 1;
#X connect 8 0 9 1;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 11 1 2 0;
#X restore 288 595 pd wrapend;
#X obj 288 619 t b f;
#X text 326 613 *finds the end of the file;
#X connect 0 0 74 1;
#X connect 3 0 4 0;
#X connect 5 0 7 0;
#X connect 6 0 1 0;
#X connect 6 1 3 0;
#X connect 6 2 5 0;
#X connect 6 3 2 0;
#X connect 8 0 10 0;
#X connect 9 0 8 1;
#X connect 11 0 12 1;
#X connect 12 0 13 0;
#X connect 14 0 56 1;
#X connect 15 0 18 0;
#X connect 16 0 15 0;
#X connect 17 0 29 0;
#X connect 18 0 12 0;
#X connect 18 0 8 0;
#X connect 18 1 19 0;
#X connect 19 0 33 0;
#X connect 20 0 19 1;
#X connect 21 0 22 1;
#X connect 22 0 57 0;
#X connect 25 0 39 0;
#X connect 26 0 25 0;
#X connect 26 1 25 1;
#X connect 26 1 24 0;
#X connect 27 0 26 0;
#X connect 28 0 25 0;
#X connect 30 0 44 1;
#X connect 31 0 32 0;
#X connect 31 1 16 0;
#X connect 33 0 11 0;
#X connect 33 0 9 0;
#X connect 34 0 70 0;
#X connect 35 0 17 1;
#X connect 37 0 33 1;
#X connect 38 0 37 1;
#X connect 40 0 43 1;
#X connect 41 0 42 0;
#X connect 42 0 17 0;
#X connect 42 1 17 1;
#X connect 43 0 17 0;
#X connect 44 0 22 0;
#X connect 45 0 50 0;
#X connect 47 0 48 0;
#X connect 48 0 45 1;
#X connect 49 0 45 0;
#X connect 49 1 43 0;
#X connect 50 0 46 0;
#X connect 51 0 50 1;
#X connect 51 0 48 0;
#X connect 52 0 37 0;
#X connect 53 0 50 0;
#X connect 54 0 55 0;
#X connect 55 0 33 1;
#X connect 56 0 57 0;
#X connect 57 0 31 0;
#X connect 57 1 20 0;
#X connect 58 0 59 0;
#X connect 59 0 56 0;
#X connect 59 0 62 0;
#X connect 60 0 61 0;
#X connect 61 0 53 0;
#X connect 61 1 51 0;
#X connect 61 2 41 0;
#X connect 62 0 44 1;
#X connect 63 0 44 0;
#X connect 64 0 48 1;
#X connect 65 0 66 0;
#X connect 67 0 68 0;
#X connect 69 0 65 0;
#X connect 69 1 67 0;
#X connect 70 0 69 0;
#X connect 70 1 44 0;
#X connect 70 2 49 0;
#X connect 71 0 50 1;
#X connect 72 0 73 0;
#X connect 73 0 59 0;
#X connect 73 2 74 0;
#X connect 74 0 6 0;
#X connect 75 0 74 0;
#X connect 76 0 79 0;
#X connect 77 0 82 0;
#X connect 78 0 81 0;
#X connect 79 0 80 0;
#X connect 81 0 79 0;
#X connect 81 1 79 1;
#X connect 82 0 86 0;
#X connect 83 0 82 0;
#X connect 83 1 82 1;
#X connect 85 0 83 0;
#X connect 86 0 84 0;
#X connect 87 0 86 1;
#X connect 88 0 89 0;
#X restore 78 412 pd zoom;
#N canvas 0 22 793 420 file 0;
#X obj 51 115 soundfiler;
#X obj 52 59 openpanel;
#X msg 54 83 read -resize \$1 original-L original-R;
#X obj 77 170 s \$0-filesize;
#X obj 56 35 r \$0-openfile;
#X obj 51 136 t b f;
#X obj 55 193 s \$0-filein;
#X obj 573 16 table original-L;
#X obj 573 39 table original-R;
#X obj 562 116 table clipboard-L;
#X obj 561 139 table clipboard-R;
#X obj 303 128 soundfiler;
#X msg 306 96 write \$1 original-L original-R;
#X obj 308 48 r \$0-savefile;
#X obj 304 72 savepanel;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 5 1 3 0;
#X connect 12 0 11 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X restore 72 96 pd file;
#N canvas 327 88 808 653 zoom+scroll 0;
#X obj 154 353 s \$0-zoomoffset;
#X obj 127 329 t b f;
#X obj 126 374 s \$0-zoomed;
#X obj 166 187 r \$0-zoomfraction;
#X obj 118 208 *;
#X obj 127 273 +;
#X obj 156 251 r \$0-zoomoffset;
#X obj 129 300 max 0;
#X obj 11 13 r \$0-goleft;
#X obj 95 13 r \$0-goright;
#X obj 572 98 r \$0-zoomfraction;
#X obj 555 261 clip 0 1;
#X obj 603 307 s \$0-zoomfraction;
#X obj 594 334 s \$0-zoomed;
#X obj 490 21 r \$0-zoomin;
#X obj 568 22 r \$0-zoomout;
#X msg 570 69 2;
#X msg 491 71 0.5;
#X obj 584 539 s \$0-selectend-r;
#X obj 555 512 s \$0-selectstart-r;
#X obj 566 394 r \$0-selectstart;
#X obj 599 417 r \$0-selectend;
#X obj 585 455 *;
#X obj 556 281 t f b f;
#X obj 536 340 t f f;
#X obj 522 108 * 1;
#X obj 521 133 *;
#X obj 525 198 t f f;
#X obj 554 456 *;
#X obj 506 314 expr 1/$f1;
#X obj 115 46 r \$0-nudgeleft;
#X obj 178 71 r \$0-nudgeright;
#X msg 11 57 -0.0625;
#X msg 74 60 0.0625;
#X msg 116 89 -0.015625;
#X msg 177 93 0.015625;
#X msg 282 107 -0.000976562;
#X msg 366 123 0.000976562;
#X obj 281 63 r \$0-nudgeleft2;
#X obj 368 102 r \$0-nudgeright2;
#X obj 525 162 clip 0 1;
#X connect 1 0 2 0;
#X connect 1 1 0 0;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 32 0;
#X connect 9 0 33 0;
#X connect 10 0 26 1;
#X connect 11 0 23 0;
#X connect 14 0 17 0;
#X connect 15 0 16 0;
#X connect 16 0 25 0;
#X connect 17 0 25 0;
#X connect 20 0 28 1;
#X connect 21 0 22 1;
#X connect 22 0 18 0;
#X connect 23 1 13 0;
#X connect 23 2 12 0;
#X connect 24 0 28 0;
#X connect 24 1 22 0;
#X connect 25 0 26 0;
#X connect 26 0 40 0;
#X connect 27 0 29 0;
#X connect 27 1 11 0;
#X connect 28 0 19 0;
#X connect 29 0 24 0;
#X connect 30 0 34 0;
#X connect 31 0 35 0;
#X connect 32 0 4 0;
#X connect 33 0 4 0;
#X connect 34 0 4 0;
#X connect 35 0 4 0;
#X connect 36 0 4 0;
#X connect 37 0 4 0;
#X connect 38 0 36 0;
#X connect 39 0 37 0;
#X connect 40 0 27 0;
#X restore 79 432 pd zoom+scroll;
#N canvas 556 91 708 661 playselection 0;
#X obj 201 597 dac~;
#X obj 150 481 tabread4~ original-L;
#X obj 290 480 tabread4~ original-R;
#X obj 231 185 r \$0-playbackspeed;
#X obj 235 232 tabread \$0-arc;
#X obj 489 516 switch~;
#X msg 475 485 0;
#X msg 520 494 1;
#X obj 55 396 +~;
#X obj 371 143 t f f;
#X obj 299 314 pipe 5;
#X obj 376 323 vline~;
#X obj 179 536 *~;
#X obj 280 538 *~;
#X msg 374 295 0 4 \, 1 5 7;
#X obj 230 207 + 200;
#X obj 50 263 f;
#X msg 35 192 1;
#X obj 49 284 pack 0 1;
#X obj 47 362 vline~;
#X obj 128 88 *;
#X obj 143 29 r \$0-filesize;
#X obj 267 80 *;
#X obj 284 35 r \$0-filesize;
#X obj 267 15 r \$0-sel-offset;
#X obj 126 9 r \$0-sel-fraction;
#X obj 127 56 t b f;
#X obj 266 56 t b f;
#X obj 179 317 >=;
#X obj 180 342 sel 1;
#X obj 49 236 metro 1;
#X msg 196 151 0;
#X obj 37 149 t b b;
#X msg 48 336 \$1 1;
#X msg 94 326 \$1 1;
#X obj 96 354 line 0 0.01;
#X obj 182 401 s \$0-loopit;
#X obj 16 83 r \$0-loopit;
#X obj 78 263 + 44.1;
#X obj 234 257 * 44.1;
#X obj 411 371 - 1;
#X obj 412 394 abs;
#X obj 182 376 spigot 0;
#X obj 370 416 spigot 1;
#X obj 438 329 r \$0-loopsel;
#X obj 467 126 s \$0-playbackspeed-r;
#X msg 469 106 300;
#X obj 467 9 r \$0-playback-norm;
#X obj 489 65 r \$0-arcmade;
#X obj 38 128 r \$0-playnow;
#X obj 567 202 r \$0-play;
#X obj 591 279 s \$0-playnow;
#X obj 571 253 sel 0 1;
#X obj 568 226 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X msg 528 395 set 0;
#X floatatom 214 299 5 0 0 0 - - -;
#X connect 1 0 12 0;
#X connect 2 0 13 0;
#X connect 3 0 15 0;
#X connect 4 0 39 0;
#X connect 6 0 5 0;
#X connect 6 0 30 0;
#X connect 6 0 54 0;
#X connect 7 0 5 0;
#X connect 8 0 1 0;
#X connect 8 0 2 0;
#X connect 9 0 10 0;
#X connect 9 1 14 0;
#X connect 10 0 8 1;
#X connect 11 0 12 1;
#X connect 11 0 13 1;
#X connect 12 0 0 0;
#X connect 13 0 0 1;
#X connect 14 0 11 0;
#X connect 15 0 4 0;
#X connect 16 0 18 0;
#X connect 16 0 38 0;
#X connect 17 0 30 0;
#X connect 18 0 33 0;
#X connect 18 0 34 0;
#X connect 19 0 8 0;
#X connect 20 0 28 1;
#X connect 21 0 20 0;
#X connect 22 0 9 0;
#X connect 23 0 22 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 20 0;
#X connect 26 1 20 1;
#X connect 27 0 22 0;
#X connect 27 1 22 1;
#X connect 28 0 29 0;
#X connect 29 0 42 0;
#X connect 29 0 43 0;
#X connect 30 0 16 0;
#X connect 31 0 16 1;
#X connect 31 0 19 0;
#X connect 31 0 35 0;
#X connect 32 0 17 0;
#X connect 32 1 31 0;
#X connect 32 1 7 0;
#X connect 33 0 19 0;
#X connect 34 0 35 0;
#X connect 35 0 28 0;
#X connect 37 0 32 0;
#X connect 38 0 16 1;
#X connect 39 0 38 1;
#X connect 39 0 55 0;
#X connect 40 0 41 0;
#X connect 41 0 43 1;
#X connect 42 0 36 0;
#X connect 43 0 6 0;
#X connect 44 0 42 1;
#X connect 44 0 40 0;
#X connect 46 0 45 0;
#X connect 47 0 46 0;
#X connect 48 0 46 0;
#X connect 49 0 32 0;
#X connect 50 0 53 0;
#X connect 52 0 6 0;
#X connect 52 1 51 0;
#X connect 53 0 52 0;
#X connect 54 0 53 0;
#X restore 160 182 pd playselection;
#N canvas 0 22 541 518 tan-arc 0;
#X obj 201 115 f;
#X obj 229 114 + 1;
#X obj 203 85 until;
#X obj 201 140 t f f;
#X msg 269 87 0;
#X obj 132 2 loadbang;
#X obj 128 246 expr pow($f1 \, 3);
#X obj 127 205 - 0.5;
#X obj 129 225 * 2;
#X obj 127 183 / 1000;
#X msg 129 24 1000;
#X obj 134 290 expr pow(1000 \, $f1);
#X obj 285 285 expr tanh($f1);
#X obj 358 154 f;
#X obj 386 153 + 1;
#X obj 360 124 until;
#X obj 285 249 - 5;
#X obj 358 179 t f f;
#X msg 426 126 0;
#X obj 363 72 loadbang;
#X msg 360 93 100000;
#X obj 285 222 / 10000;
#X obj 326 339 tabwrite \$0-tanh;
#X obj 143 353 tabwrite \$0-arc;
#X obj 161 376 table \$0-arc 1000;
#X obj 323 370 table \$0-tanh 100000;
#X obj 131 47 t b f;
#X obj 44 173 s \$0-arcmade;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 9 0;
#X connect 3 1 23 1;
#X connect 4 0 0 1;
#X connect 5 0 10 0;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 11 0 23 0;
#X connect 12 0 22 0;
#X connect 13 0 14 0;
#X connect 13 0 17 0;
#X connect 14 0 13 1;
#X connect 15 0 13 0;
#X connect 16 0 12 0;
#X connect 17 0 21 0;
#X connect 17 1 22 1;
#X connect 18 0 13 1;
#X connect 19 0 20 0;
#X connect 20 0 15 0;
#X connect 21 0 16 0;
#X connect 26 0 27 0;
#X connect 26 1 2 0;
#X restore 209 94 pd tan-arc;
#N canvas 0 22 764 631 delete 0;
#X obj 455 164 r \$0-filesize;
#X obj 441 211 *;
#X obj 454 187 t b f;
#X obj 385 52 r \$0-filesize;
#X obj 371 99 *;
#X obj 369 151 +;
#X obj 369 125 * -1;
#X obj 383 75 t b f f;
#X obj 352 299 moses 1000;
#X obj 261 139 f;
#X obj 260 160 moses 1;
#X obj 339 241 f;
#X obj 367 241 + 1;
#X obj 340 208 until;
#X obj 340 181 t f f b;
#X msg 378 209 0;
#X obj 535 234 r \$0-filesize;
#X obj 521 281 *;
#X obj 533 257 t b f f;
#X obj 409 327 +;
#X obj 396 359 tabread original-L;
#X obj 402 398 tabread original-R;
#X obj 325 271 t f f;
#X obj 326 442 s original-L;
#X obj 353 519 s original-R;
#X obj 326 414 pack 0 0;
#X obj 353 496 pack 0 0;
#X msg 231 329 resize \$1;
#X obj 241 193 f;
#X obj 239 354 s original-R;
#X obj 222 375 s original-L;
#X obj 511 209 r \$0-sel-fraction;
#X obj 438 144 r \$0-sel-offset;
#X obj 361 28 r \$0-sel-fraction;
#X obj 244 106 t b b b;
#X obj 142 322 s \$0-filesize;
#X obj 219 234 t f f;
#X obj 106 217 s \$0-refresh;
#X obj 225 57 t b b;
#X obj 222 31 r \$0-delete;
#X obj 251 80 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 8 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 7 0;
#X connect 4 0 6 0;
#X connect 5 0 9 1;
#X connect 5 0 28 1;
#X connect 6 0 5 0;
#X connect 7 0 4 0;
#X connect 7 1 4 1;
#X connect 7 2 5 1;
#X connect 8 0 20 0;
#X connect 8 0 21 0;
#X connect 8 1 19 0;
#X connect 9 0 10 0;
#X connect 10 1 14 0;
#X connect 11 0 12 0;
#X connect 11 0 22 0;
#X connect 12 0 11 1;
#X connect 13 0 11 0;
#X connect 14 0 13 0;
#X connect 14 2 15 0;
#X connect 15 0 11 1;
#X connect 16 0 18 0;
#X connect 17 0 19 1;
#X connect 18 0 17 0;
#X connect 18 1 17 1;
#X connect 19 0 20 0;
#X connect 19 0 21 0;
#X connect 20 0 25 1;
#X connect 21 0 26 1;
#X connect 22 0 25 0;
#X connect 22 0 26 0;
#X connect 22 1 8 0;
#X connect 25 0 23 0;
#X connect 26 0 24 0;
#X connect 27 0 29 0;
#X connect 27 0 30 0;
#X connect 28 0 36 0;
#X connect 31 0 17 0;
#X connect 32 0 1 0;
#X connect 33 0 4 0;
#X connect 34 0 37 0;
#X connect 34 1 28 0;
#X connect 34 2 9 0;
#X connect 36 0 35 0;
#X connect 36 1 27 0;
#X connect 38 0 34 0;
#X connect 38 1 40 0;
#X connect 39 0 38 0;
#X restore 172 292 pd delete;
#N canvas 178 115 455 651 silence 0;
#X obj 132 142 r \$0-filesize;
#X obj 118 189 *;
#X obj 131 165 t b f;
#X obj 237 145 r \$0-filesize;
#X obj 223 192 *;
#X obj 236 168 t b f;
#X obj 101 226 f;
#X obj 102 278 f;
#X obj 152 407 f;
#X obj 180 407 + 1;
#X obj 103 253 t b f;
#X obj 153 374 until;
#X obj 113 324 moses 1;
#X obj 153 347 t f f b;
#X msg 191 375 0;
#X obj 14 31 t b b b;
#X obj 114 122 r \$0-sel-offset;
#X obj 213 121 r \$0-sel-fraction;
#X obj 12 6 r \$0-silence;
#X obj 99 549 s original-L;
#X obj 202 548 s original-R;
#X obj 116 481 pack 0 0;
#X obj 205 515 pack 0 0;
#X obj 151 448 +;
#X obj 9 252 s \$0-refresh;
#X obj 59 61 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 8 0 23 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 10 1 23 1;
#X connect 11 0 8 0;
#X connect 12 1 13 0;
#X connect 13 0 11 0;
#X connect 13 2 14 0;
#X connect 14 0 8 1;
#X connect 15 0 24 0;
#X connect 15 1 6 0;
#X connect 15 2 25 0;
#X connect 16 0 1 0;
#X connect 17 0 4 0;
#X connect 18 0 15 0;
#X connect 21 0 19 0;
#X connect 22 0 20 0;
#X connect 23 0 21 0;
#X connect 23 0 22 0;
#X restore 172 316 pd silence;
#N canvas 0 22 703 683 refresh 0;
#X obj 254 522 pack 0 0;
#X obj 299 493 tabread original-R;
#X obj 254 545 s -RIGHT;
#X obj 244 470 tabread original-L;
#X obj 198 498 pack 0 0;
#X obj 198 521 s -LEFT;
#N canvas 0 22 462 312 untils 0;
#X obj 261 160 f;
#X obj 288 162 + 1;
#X obj 261 138 until;
#X msg 299 132 0;
#X obj 261 107 t f b;
#X obj 261 78 inlet;
#X obj 261 190 outlet;
#X connect 0 0 1 0;
#X connect 0 0 6 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 5 0 4 0;
#X restore 155 306 pd untils;
#X msg 156 285 16000;
#X obj 155 328 t f f;
#X obj 242 394 *;
#X obj 215 242 / 16000;
#X obj 130 262 t b b;
#X obj 241 430 +;
#X text 276 307 start position (0->filesize);
#X obj 276 392 *;
#X obj 291 368 r \$0-filesize;
#X obj 277 329 r \$0-zoomoffset;
#X obj 378 368 r \$0-filein;
#X msg 378 390 0;
#X obj 202 169 f;
#X obj 198 206 t b f;
#X obj 275 82 r \$0-filesize;
#X obj 261 129 *;
#X obj 274 105 t b f;
#X obj 250 58 r \$0-zoomfraction;
#X obj 145 82 r \$0-refresh;
#X obj 147 111 t b b;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 8 0 4 0;
#X connect 8 0 0 0;
#X connect 8 1 9 0;
#X connect 9 0 12 0;
#X connect 10 0 9 1;
#X connect 11 1 7 0;
#X connect 12 0 3 0;
#X connect 12 0 1 0;
#X connect 14 0 12 1;
#X connect 15 0 14 1;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 12 1;
#X connect 19 0 20 0;
#X connect 20 0 11 0;
#X connect 20 1 10 0;
#X connect 21 0 23 0;
#X connect 22 0 19 1;
#X connect 23 0 22 0;
#X connect 23 1 22 1;
#X connect 24 0 22 0;
#X connect 25 0 26 0;
#X connect 26 1 19 0;
#X restore 75 119 pd refresh;
#N canvas 352 116 690 400 select 0;
#X obj 114 163 s \$0-selectstart-r;
#X obj 273 130 s \$0-selectend-r;
#X obj 43 57 r \$0-selall;
#X obj 120 58 r \$0-selstarts1;
#X msg 84 109 0;
#X obj 137 82 r \$0-selends1;
#X msg 314 98 1;
#X obj 247 21 r \$0-selall;
#X obj 271 44 r \$0-selstarts2;
#X obj 314 73 r \$0-selends2;
#X msg 452 182 \; editor-left-r vis_size \$1 400;
#X msg 451 77 \; editor-middle-r vis_size \$1 400;
#X obj 452 52 * 1000;
#X obj 448 154 * 1000;
#X obj 451 29 r \$0-selectend;
#X obj 450 131 r \$0-selectstart;
#X msg 272 98 0.001;
#X msg 144 105 0.995;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 17 0;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X connect 8 0 16 0;
#X connect 9 0 6 0;
#X connect 12 0 11 0;
#X connect 13 0 10 0;
#X connect 14 0 12 0;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 0 0;
#X restore 76 390 pd select;
#N canvas 465 200 755 428 grid 0;
#X obj 286 279 f \$0;
#X obj 285 256 loadbang;
#X msg 323 282 bang;
#X msg 223 235 0;
#X msg 240 256 410;
#X obj 518 13 loadbang;
#X obj 520 56 s \$0-gridtype-r;
#X obj 454 279 f \$0;
#X obj 453 256 loadbang;
#X msg 491 282 bang;
#X msg 391 235 0;
#X msg 408 256 410;
#X msg 416 329 \; \$2-grid2 vis_size 1 \$1;
#X obj 146 46 r \$0-gridtype;
#X msg 248 329 \; \$2-grid1 vis_size 1 \$1;
#X obj 116 272 f \$0;
#X obj 115 249 loadbang;
#X msg 153 275 bang;
#X msg 53 228 0;
#X msg 78 322 \; \$2-grid vis_size 1 \$1;
#X obj 52 171 > 0;
#X obj 52 194 sel 0 1;
#X obj 223 206 sel 0 1;
#X obj 224 183 > 1;
#X obj 389 206 sel 0 1;
#X obj 390 183 > 2;
#X obj 575 231 s \$0-grid2;
#X msg 571 201 color \$1;
#X msg 643 178 color \$1;
#X floatatom 574 174 5 0 0 0 - - -;
#X obj 645 201 s \$0-grid1;
#X msg 559 114 color \$1;
#X floatatom 573 87 5 0 0 0 - - -;
#X obj 561 137 s \$0-grid;
#X obj 413 308 pack 0 \$0;
#X obj 246 308 pack 0 \$0;
#X obj 76 301 pack 0 \$0;
#X msg 519 34 0;
#X msg 70 249 410;
#X connect 0 0 35 1;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 35 0;
#X connect 4 0 35 0;
#X connect 5 0 37 0;
#X connect 7 0 34 1;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 10 0 34 0;
#X connect 11 0 34 0;
#X connect 13 0 20 0;
#X connect 13 0 23 0;
#X connect 13 0 25 0;
#X connect 15 0 36 1;
#X connect 16 0 15 0;
#X connect 17 0 15 0;
#X connect 18 0 36 0;
#X connect 20 0 21 0;
#X connect 21 0 18 0;
#X connect 21 1 38 0;
#X connect 22 0 3 0;
#X connect 22 1 4 0;
#X connect 23 0 22 0;
#X connect 24 0 10 0;
#X connect 24 1 11 0;
#X connect 25 0 24 0;
#X connect 27 0 26 0;
#X connect 28 0 30 0;
#X connect 29 0 27 0;
#X connect 31 0 33 0;
#X connect 32 0 31 0;
#X connect 32 0 28 0;
#X connect 34 0 12 0;
#X connect 35 0 14 0;
#X connect 36 0 19 0;
#X connect 37 0 6 0;
#X connect 38 0 36 0;
#X restore 82 485 pd grid;
#N canvas 735 127 201 188 cut 0;
#X obj 13 30 r \$0-cut;
#X obj 30 84 t b b b;
#X obj 53 128 s \$0-copy;
#X obj 29 154 s \$0-delete;
#X obj 73 105 s \$0-sendundo;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 1 2 4 0;
#X restore 73 180 pd cut;
#N canvas 178 115 455 651 gain 0;
#X obj 139 120 r \$0-filesize;
#X obj 125 167 *;
#X obj 138 143 t b f;
#X obj 244 123 r \$0-filesize;
#X obj 230 170 *;
#X obj 243 146 t b f;
#X obj 108 204 f;
#X obj 109 256 f;
#X obj 159 385 f;
#X obj 187 385 + 1;
#X obj 110 231 t b f;
#X obj 160 352 until;
#X obj 120 302 moses 1;
#X obj 160 325 t f f b;
#X msg 198 353 0;
#X obj 14 55 t b b b;
#X obj 121 100 r \$0-sel-offset;
#X obj 220 99 r \$0-sel-fraction;
#X obj 63 627 s original-L;
#X obj 166 626 s original-R;
#X obj 74 588 pack 0 0;
#X obj 169 593 pack 0 0;
#X obj 158 426 +;
#X obj 9 252 s \$0-refresh;
#X obj 157 449 t f f;
#X obj 193 481 tabread original-L;
#X obj 310 480 tabread original-R;
#X obj 195 504 * 1;
#X obj 310 505 * 1;
#X obj 194 530 clip -1 1;
#X obj 311 530 clip -1 1;
#X obj 285 370 r \$0-gainamount;
#X msg 290 276 500;
#X obj 291 252 r \$0-arcmade;
#X obj 291 306 s \$0-gainamount-r;
#X obj 287 398 tabread \$0-arc;
#X obj 12 29 r \$0-gain;
#X obj 78 69 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 8 0 22 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 10 1 22 1;
#X connect 11 0 8 0;
#X connect 12 1 13 0;
#X connect 13 0 11 0;
#X connect 13 2 14 0;
#X connect 14 0 8 1;
#X connect 15 0 23 0;
#X connect 15 1 6 0;
#X connect 15 2 37 0;
#X connect 16 0 1 0;
#X connect 17 0 4 0;
#X connect 20 0 18 0;
#X connect 21 0 19 0;
#X connect 22 0 24 0;
#X connect 24 0 20 0;
#X connect 24 0 21 0;
#X connect 24 1 25 0;
#X connect 24 1 26 0;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 30 0;
#X connect 29 0 20 1;
#X connect 30 0 21 1;
#X connect 31 0 35 0;
#X connect 32 0 34 0;
#X connect 33 0 32 0;
#X connect 35 0 27 1;
#X connect 35 0 28 1;
#X connect 36 0 15 0;
#X restore 171 337 pd gain;
#N canvas 178 115 708 654 normalize 0;
#X obj 158 121 r \$0-filesize;
#X obj 144 168 *;
#X obj 157 144 t b f;
#X obj 263 124 r \$0-filesize;
#X obj 249 171 *;
#X obj 262 147 t b f;
#X obj 97 164 f;
#X obj 98 216 f;
#X obj 148 345 f;
#X obj 176 345 + 1;
#X obj 99 191 t b f;
#X obj 149 312 until;
#X obj 109 241 moses 1;
#X msg 187 313 0;
#X obj 14 55 t b b b;
#X obj 140 101 r \$0-sel-offset;
#X obj 239 100 r \$0-sel-fraction;
#X obj 52 587 s original-L;
#X obj 155 586 s original-R;
#X obj 63 548 pack 0 0;
#X obj 158 553 pack 0 0;
#X obj 147 386 +;
#X obj 9 252 s \$0-refresh;
#X obj 146 409 t f f;
#X obj 182 441 tabread original-L;
#X obj 299 440 tabread original-R;
#X obj 184 464 * 1;
#X obj 299 465 * 1;
#X obj 183 490 clip -1 1;
#X obj 300 490 clip -1 1;
#X obj 12 29 r \$0-normalize;
#X obj 262 403 expr 1/$f1;
#X obj 296 258 f;
#X obj 324 258 + 1;
#X obj 297 225 until;
#X msg 335 226 0;
#X obj 149 285 t f f b f;
#X obj 297 287 +;
#X obj 314 348 tabread original-L;
#X obj 431 347 tabread original-R;
#X obj 301 308 t f f;
#X obj 500 455 >;
#X obj 464 481 spigot;
#X obj 464 421 t f f;
#X obj 464 504 t f f;
#X msg 562 434 0;
#X obj 297 198 t f f b b;
#X obj 81 68 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 8 0 21 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 10 1 21 1;
#X connect 10 1 37 1;
#X connect 11 0 8 0;
#X connect 12 1 36 0;
#X connect 13 0 8 1;
#X connect 14 0 22 0;
#X connect 14 1 6 0;
#X connect 14 2 47 0;
#X connect 15 0 1 0;
#X connect 16 0 4 0;
#X connect 19 0 17 0;
#X connect 20 0 18 0;
#X connect 21 0 23 0;
#X connect 23 0 19 0;
#X connect 23 0 20 0;
#X connect 23 1 24 0;
#X connect 23 1 25 0;
#X connect 24 0 26 0;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 19 1;
#X connect 29 0 20 1;
#X connect 30 0 14 0;
#X connect 31 0 26 1;
#X connect 31 0 27 1;
#X connect 32 0 33 0;
#X connect 32 0 37 0;
#X connect 33 0 32 1;
#X connect 34 0 32 0;
#X connect 35 0 32 1;
#X connect 36 0 11 0;
#X connect 36 2 13 0;
#X connect 36 3 46 0;
#X connect 37 0 40 0;
#X connect 38 0 43 0;
#X connect 39 0 43 0;
#X connect 40 0 38 0;
#X connect 40 1 39 0;
#X connect 41 0 42 1;
#X connect 42 0 44 0;
#X connect 43 0 42 0;
#X connect 43 1 41 0;
#X connect 44 0 31 0;
#X connect 44 1 41 1;
#X connect 45 0 41 1;
#X connect 46 0 34 0;
#X connect 46 2 35 0;
#X connect 46 3 45 0;
#X restore 172 358 pd normalize;
#N canvas 178 115 840 626 reverse 0;
#X obj 129 105 r \$0-filesize;
#X obj 115 152 *;
#X obj 128 128 t b f;
#X obj 234 108 r \$0-filesize;
#X obj 220 155 *;
#X obj 233 131 t b f;
#X obj 98 189 f;
#X obj 99 241 f;
#X obj 114 539 s clipboard-L;
#X obj 162 480 tabread original-L;
#X obj 117 506 pack 0 0;
#X obj 149 370 f;
#X obj 177 370 + 1;
#X obj 100 216 t b f;
#X obj 150 337 until;
#X obj 84 265 moses 1;
#X obj 149 393 t f f;
#X obj 176 424 +;
#X obj 239 330 s clipboard-R;
#X msg 231 305 resize \$1;
#X obj 222 350 s clipboard-L;
#X obj 206 540 pack 0 0;
#X obj 251 514 tabread original-R;
#X obj 203 573 s clipboard-R;
#X obj 150 310 t f f b;
#X msg 188 338 0;
#X obj 111 85 r \$0-sel-offset;
#X obj 210 84 r \$0-sel-fraction;
#X obj 479 271 f;
#X obj 507 271 + 1;
#X obj 480 238 until;
#X obj 479 294 t f f;
#X obj 480 211 t f f b;
#X msg 518 239 0;
#X obj 507 324 -;
#X obj 507 348 abs;
#X obj 525 388 tabread clipboard-R;
#X obj 513 410 tabread clipboard-L;
#X obj 462 464 pack 0 0;
#X obj 457 388 +;
#X obj 461 494 s original-L;
#X obj 546 492 pack 0 0;
#X obj 549 519 s original-R;
#X obj 59 82 t b b;
#X obj 41 352 s \$0-refresh;
#X obj 58 11 r \$0-reverse;
#X obj 127 286 t f f;
#X obj 58 37 t b b;
#X obj 84 60 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 4 0 34 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 13 0;
#X connect 7 0 15 0;
#X connect 9 0 10 1;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 11 0 16 0;
#X connect 12 0 11 1;
#X connect 13 0 7 0;
#X connect 13 1 17 1;
#X connect 13 1 39 1;
#X connect 14 0 11 0;
#X connect 15 1 46 0;
#X connect 16 0 10 0;
#X connect 16 0 21 0;
#X connect 16 1 17 0;
#X connect 17 0 9 0;
#X connect 17 0 22 0;
#X connect 19 0 18 0;
#X connect 19 0 20 0;
#X connect 21 0 23 0;
#X connect 22 0 21 1;
#X connect 24 0 14 0;
#X connect 24 1 19 0;
#X connect 24 2 25 0;
#X connect 25 0 11 1;
#X connect 26 0 1 0;
#X connect 27 0 4 0;
#X connect 28 0 29 0;
#X connect 28 0 31 0;
#X connect 29 0 28 1;
#X connect 30 0 28 0;
#X connect 31 0 39 0;
#X connect 31 1 34 0;
#X connect 32 0 30 0;
#X connect 32 2 33 0;
#X connect 33 0 28 1;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 35 0 37 0;
#X connect 36 0 41 1;
#X connect 37 0 38 1;
#X connect 38 0 40 0;
#X connect 39 0 38 0;
#X connect 39 0 41 0;
#X connect 41 0 42 0;
#X connect 43 0 44 0;
#X connect 43 1 6 0;
#X connect 45 0 47 0;
#X connect 46 0 32 0;
#X connect 46 1 24 0;
#X connect 47 0 43 0;
#X connect 47 1 48 0;
#X restore 173 382 pd reverse;
#N canvas 185 37 460 703 fadeout 0;
#X obj 128 121 r \$0-filesize;
#X obj 114 168 *;
#X obj 127 144 t b f;
#X obj 233 124 r \$0-filesize;
#X obj 219 171 *;
#X obj 232 147 t b f;
#X obj 97 205 f;
#X obj 98 257 f;
#X obj 148 386 f;
#X obj 176 386 + 1;
#X obj 99 232 t b f;
#X obj 149 353 until;
#X obj 109 303 moses 1;
#X obj 149 326 t f f b;
#X msg 187 354 0;
#X obj 16 36 t b b b;
#X obj 110 101 r \$0-sel-offset;
#X obj 209 100 r \$0-sel-fraction;
#X obj 52 651 s original-L;
#X obj 155 650 s original-R;
#X obj 63 612 pack 0 0;
#X obj 158 617 pack 0 0;
#X obj 147 450 +;
#X obj 9 293 s \$0-refresh;
#X obj 146 473 t f f;
#X obj 182 505 tabread original-L;
#X obj 299 504 tabread original-R;
#X obj 184 528 * 1;
#X obj 299 529 * 1;
#X obj 183 554 clip -1 1;
#X obj 300 554 clip -1 1;
#X obj 12 8 r \$0-fadeout;
#X obj 282 401 /;
#X obj 149 413 t f f;
#X obj 283 425 - 1;
#X obj 282 448 abs;
#X obj 75 65 s \$0-sendundo;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 4 0 32 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 8 0 33 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 10 1 22 1;
#X connect 11 0 8 0;
#X connect 12 1 13 0;
#X connect 13 0 11 0;
#X connect 13 2 14 0;
#X connect 14 0 8 1;
#X connect 15 0 23 0;
#X connect 15 1 6 0;
#X connect 15 2 36 0;
#X connect 16 0 1 0;
#X connect 17 0 4 0;
#X connect 20 0 18 0;
#X connect 21 0 19 0;
#X connect 22 0 24 0;
#X connect 24 0 20 0;
#X connect 24 0 21 0;
#X connect 24 1 25 0;
#X connect 24 1 26 0;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 30 0;
#X connect 29 0 20 1;
#X connect 30 0 21 1;
#X connect 31 0 15 0;
#X connect 32 0 34 0;
#X connect 33 0 22 0;
#X connect 33 1 32 0;
#X connect 34 0 35 0;
#X connect 35 0 27 1;
#X connect 35 0 28 1;
#X restore 174 245 pd fadeout;
#N canvas 78 101 1206 598 undo 0;
#X obj 270 259 tabread original-L;
#X obj 330 231 tabread original-R;
#X obj 245 47 r \$0-filesize;
#X obj 209 297 pack 0 0;
#X obj 232 131 until;
#X obj 230 76 f;
#X obj 223 13 r \$0-sendundo;
#X obj 231 152 f;
#X obj 258 151 + 1;
#X obj 230 175 t f f;
#X obj 266 304 pack 0 0;
#X msg 366 148 \; \$2-undo-L resize \$1 \; \$2-undo-R resize \$1;
#X obj 365 126 pack 0 0;
#X obj 411 102 f \$0;
#X obj 412 78 loadbang;
#X obj 267 350 s \$0-undo-R;
#X obj 210 374 s \$0-undo-L;
#X obj 841 331 pack 0 0;
#X obj 864 165 until;
#X obj 862 110 f;
#X obj 863 186 f;
#X obj 890 185 + 1;
#X obj 862 209 t f f;
#X obj 898 338 pack 0 0;
#X obj 635 30 r \$0-undo;
#X obj 327 200 s \$0-undosize;
#X obj 878 80 r \$0-undosize;
#X msg 973 210 \; original-L resize \$1 \; original-R resize \$1;
#X obj 963 265 tabread \$0-undo-R;
#X obj 902 294 tabread \$0-undo-L;
#X obj 842 408 s original-L;
#X obj 898 384 s original-R;
#X obj 637 281 s \$0-refresh;
#X obj 452 317 r \$0-zoomoffset;
#X obj 423 296 r \$0-zoomfraction;
#X obj 984 185 s \$0-filesize;
#X obj 401 352 f;
#X obj 434 352 f;
#X obj 339 302 t b b;
#X obj 405 384 s \$0-undo-fraction;
#X obj 429 404 s \$0-undo-offset;
#X obj 231 101 t f f f b;
#X obj 635 64 t b b b;
#X obj 703 122 r \$0-undo-fraction;
#X obj 718 146 r \$0-undo-offset;
#X obj 690 214 s \$0-zoomfraction;
#X obj 719 235 s \$0-zoomoffset;
#X obj 690 180 f;
#X obj 719 187 f;
#X obj 663 123 t b b;
#X msg 301 95 0;
#X msg 928 130 0;
#X obj 861 136 t f f f b;
#X obj 17 111 table \$0-undo-L;
#X obj 116 110 table \$0-undo-R;
#X connect 0 0 3 1;
#X connect 1 0 10 1;
#X connect 2 0 5 1;
#X connect 3 0 16 0;
#X connect 4 0 7 0;
#X connect 5 0 41 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 1;
#X connect 9 0 3 0;
#X connect 9 0 10 0;
#X connect 9 1 0 0;
#X connect 9 1 1 0;
#X connect 10 0 15 0;
#X connect 12 0 11 0;
#X connect 13 0 12 1;
#X connect 14 0 13 0;
#X connect 17 0 30 0;
#X connect 18 0 20 0;
#X connect 19 0 52 0;
#X connect 20 0 21 0;
#X connect 20 0 22 0;
#X connect 21 0 20 1;
#X connect 22 0 17 0;
#X connect 22 0 23 0;
#X connect 22 1 28 0;
#X connect 22 1 29 0;
#X connect 23 0 31 0;
#X connect 24 0 42 0;
#X connect 26 0 19 1;
#X connect 28 0 23 1;
#X connect 29 0 17 1;
#X connect 33 0 37 1;
#X connect 34 0 36 1;
#X connect 36 0 39 0;
#X connect 37 0 40 0;
#X connect 38 0 36 0;
#X connect 38 1 37 0;
#X connect 41 0 4 0;
#X connect 41 1 12 0;
#X connect 41 2 25 0;
#X connect 41 3 38 0;
#X connect 41 3 50 0;
#X connect 42 0 32 0;
#X connect 42 1 49 0;
#X connect 42 2 19 0;
#X connect 43 0 47 1;
#X connect 44 0 48 1;
#X connect 47 0 45 0;
#X connect 48 0 46 0;
#X connect 49 0 47 0;
#X connect 49 1 48 0;
#X connect 50 0 7 1;
#X connect 51 0 20 1;
#X connect 52 0 18 0;
#X connect 52 1 27 0;
#X connect 52 2 35 0;
#X connect 52 3 51 0;
#X restore 212 128 pd undo;
#N canvas 178 115 523 658 crop 0;
#X obj 69 -10 r \$0-crop;
#X obj 192 90 r \$0-filesize;
#X obj 178 137 *;
#X obj 191 113 t b f;
#X obj 297 93 r \$0-filesize;
#X obj 283 140 *;
#X obj 296 116 t b f;
#X obj 161 174 f;
#X obj 162 226 f;
#X obj 163 502 s clipboard-L;
#X obj 211 443 tabread original-L;
#X obj 166 469 pack 0 0;
#X obj 198 333 f;
#X obj 226 333 + 1;
#X obj 163 201 t b f;
#X obj 199 300 until;
#X obj 159 250 moses 1;
#X obj 198 356 t f f;
#X obj 225 387 +;
#X obj 288 293 s clipboard-R;
#X msg 280 268 resize \$1;
#X obj 271 313 s clipboard-L;
#X obj 255 503 pack 0 0;
#X obj 300 477 tabread original-R;
#X obj 252 536 s clipboard-R;
#X obj 58 213 f;
#X obj 69 302 f;
#X obj 97 302 + 1;
#X obj 70 269 until;
#X obj 199 273 t f f b;
#X msg 237 301 0;
#X obj 69 324 t f f;
#X obj 28 388 pack 0 0;
#X obj 76 359 tabread clipboard-L;
#X obj 78 65 t b b b;
#X obj 29 471 pack 0 0;
#X obj 74 445 tabread clipboard-R;
#X obj 28 411 s original-L;
#X obj 30 494 s original-R;
#X obj 37 554 s original-R;
#X obj 20 574 s original-L;
#X msg 16 531 resize \$1;
#X obj 54 239 t f f f;
#X obj 56 164 s \$0-filesize;
#X obj 27 110 f;
#X obj 175 70 r \$0-sel-offset;
#X obj 273 69 r \$0-sel-fraction;
#X obj 27 132 t b f;
#X obj 21 189 s \$0-filein;
#X obj 78 16 t b b;
#X obj 104 39 s \$0-sendundo;
#X connect 0 0 49 0;
#X connect 1 0 3 0;
#X connect 2 0 7 1;
#X connect 3 0 2 0;
#X connect 3 1 2 1;
#X connect 4 0 6 0;
#X connect 5 0 8 1;
#X connect 5 0 44 1;
#X connect 6 0 5 0;
#X connect 6 1 5 1;
#X connect 7 0 14 0;
#X connect 8 0 16 0;
#X connect 10 0 11 1;
#X connect 11 0 9 0;
#X connect 12 0 13 0;
#X connect 12 0 17 0;
#X connect 13 0 12 1;
#X connect 14 0 8 0;
#X connect 14 1 18 1;
#X connect 15 0 12 0;
#X connect 16 1 29 0;
#X connect 17 0 11 0;
#X connect 17 0 22 0;
#X connect 17 1 18 0;
#X connect 18 0 10 0;
#X connect 18 0 23 0;
#X connect 20 0 19 0;
#X connect 20 0 21 0;
#X connect 22 0 24 0;
#X connect 23 0 22 1;
#X connect 25 0 42 0;
#X connect 26 0 27 0;
#X connect 26 0 31 0;
#X connect 27 0 26 1;
#X connect 28 0 26 0;
#X connect 29 0 15 0;
#X connect 29 1 20 0;
#X connect 29 1 25 1;
#X connect 29 2 30 0;
#X connect 30 0 12 1;
#X connect 30 0 26 1;
#X connect 31 0 32 0;
#X connect 31 0 35 0;
#X connect 31 1 33 0;
#X connect 31 1 36 0;
#X connect 32 0 37 0;
#X connect 33 0 32 1;
#X connect 34 0 44 0;
#X connect 34 1 25 0;
#X connect 34 2 7 0;
#X connect 35 0 38 0;
#X connect 36 0 35 1;
#X connect 41 0 40 0;
#X connect 41 0 39 0;
#X connect 42 0 41 0;
#X connect 42 1 28 0;
#X connect 44 0 47 0;
#X connect 45 0 2 0;
#X connect 46 0 5 0;
#X connect 47 0 48 0;
#X connect 47 1 43 0;
#X connect 49 0 34 0;
#X connect 49 1 50 0;
#X restore 73 160 pd crop;
#N canvas 185 37 464 707 fadein 0;
#X obj 128 121 r \$0-filesize;
#X obj 114 168 *;
#X obj 127 144 t b f;
#X obj 233 124 r \$0-filesize;
#X obj 219 171 *;
#X obj 232 147 t b f;
#X obj 97 205 f;
#X obj 98 257 f;
#X obj 148 386 f;
#X obj 176 386 + 1;
#X obj 99 232 t b f;
#X obj 149 353 until;
#X obj 109 303 moses 1;
#X obj 149 326 t f f b;
#X msg 187 354 0;
#X obj 16 36 t b b b;
#X obj 110 101 r \$0-sel-offset;
#X obj 209 100 r \$0-sel-fraction;
#X obj 52 651 s original-L;
#X obj 155 650 s original-R;
#X obj 63 612 pack 0 0;
#X obj 158 617 pack 0 0;
#X obj 147 450 +;
#X obj 9 293 s \$0-refresh;
#X obj 146 473 t f f;
#X obj 182 505 tabread original-L;
#X obj 299 504 tabread original-R;
#X obj 184 528 * 1;
#X obj 299 529 * 1;
#X obj 183 554 clip -1 1;
#X obj 300 554 clip -1 1;
#X obj 282 401 /;
#X obj 149 413 t f f;
#X obj 75 65 s \$0-sendundo;
#X obj 13 8 r \$0-fadein;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 4 0 31 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 8 0 32 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 10 1 22 1;
#X connect 11 0 8 0;
#X connect 12 1 13 0;
#X connect 13 0 11 0;
#X connect 13 2 14 0;
#X connect 14 0 8 1;
#X connect 15 0 23 0;
#X connect 15 1 6 0;
#X connect 15 2 33 0;
#X connect 16 0 1 0;
#X connect 17 0 4 0;
#X connect 20 0 18 0;
#X connect 21 0 19 0;
#X connect 22 0 24 0;
#X connect 24 0 20 0;
#X connect 24 0 21 0;
#X connect 24 1 25 0;
#X connect 24 1 26 0;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 30 0;
#X connect 29 0 20 1;
#X connect 30 0 21 1;
#X connect 31 0 27 1;
#X connect 31 0 28 1;
#X connect 32 0 22 0;
#X connect 32 1 31 0;
#X connect 34 0 15 0;
#X restore 172 267 pd fadein;
#N canvas 178 115 471 667 copy 0;
#X obj 128 80 r \$0-filesize;
#X obj 114 127 *;
#X obj 127 103 t b f;
#X obj 233 83 r \$0-filesize;
#X obj 219 130 *;
#X obj 232 106 t b f;
#X obj 97 164 f;
#X obj 98 216 f;
#X obj 113 514 s clipboard-L;
#X obj 161 455 tabread original-L;
#X obj 116 481 pack 0 0;
#X obj 148 345 f;
#X obj 176 345 + 1;
#X obj 99 191 t b f;
#X obj 149 312 until;
#X obj 109 262 moses 1;
#X obj 148 368 t f f;
#X obj 175 399 +;
#X obj 238 305 s clipboard-R;
#X msg 230 280 resize \$1;
#X obj 221 325 s clipboard-L;
#X obj 205 515 pack 0 0;
#X obj 250 489 tabread original-R;
#X obj 202 548 s clipboard-R;
#X obj 149 285 t f f b;
#X msg 187 313 0;
#X obj 110 60 r \$0-sel-offset;
#X obj 209 59 r \$0-sel-fraction;
#X obj 83 27 r \$0-copy;
#X obj 237 240 t f f;
#X obj 331 285 s \$0-clipsize;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 5 0;
#X connect 4 0 7 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 13 0;
#X connect 7 0 15 0;
#X connect 9 0 10 1;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 11 0 16 0;
#X connect 12 0 11 1;
#X connect 13 0 7 0;
#X connect 13 1 17 1;
#X connect 14 0 11 0;
#X connect 15 1 24 0;
#X connect 16 0 10 0;
#X connect 16 0 21 0;
#X connect 16 1 17 0;
#X connect 17 0 9 0;
#X connect 17 0 22 0;
#X connect 19 0 18 0;
#X connect 19 0 20 0;
#X connect 21 0 23 0;
#X connect 22 0 21 1;
#X connect 24 0 14 0;
#X connect 24 1 29 0;
#X connect 24 2 25 0;
#X connect 25 0 11 1;
#X connect 26 0 1 0;
#X connect 27 0 4 0;
#X connect 28 0 6 0;
#X connect 29 0 19 0;
#X connect 29 1 30 0;
#X restore 72 204 pd copy;
#N canvas 664 54 512 713 paste 0;
#X obj 182 70 r \$0-filesize;
#X obj 169 128 *;
#X obj 30 346 pack 0 0;
#X obj 62 210 f;
#X obj 90 210 + 1;
#X obj 63 177 until;
#X obj 62 233 t f f;
#X obj 119 380 pack 0 0;
#X obj 63 150 t f f b;
#X msg 101 178 0;
#X obj 150 47 r \$0-sel-offset;
#X msg 388 148 resize \$1;
#X obj 397 173 s original-R;
#X obj 379 193 s original-L;
#X obj 59 289 +;
#X obj 92 302 tabread clipboard-L;
#X obj 103 271 tabread clipboard-R;
#X obj 34 12 r \$0-paste;
#X obj 103 13 r \$0-clipsize;
#X obj 35 54 f;
#X obj 115 414 s original-R;
#X obj 27 378 s original-L;
#X obj 350 35 r \$0-filesize;
#X obj 316 87 +;
#X obj 318 110 t f f;
#X obj 329 220 s \$0-filesize;
#X obj 193 596 pack 0 0;
#X obj 221 372 f;
#X obj 249 372 + 1;
#X obj 221 343 until;
#X obj 225 483 t f f;
#X obj 282 630 pack 0 0;
#X obj 222 539 +;
#X obj 278 664 s original-R;
#X obj 190 628 s original-L;
#X obj 266 521 tabread original-R;
#X obj 253 554 tabread original-L;
#X obj 282 374 r \$0-filesize;
#X obj 222 394 * -1;
#X obj 222 417 +;
#X obj 290 476 r \$0-clipsize;
#X obj 329 190 f;
#X obj 58 99 t f b b b f;
#X obj 218 317 f;
#X obj 32 75 t b f;
#X obj 323 254 r \$0-filesize;
#X obj 307 308 -;
#X obj 308 282 t b f;
#X msg 247 292 0;
#X obj 12 408 s \$0-refresh;
#X connect 0 0 1 1;
#X connect 1 0 14 1;
#X connect 1 0 47 0;
#X connect 2 0 21 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 4 0 3 1;
#X connect 5 0 3 0;
#X connect 6 0 14 0;
#X connect 6 1 15 0;
#X connect 6 1 16 0;
#X connect 7 0 20 0;
#X connect 8 0 5 0;
#X connect 8 2 9 0;
#X connect 9 0 3 1;
#X connect 10 0 1 0;
#X connect 11 0 12 0;
#X connect 11 0 13 0;
#X connect 14 0 2 0;
#X connect 14 0 7 0;
#X connect 15 0 2 1;
#X connect 16 0 7 1;
#X connect 17 0 19 0;
#X connect 18 0 19 1;
#X connect 19 0 44 0;
#X connect 22 0 23 1;
#X connect 23 0 24 0;
#X connect 24 0 41 1;
#X connect 24 1 11 0;
#X connect 26 0 34 0;
#X connect 27 0 28 0;
#X connect 27 0 38 0;
#X connect 28 0 27 1;
#X connect 29 0 27 0;
#X connect 30 0 32 0;
#X connect 30 1 35 0;
#X connect 30 1 36 0;
#X connect 31 0 33 0;
#X connect 32 0 26 0;
#X connect 32 0 31 0;
#X connect 35 0 31 1;
#X connect 36 0 26 1;
#X connect 37 0 39 1;
#X connect 38 0 39 0;
#X connect 39 0 30 0;
#X connect 40 0 32 1;
#X connect 41 0 25 0;
#X connect 42 0 8 0;
#X connect 42 1 41 0;
#X connect 42 2 43 0;
#X connect 42 3 48 0;
#X connect 42 4 23 0;
#X connect 43 0 29 0;
#X connect 44 0 49 0;
#X connect 44 1 42 0;
#X connect 45 0 46 0;
#X connect 46 0 43 1;
#X connect 47 0 46 0;
#X connect 47 1 46 1;
#X connect 48 0 27 1;
#X restore 73 225 pd paste;
#N canvas 0 22 753 654 mix 0;
#X obj 274 115 r \$0-clipsize;
#N canvas 0 22 454 304 until 0;
#X obj 261 160 f;
#X obj 288 162 + 1;
#X obj 261 138 until;
#X msg 299 132 0;
#X obj 261 107 t f b;
#X obj 261 78 inlet;
#X obj 261 190 outlet;
#X connect 0 0 1 0;
#X connect 0 0 6 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 5 0 4 0;
#X restore 249 162 pd until;
#X obj 166 35 r \$0-mix;
#X obj 524 350 r \$0-mixamount;
#X msg 521 141 0.501;
#X obj 521 118 loadbang;
#X obj 522 168 s \$0-mixamount-r;
#X obj 475 229 r \$0-sel-offset;
#X obj 480 308 *;
#X obj 480 262 t b f;
#X obj 523 265 r \$0-filesize;
#X obj 171 72 t b b;
#X obj 249 136 f;
#X obj 249 188 t f f;
#X obj 273 241 t f f;
#X obj 302 265 +;
#X obj 525 371 - 1;
#X obj 526 392 abs;
#X obj 303 430 +;
#X obj 255 459 pack 0 0;
#X obj 197 498 pack 0 0;
#X obj 102 301 tabread original-L;
#X obj 75 323 tabread clipboard-L;
#X obj 198 537 s original-L;
#X obj 256 499 s original-R;
#X obj 276 311 tabread clipboard-R;
#X obj 303 289 tabread original-R;
#X obj 137 407 +;
#X obj 124 136 s \$0-refresh;
#X obj 240 375 +;
#X obj 338 391 * 0.5;
#X obj 299 395 * 0.5;
#X obj 171 369 * 0.5;
#X obj 134 372 * 0.5;
#X connect 0 0 12 1;
#X connect 1 0 13 0;
#X connect 2 0 11 0;
#X connect 3 0 16 0;
#X connect 3 0 31 1;
#X connect 3 0 33 1;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 7 0 9 0;
#X connect 8 0 15 1;
#X connect 8 0 29 1;
#X connect 9 0 8 0;
#X connect 9 1 8 1;
#X connect 10 0 8 0;
#X connect 11 0 28 0;
#X connect 11 1 12 0;
#X connect 12 0 1 0;
#X connect 13 0 29 0;
#X connect 13 1 14 0;
#X connect 14 0 25 0;
#X connect 14 0 22 0;
#X connect 14 1 15 0;
#X connect 15 0 26 0;
#X connect 15 0 21 0;
#X connect 16 0 17 0;
#X connect 17 0 30 1;
#X connect 17 0 32 1;
#X connect 18 0 19 1;
#X connect 19 0 24 0;
#X connect 20 0 23 0;
#X connect 21 0 32 0;
#X connect 22 0 33 0;
#X connect 25 0 31 0;
#X connect 26 0 30 0;
#X connect 27 0 20 1;
#X connect 29 0 19 0;
#X connect 29 0 20 0;
#X connect 30 0 18 1;
#X connect 31 0 18 0;
#X connect 32 0 27 1;
#X connect 33 0 27 0;
#X restore 174 404 pd mix;
#X restore 673 451 pd codey-code;
#X obj 47 -27 cnv 15 999 400 editor-right editor-right-r empty 20 12
0 14 -225280 -262144 0;
#X obj 48 -27 cnv 15 147 400 editor-middle editor-middle-r empty 20
12 0 14 -154682 -262144 0;
#X obj 46 -27 cnv 15 24 400 editor-left editor-left-r empty 20 12 0
14 -225280 -262144 0;
#X obj 51 373 hsl 995 24 0 1 0 0 \$0-selectstart \$0-selectstart-r
empty -2 -6 0 10 -228856 -1 -1 2386 0;
#X obj 51 398 hsl 995 24 0 1 0 0 \$0-selectend \$0-selectend-r empty
-2 -6 0 10 -228856 -1 -1 14612 0;
#X text 166 488 zoom;
#X obj 365 459 bng 15 250 50 0 \$0-openfile towruoitwruoirwy open 20
7 0 10 -228856 -1 -1;
#X obj 219 537 bng 15 250 50 0 \$0-zoom2sel twiuyituewyitewu empty
0 -6 0 10 -228856 -1 -1;
#X text 238 535 zoom to selection;
#X obj 179 462 bng 30 250 50 0 \$0-zoomin twiuyituewyitewu + 7 12 0
30 -228856 -1 -99865;
#X obj 149 462 bng 30 250 50 0 \$0-zoomout twiuyituewyitewu - 5 14
0 34 -228856 -1 -99865;
#X obj 675 513 r \$0-filesize;
#X floatatom 675 544 0 0 0 0 - - -;
#X text 943 406 selection region;
#X obj 139 423 bng 40 250 50 0 \$0-goleft ieiuwteyute <- 3 17 0 29
-228856 -1 -258113;
#X obj 219 518 bng 15 250 50 0 \$0-zoom100 ewootwuoitewu empty 0 -6
0 10 -228856 -1 -1;
#X obj 89 423 bng 20 250 50 0 \$0-nudgeleft2 erywiyewir < 4 9 0 15
-228856 -1 -258113;
#X obj 179 423 bng 40 250 50 0 \$0-goright ieiuwteyute -> 3 17 0 29
-228856 -1 -258113;
#X obj 219 423 bng 30 250 50 0 \$0-nudgeright erywiyewir > 9 13 0 25
-228856 -1 -258113;
#X obj 249 423 bng 20 250 50 0 \$0-nudgeright2 erywiyewir > 7 9 0 15
-228856 -1 -258113;
#X obj 109 423 bng 30 250 50 0 \$0-nudgeleft erywiyewir < 7 13 0 25
-228856 -1 -258113;
#X obj 873 452 key;
#X obj 873 473 sel 32;
#X obj 925 510 s \$0-play;
#X obj 925 490 bng 15 250 50 0 empty empty empty 0 -6 0 10 -228856
-1 -1;
#X text 804 452 grid;
#X obj 421 526 bng 15 250 50 0 \$0-crop wtyowteuyoieutwo crop 20 7
0 10 -228856 -1 -1;
#X obj 478 458 bng 15 250 50 0 \$0-delete wtyowteuyoieutwo delete 20
7 0 10 -228856 -1 -1;
#X obj 23 373 bng 24 250 50 0 \$0-selstarts1 ityotwy empty 0 -6 0 10
-228856 -1 -1;
#X obj 1049 398 bng 24 250 50 0 \$0-selends2 ityotwy empty 0 -6 0 10
-228856 -1 -1;
#X obj 219 562 bng 15 250 50 0 \$0-selall werorewoyueorw empty 0 -6
0 10 -228856 -1 -1;
#X text 239 562 select-all;
#X obj 36 72 cnv 10 1010 1 riweywoteuyotewu \$0-gridlong empty 20 12
0 14 -24198 -262144 0;
#X obj 36 272 cnv 10 1010 1 riweywoteuyotewu \$0-gridlong empty 20
12 0 14 -24198 -262144 0;
#X obj 23 -25 vsl 24 394 -100 700 0 0 \$0-playbackspeed \$0-playbackspeed-r
empty 0 -8 0 10 -228856 -1 -1 19650 0;
#X obj 172 -39 cnv 10 1 1 empty \$0-grid1 empty 20 12 0 14 -261681
-262144 0;
#X obj 297 -39 cnv 10 1 1 empty \$0-grid empty 20 12 0 14 -261681 -262144
0;
#X obj 421 -39 cnv 10 1 1 empty \$0-grid1 empty 20 12 0 14 -261681
-262144 0;
#X obj 546 -39 cnv 10 1 1 empty \$0-grid empty 20 12 0 14 -261681 -262144
0;
#X obj 671 -39 cnv 10 1 1 empty \$0-grid1 empty 20 12 0 14 -261681
-262144 0;
#X obj 796 -39 cnv 10 1 1 empty \$0-grid empty 20 12 0 14 -261681 -262144
0;
#X obj 922 -39 cnv 10 1 1 empty \$0-grid1 empty 20 12 0 14 -261681
-262144 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array -RIGHT 16000 float 2;
#X coords 0 1 16000 -1 1000 200 1;
#X restore 48 173 graph;
#N canvas 0 22 450 300 (subpatch) 0;
#X array -LEFT 16000 float 2;
#X coords 0 1 16000 -1 1000 200 1;
#X restore 48 -27 graph;
#X obj 478 477 bng 15 250 50 0 \$0-silence wtyowteuyoieutwo silence
20 7 0 10 -228856 -1 -1;
#X obj 1049 373 bng 24 250 50 0 \$0-selends1 ityotwy empty 0 -6 0 10
-228856 -1 -1;
#X obj 23 398 bng 24 250 50 0 \$0-selstarts2 ityotwy empty 0 -6 0 10
-228856 -1 -1;
#X obj 365 507 bng 15 250 50 0 \$0-copy wtyowteuyoieutwo copy 20 7
0 10 -228856 -1 -1;
#X obj 674 476 tgl 30 0 \$0-loopsel \$0-loopsel-r LOOP 34 15 0 20 -228856
-1 -1 1 1;
#N canvas 0 22 458 308 cpu 0;
#X obj 118 168 cputime;
#X obj 118 28 loadbang;
#X obj 118 112 metro 1000;
#X msg 118 56 1;
#X obj 118 140 t b b;
#X obj 118 228 * 0.1;
#X obj 118 197 int;
#X obj 118 252 outlet;
#X connect 0 0 6 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X connect 4 1 0 1;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X restore 1065 -18 pd cpu;
#X floatatom 1065 2 5 0 0 0 - - -;
#X obj 6 165 bng 15 250 50 0 \$0-playback-norm oerwioewuoweu empty
0 -6 0 10 -228856 -1 -1;
#X obj 576 454 vsl 15 70 0 1000 0 0 \$0-gainamount \$0-gainamount-r
empty 0 -8 0 10 -228856 -1 -1 3450 1;
#X obj 576 531 bng 15 250 50 0 \$0-gain oweyuotuotewu gain -3 25 0
10 -228856 -1 -1;
#X text 564 479 --;
#X text 590 479 --;
#X obj 478 496 bng 15 250 50 0 \$0-normalize wtyowteuyoieutwo normalize
20 7 0 10 -228856 -1 -1;
#X obj 478 515 bng 15 250 50 0 \$0-reverse weoytowutowiutwr reverse
20 7 0 10 -228856 -1 -1;
#X obj 478 534 bng 15 250 50 0 \$0-fadeout yiruwtyiutrwyu fade-out
20 7 0 10 -228856 -1 -1;
#X obj 478 553 bng 15 250 50 0 \$0-fadein yiruwtyiutrwyu fade-in 20
7 0 10 -228856 -1 -1;
#X obj 235 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 360 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 484 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 609 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 734 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 859 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 985 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 109 -39 cnv 10 1 1 empty \$0-grid2 empty 20 12 0 14 -233017
-262144 0;
#X obj 97 -49 cnv 15 900 20 empty empty empty 20 12 0 14 -262144 -66577
0;
#X obj 804 469 vradio 15 1 0 4 \$0-gridtype \$0-gridtype-r empty 0
-6 0 10 -228856 -1 -1 0;
#X text 820 468 off;
#X text 820 482 4;
#X text 820 499 8;
#X text 821 513 16;
#X text 238 516 zoom 100%;
#X obj 365 553 bng 15 250 50 0 \$0-undo uyweiuytewiuetw undo 20 7 0
10 -228856 -1 -1;
#X obj 705 545 / 44100;
#X floatatom 705 567 5 0 0 1 seconds - -;
#X obj 421 507 bng 15 250 50 0 \$0-cut wtyowteuyoieutwo cut 20 7 0
10 -228856 -1 -1;
#X obj 365 526 bng 15 250 50 0 \$0-paste rtuiytioytrwoiyirtw paste
20 7 0 10 -228856 -1 -1;
#X obj 614 454 vsl 15 70 0 1 0 0 \$0-mixamount \$0-mixamount-r empty
0 -8 0 10 -228856 -1 -1 3457 1;
#X obj 614 531 bng 15 250 50 0 \$0-mix oweyuotuotewu mix 0 25 0 10
-228856 -1 -1;
#X text 602 479 --;
#X text 628 479 --;
#X obj 365 478 bng 15 250 50 0 \$0-savefile towyotwyotw save 20 7 0
10 -228856 -1 -1;
#X text 923 470 play (spacebar);
#X floatatom -99 445 5 0 0 0 - - -;
#X floatatom 9 437 5 0 0 0 - - -;
#X obj 48 593 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 9 531 5 0 0 0 - - -;
#X obj 9 510 <;
#X floatatom 63 531 5 0 0 0 - - -;
#X obj 63 510 >;
#X obj 9 572 moses 1;
#X obj 9 551 change;
#X obj 102 593 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 63 572 moses 1;
#X obj 63 551 change;
#X msg 48 612 0;
#X msg 102 612 1;
#X floatatom -47 535 5 0 0 0 - - -;
#X obj -8 597 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj -47 575 moses 1;
#X obj -47 554 change;
#X floatatom -99 535 5 0 0 0 - - -;
#X obj -60 597 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -99 576 moses 1;
#X obj -99 555 change;
#X obj 1078 381 loadbang;
#X obj -47 514 < 0.005;
#X floatatom -99 487 5 0 0 0 - - -;
#X floatatom 9 480 5 0 0 0 - - -;
#X obj -99 466 + 0.0001;
#X obj 9 459 - 0.0001;
#X obj -99 514 > 0.987;
#X obj -124 102 random 7000;
#X obj -124 80 metro;
#X floatatom -124 148 5 0 0 0 - - -;
#X obj -124 59 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj -124 125 * 0.1;
#X msg 1078 405 \; pd dsp 1;
#X obj -94 59 hsl 100 15 10 1000 0 1 empty empty empty -2 -8 0 10 -228856
-1 -1 7800 0;
#X obj -123 247 metro;
#X floatatom -123 310 5 0 0 0 - - -;
#X obj -123 217 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1
0 1;
#X obj -93 201 hsl 100 15 10 1000 0 1 empty empty empty -2 -8 0 10
-228856 -1 -1 5600 0;
#X obj -123 289 * 0.001;
#X floatatom -72 382 5 0 0 0 - - -;
#X obj -123 359 moses 0.1;
#X obj -123 268 random 777;
#X floatatom -54 316 5 0 0 0 - - -;
#X obj -54 295 * 0.001;
#X obj -54 336 moses 0.1;
#X floatatom -54 357 5 0 0 0 - - -;
#X obj -27 216 / 2;
#X obj -54 253 metro;
#X obj -54 229 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj -54 274 random 100;
#X obj -54 129 tgl 30 0 empty empty empty 17 7 0 10 -258113 -1 -1 0
1;
#X connect 4 0 87 0;
#X connect 5 0 88 0;
#X connect 12 0 13 0;
#X connect 12 0 77 0;
#X connect 22 0 23 0;
#X connect 23 0 25 0;
#X connect 25 0 24 0;
#X connect 50 0 51 0;
#X connect 77 0 78 0;
#X connect 87 0 113 0;
#X connect 88 0 114 0;
#X connect 89 0 99 0;
#X connect 90 0 95 0;
#X connect 91 0 90 0;
#X connect 92 0 98 0;
#X connect 93 0 92 0;
#X connect 94 1 89 0;
#X connect 95 0 94 0;
#X connect 96 0 100 0;
#X connect 97 1 96 0;
#X connect 98 0 97 0;
#X connect 99 0 4 0;
#X connect 100 0 5 0;
#X connect 101 0 104 0;
#X connect 102 0 100 0;
#X connect 103 1 102 0;
#X connect 104 0 103 0;
#X connect 105 0 108 0;
#X connect 106 0 99 0;
#X connect 107 1 106 0;
#X connect 108 0 107 0;
#X connect 109 0 30 0;
#X connect 109 0 121 0;
#X connect 110 0 101 0;
#X connect 111 0 91 1;
#X connect 111 0 93 0;
#X connect 111 0 115 0;
#X connect 112 0 93 1;
#X connect 112 0 110 0;
#X connect 112 0 91 0;
#X connect 113 0 111 0;
#X connect 114 0 112 0;
#X connect 115 0 105 0;
#X connect 116 0 120 0;
#X connect 117 0 116 0;
#X connect 118 0 35 0;
#X connect 119 0 117 0;
#X connect 120 0 118 0;
#X connect 122 0 117 1;
#X connect 123 0 130 0;
#X connect 124 0 129 0;
#X connect 125 0 123 0;
#X connect 126 0 123 1;
#X connect 126 0 135 0;
#X connect 127 0 124 0;
#X connect 128 0 5 0;
#X connect 129 1 128 0;
#X connect 130 0 127 0;
#X connect 131 0 133 0;
#X connect 132 0 131 0;
#X connect 133 0 134 0;
#X connect 134 0 4 0;
#X connect 135 0 136 1;
#X connect 136 0 138 0;
#X connect 137 0 136 0;
#X connect 138 0 132 0;
#X connect 139 0 119 0;
#X connect 139 0 125 0;
#X connect 139 0 137 0;
How to populate 1 array with 4 incomming number streams
Hi all,
This should be the easiest thing in the world, but I cant for the life of me figure it out.
I need to populate an array with input from four different number streams were the order of appearence of numbers in the stream puts them into an queue to bang messages from 0,1,2 etc.
A brief explanation
I presume is pretty
easy when you know how, but A brief explanation of the project might be in order
The idea is to back project onto a series of screens and give people
IR LED "paintbrushes" so they can paint with procedural graphics and
sound.
We're using "touchlib" blob tracking software (and webcams)to
differentiate between the blobs. the software assigns each blob a
numbered ID for the length of its lifetime, based on the order in
which they come into existence : so the first blob in existence is "ID
0" (until it dies, when it takes its pace in the queue), the second
is "ID 1" etc.
These IDs allow us to assign specific graphics to different blobs in
Processing, and also to give each an individual piece of audio.
Its easy with just one machine sending these messages as each ID
corresponds nicely to the order of tracks to be triggered in the
sequencer,
but we're using four separate modular machines each running touchlib
and we want the sound to be global.
We have networked the machines and each of the four graphics modules
can talk to the machine running the sound. The sound module is running
PD which receives messages from the other machines and then sends MIDI
messages to the sequencer. So PD is getting four streams of numbers -say from zero to three- which correspond to the order in which touchlib blob IDs pop into existence - (each stream local to its own machine)
these numbers trigger a fade in/out of a
mixer track in say for example Reason). Ideally the first person who enters the space will
trigger some pad sounds (fader 1 in reason say) regardless of which
screen they paint on.
that way it will work if there is only one person in the space. The
next person would trigger some percussion, and the full track would
build naturally. The alternative is to have every ID locked to a
sound, meaning it would really only work for four people in the space.
So to the question. There are 4 data streams coming into PD, literally
numbers 0 - 3 in each number box. as you can see in the
"four_machine_dilemma"patch attached.
what I need to do is fix it so that if (and only if) computer A has
sent a message triggering track 1 that computer B, or the next stream,
when it sends its own "ID number 1" is converted to ID number 2 , that
is, it occupies the next position in the global array, triggering
track two (because track 1 is occupied) even though it thinks it is
"ID number 1", and so on down the chain.
is there some way to store a boolean for the track's on state and use
it to reassign a value to the next incoming message?
Or just to fill positions in an array with the incoming messages in
the order they are received. It seems like it it should be
straight-forward but I'll be buggered blind if I can figure it out.
Hope this is not to long winded for a simple question.
Thanks in advance,
wadeorz
Canvas order or layering
Is it possible to change the layer or order a canvas appears in the PD environment?
In graphic software this might be referred to as 'send to back', 'send to front' etc, or the idea of layers.
I want to use different coloured canvases to section off different areas of the patch that do different things, so its easier to see.
I've written most of the patch already, but if I create a new canvas, it appears infront of objects and behind connectors, which is very strange.
I can only get objects to appear ontop of the canvas if I insert them after the canvas has been drawn. This, of course, would mean I would have to re-insert ALL the objects, and theres lots.
I have considered separating different parts of the patch into subpatches, but a) I have a large screen and like to see the big picture and
I will be exhibiting the patch in operation so it would be nice for poeple to see the whole thing. Indeed, I have used subpatches for small elements of the overall patch, but not just to organise how it looks.
Apologies if this has been asked before, I searched and couldnt find anything.
Scanning through pixel values of an image
Hi.
I am having trouble with getting pix_data to scan though the image values of the picture.
I am open for suggestions if there is another way to do this.
Can anyone help me?
mvh.
evemgr
here`s my code
#N canvas 637 81 628 488 12;
#X obj 190 159 pix_resize 10 10;
#X obj 171 238 pix_data;
#X floatatom 200 337 5 0 0 0 - - -;
#X floatatom 245 337 5 0 0 0 - - -;
#X floatatom 291 337 5 0 0 0 - - -;
#X floatatom 289 258 5 0 0 0 - - -;
#X obj 200 290 unpack 0 0 0;
#X obj 171 418 pix_draw;
#N canvas 0 0 466 316 image 0;
#X obj 77 48 inlet;
#X obj 77 344 outlet;
#X obj 223 55 inlet;
#X msg 223 123 open \$1;
#X obj 223 100 openpanel;
#X obj 77 205 pix_image c:/lyder/lyd.jpg;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X restore 190 115 pd image;
#X obj 190 67 gemhead;
#N canvas 0 0 454 304 gemwin 0;
#X obj 130 159 gemwin;
#X obj 67 125 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 74 set destroy;
#X msg 204 65 set create;
#X msg 132 112 create \, 1;
#X msg 246 111 destroy;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X restore 422 273 pd gemwin;
#X msg 422 232 destroy;
#X obj 460 53 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 474 324 counterx 1;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 194 272 outlet;
#X msg 143 20 bang;
#X obj 81 58 select 11;
#X obj 273 272 outlet;
#X obj 195 110 metro 11000;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 1 1 5 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 3 0 10 0;
#X connect 4 0 6 0;
#X connect 4 0 3 1;
#X connect 4 0 9 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 8 0 1 0;
#X connect 9 0 2 0;
#X connect 11 0 3 0;
#X restore 210 186 pd counterx;
#N canvas 542 0 478 328 countery 0;
#X obj 192 270 outlet;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 81 58 select 11;
#X obj 131 15 inlet;
#X obj 194 110 metro 1000;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 6 0;
#X connect 3 0 10 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 5 0 4 1;
#X connect 5 0 8 0;
#X connect 6 0 4 1;
#X connect 7 0 0 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X restore 230 211 pd countery;
#X obj 422 191 loadbang;
#N canvas 661 149 482 332 maincounter 0;
#X obj 194 13 loadbang;
#X msg 148 12 bang;
#X obj 194 58 trigger bang bang;
#X obj 81 58 select 101;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 265 224 outlet;
#X obj 194 110 metro 1001;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 7 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 0 5 1;
#X connect 6 0 3 0;
#X connect 7 0 5 1;
#X connect 10 0 5 0;
#X connect 10 0 9 0;
#X restore 171 19 pd maincounter;
#X msg 89 176 bang;
#X msg 369 192 bang;
#X obj 263 84 loadbang;
#X connect 0 0 1 1;
#X connect 1 0 7 0;
#X connect 1 1 6 0;
#X connect 1 2 5 0;
#X connect 6 0 2 0;
#X connect 6 1 3 0;
#X connect 6 2 4 0;
#X connect 8 0 0 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 13 0 1 2;
#X connect 13 1 14 0;
#X connect 14 0 1 3;
#X connect 15 0 11 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 11 0;
Arrays, canvases, other big questions
sunji - i did some experimenting and poking around the Pd source code and figured out what messages you can send to a canvas object. here is the list:
dialog -- not quite sure how to use this one or what exactly it does
size <number> -- determines the selectable size of the canvas
delta <x> <y> -- moves the position of the canvas relatively by x horizontally and y vertically
pos <x> <y> -- set x and y position of the canvas
vis_size <x> <y> -- set the width (x) and height (y) of the canvas
color <number> -- set the color
send <name> -- set the send name of the canvas
receive <name> -- set the receive name
label <name> -- set the label
label_pos <x> <y> -- set the x_off and y_off properties for the label
label_font <font> -- set the label font
get_pos -- returns the x and y position of the canvas to the canvas send name
i think that's all of them. i'll post if i find any more
--zac