diff options
author | Cyrille Henry <nusmuk@users.sourceforge.net> | 2012-11-02 20:48:39 +0000 |
---|---|---|
committer | Cyrille Henry <nusmuk@users.sourceforge.net> | 2012-11-02 20:48:39 +0000 |
commit | 533a75a9f57f73711e7e3c5afef0ce83f632ca4c (patch) | |
tree | fe993107368de483579f729a2514cdaf7106a855 /examples | |
parent | c91564bfae33b251d39dac61179a32835af6781e (diff) |
more examples...
svn path=/trunk/externals/share_mem/; revision=16522
Diffstat (limited to 'examples')
-rw-r--r-- | examples/1.basic_example-subprocess.pd | 72 | ||||
-rw-r--r-- | examples/1.basic_example.pd | 39 | ||||
-rw-r--r-- | examples/2.lazy_syncro-subprocess.pd | 57 | ||||
-rw-r--r-- | examples/2.lazy_syncro.pd | 25 | ||||
-rw-r--r-- | examples/3.syncro_jitter-subprocess.pd | 47 | ||||
-rw-r--r-- | examples/3.syncro_jitter.pd | 50 | ||||
-rw-r--r-- | examples/4.table_fifo-subprocess.pd | 64 | ||||
-rw-r--r-- | examples/4.table_fifo.pd | 48 | ||||
-rw-r--r-- | examples/5.audio-subprocess.pd (renamed from examples/2.audio-subprocess.pd) | 0 | ||||
-rw-r--r-- | examples/5.audio.pd (renamed from examples/2.audio.pd) | 4 |
10 files changed, 339 insertions, 67 deletions
diff --git a/examples/1.basic_example-subprocess.pd b/examples/1.basic_example-subprocess.pd index 2e29022..7539a47 100644 --- a/examples/1.basic_example-subprocess.pd +++ b/examples/1.basic_example-subprocess.pd @@ -1,57 +1,25 @@ -#N canvas 845 216 758 599 10; +#N canvas 1203 206 570 408 10; #X declare -path ..; #N canvas 0 22 450 300 (subpatch) 0; #X array data2 100 float 2; -#X coords 0 1 99 0 200 140 1 0 0; -#X restore 354 43 graph; -#X obj 60 415 loadbang; -#X msg 60 436 \; pd dsp 1; -#X obj 245 208 f 0; -#X obj 276 209 + 1; -#X obj 275 231 % 100; -#X obj 245 254 t f f; -#X obj 290 319 metro 20000; -#X obj 290 370 line; -#X obj 246 393 *; -#X obj 246 420 t f f; -#X obj 271 443 int; -#X obj 246 465 -; -#X obj 246 290 / 100; -#X msg 290 343 1 \, 10 20000; -#X obj 290 290 loadbang; -#X obj 67 85 metro 100; -#X text 63 207 writing to the shared memory; -#X obj 86 264 shmem 1003 100; -#X obj 67 50 loadbang; -#X obj 139 51 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 246 496 tabwrite data2; -#X msg 86 230 memset 0 data2; -#X obj 67 110 t b b b; -#X obj 67 315 stdout; -#X text 326 232 writing evolving data to array; -#X obj 66 16 declare -path ..; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 326 209 graph; +#X obj 210 22 loadbang; +#X msg 210 43 \; pd dsp 1; +#X obj 33 19 declare -path ..; +#X obj 33 96 metro 50; +#X obj 33 57 loadbang; +#X obj 33 77 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 325 38 graph; +#X text 51 138 read and write to the shared memory; +#X msg 33 156 memdump 0 data \, memset 100 data2; +#X obj 33 176 shmem 1001 200; #X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 3 0 6 0; -#X connect 4 0 5 0; -#X connect 5 0 3 1; -#X connect 6 0 13 0; -#X connect 6 1 21 1; -#X connect 7 0 14 0; -#X connect 8 0 9 1; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; #X connect 9 0 10 0; -#X connect 10 0 12 0; -#X connect 10 1 11 0; -#X connect 11 0 12 1; -#X connect 12 0 21 0; -#X connect 13 0 9 0; -#X connect 14 0 8 0; -#X connect 15 0 7 0; -#X connect 16 0 23 0; -#X connect 19 0 16 0; -#X connect 20 0 16 0; -#X connect 22 0 18 0; -#X connect 23 0 24 0; -#X connect 23 1 22 0; -#X connect 23 2 3 0; diff --git a/examples/1.basic_example.pd b/examples/1.basic_example.pd index e065bf8..dbb00dc 100644 --- a/examples/1.basic_example.pd +++ b/examples/1.basic_example.pd @@ -1,23 +1,36 @@ -#N canvas 212 155 626 385 10; +#N canvas 557 101 630 649 10; #X declare -path ..; #N canvas 0 22 450 300 (subpatch) 0; #X array data 100 float 2; -#X coords 0 1 99 0 200 140 1 0 0; -#X restore 374 162 graph; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 28 269 graph; #X text 30 23 Basic sharing of memory data between two pd instances ; -#X msg 48 194 pd~ stop; -#X text 133 262 synchronised reading; -#X obj 29 284 shmem 1003 100; -#X msg 29 260 memdump 0 data; +#X msg 48 174 pd~ stop; #X obj 512 20 loadbang; #X msg 512 41 \; pd dsp 1; #X text 44 116 launch subprocess; -#X obj 29 222 pd~ -ninsig 0 -noutsig 0 -fifo 20; #X obj 39 52 declare -path ..; #X msg 29 138 pd~ start 1.basic_example-subprocess.pd; -#X connect 2 0 9 0; -#X connect 5 0 4 0; -#X connect 6 0 7 0; -#X connect 9 0 5 0; -#X connect 11 0 9 0; +#X obj 373 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 373 174 metro 50; +#X obj 373 134 loadbang; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data2 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 29 479 graph; +#X text 26 236 change this table \, see it moving in the subprocess +; +#X text 28 446 change data2 in the subprocess \, see it moving here +; +#X msg 373 194 memset 0 data \, memdump 100 data2; +#X obj 373 218 shmem 1001 200; +#X obj 29 202 pd~ -ninsig 0 -noutsig 0 -fifo 20; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 7 0 16 0; +#X connect 8 0 9 0; +#X connect 9 0 14 0; +#X connect 10 0 8 0; +#X connect 14 0 15 0; diff --git a/examples/2.lazy_syncro-subprocess.pd b/examples/2.lazy_syncro-subprocess.pd new file mode 100644 index 0000000..8ddbbbc --- /dev/null +++ b/examples/2.lazy_syncro-subprocess.pd @@ -0,0 +1,57 @@ +#N canvas 837 240 758 599 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data2 100 float 2; +#X coords 0 1 99 0 200 140 1 0 0; +#X restore 354 43 graph; +#X obj 60 415 loadbang; +#X msg 60 436 \; pd dsp 1; +#X obj 245 208 f 0; +#X obj 276 209 + 1; +#X obj 275 231 % 100; +#X obj 245 254 t f f; +#X obj 290 319 metro 20000; +#X obj 290 370 line; +#X obj 246 393 *; +#X obj 246 420 t f f; +#X obj 271 443 int; +#X obj 246 465 -; +#X obj 246 290 / 100; +#X msg 290 343 1 \, 10 20000; +#X obj 290 290 loadbang; +#X obj 67 85 metro 100; +#X text 63 207 writing to the shared memory; +#X obj 67 50 loadbang; +#X obj 139 51 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 246 496 tabwrite data2; +#X msg 86 230 memset 0 data2; +#X obj 67 110 t b b b; +#X obj 67 315 stdout; +#X text 326 232 writing evolving data to array; +#X obj 66 16 declare -path ..; +#X obj 86 264 shmem 1002 100; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 3 1; +#X connect 6 0 13 0; +#X connect 6 1 20 1; +#X connect 7 0 14 0; +#X connect 8 0 9 1; +#X connect 9 0 10 0; +#X connect 10 0 12 0; +#X connect 10 1 11 0; +#X connect 11 0 12 1; +#X connect 12 0 20 0; +#X connect 13 0 9 0; +#X connect 14 0 8 0; +#X connect 15 0 7 0; +#X connect 16 0 22 0; +#X connect 18 0 16 0; +#X connect 19 0 16 0; +#X connect 21 0 26 0; +#X connect 22 0 23 0; +#X connect 22 1 21 0; +#X connect 22 2 3 0; diff --git a/examples/2.lazy_syncro.pd b/examples/2.lazy_syncro.pd new file mode 100644 index 0000000..14b2549 --- /dev/null +++ b/examples/2.lazy_syncro.pd @@ -0,0 +1,25 @@ +#N canvas 189 490 626 385 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data 100 float 2; +#X coords 0 1 99 0 200 140 1 0 0; +#X restore 374 162 graph; +#X text 30 23 Basic sharing of memory data between two pd instances +; +#X msg 48 194 pd~ stop; +#X text 133 262 synchronised reading; +#X msg 29 260 memdump 0 data; +#X obj 512 20 loadbang; +#X msg 512 41 \; pd dsp 1; +#X text 44 116 launch subprocess; +#X obj 39 52 declare -path ..; +#X msg 29 136 pd~ start 2.lazy_syncro-subprocess.pd; +#X text 26 329 reading the shared memory is made maximum 20 audio block +(pd~ round trip fifo) after pd~ set the value.; +#X obj 29 284 shmem 1002 100; +#X obj 29 222 pd~ -ninsig 0 -noutsig 0 -fifo 20; +#X connect 2 0 12 0; +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 9 0 12 0; +#X connect 12 0 4 0; diff --git a/examples/3.syncro_jitter-subprocess.pd b/examples/3.syncro_jitter-subprocess.pd new file mode 100644 index 0000000..4790a52 --- /dev/null +++ b/examples/3.syncro_jitter-subprocess.pd @@ -0,0 +1,47 @@ +#N canvas 1151 120 649 457 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data2 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 307 39 graph; +#X obj 313 223 loadbang; +#X msg 313 244 \; pd dsp 1; +#X text 170 335 writing to the shared memory; +#X obj 67 356 shmem 1003 100; +#X msg 67 336 memset 0 data2; +#X obj 66 16 declare -path ..; +#X obj 118 90 f; +#X obj 118 111 + 1; +#X obj 118 129 % 100; +#X obj 118 151 / 100; +#X msg 84 183 100; +#X obj 84 203 until; +#X obj 84 225 f; +#X obj 113 226 + 1; +#X msg 169 163 0; +#X obj 67 70 t b b b b; +#X obj 103 276 f; +#X obj 84 246 t b f; +#X obj 103 297 tabwrite data2; +#X obj 67 50 r metro; +#X connect 1 0 2 0; +#X connect 5 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 0 7 1; +#X connect 10 0 17 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 13 0 18 0; +#X connect 14 0 13 1; +#X connect 15 0 13 1; +#X connect 16 0 5 0; +#X connect 16 1 11 0; +#X connect 16 2 15 0; +#X connect 16 3 7 0; +#X connect 17 0 19 0; +#X connect 18 0 17 0; +#X connect 18 1 19 1; +#X connect 20 0 16 0; diff --git a/examples/3.syncro_jitter.pd b/examples/3.syncro_jitter.pd new file mode 100644 index 0000000..71f828f --- /dev/null +++ b/examples/3.syncro_jitter.pd @@ -0,0 +1,50 @@ +#N canvas 554 531 694 524 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 374 162 graph; +#X text 30 23 Basic sharing of memory data between two pd instances +; +#X msg 48 160 pd~ stop; +#X obj 104 274 shmem 1003 100; +#X obj 512 20 loadbang; +#X msg 512 41 \; pd dsp 1; +#X text 44 116 launch subprocess; +#X obj 39 52 declare -path ..; +#X obj 104 215 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 104 254 memdump 0 data \, memread 0; +#X obj 131 313 t f f; +#X obj 158 338 ==; +#X obj 158 358 sel 1; +#X obj 158 380 print erreur de syncro; +#X text 274 312 value read should all be diferent. They are not due +to syncronisation jitter between pd and pd~ \, (specially since metro +is fast and round trip buffer is high).; +#X obj 104 234 metro 5; +#X obj 104 194 loadbang; +#X obj 104 293 sel 0; +#X msg 29 138 pd~ start 3.syncro_jitter-subprocess.pd; +#X obj 359 407 loadbang; +#X msg 359 426 memclear; +#X obj 359 445 shmem 1003 100; +#X msg 43 403 metro bang; +#X obj 29 430 pd~ -ninsig 0 -noutsig 0 -fifo 50; +#X connect 2 0 23 0; +#X connect 3 0 17 0; +#X connect 4 0 5 0; +#X connect 8 0 15 0; +#X connect 9 0 3 0; +#X connect 10 0 11 1; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 15 0 9 0; +#X connect 15 0 22 0; +#X connect 16 0 8 0; +#X connect 17 1 10 0; +#X connect 18 0 23 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 22 0 23 0; diff --git a/examples/4.table_fifo-subprocess.pd b/examples/4.table_fifo-subprocess.pd new file mode 100644 index 0000000..7fd31f8 --- /dev/null +++ b/examples/4.table_fifo-subprocess.pd @@ -0,0 +1,64 @@ +#N canvas 854 303 573 611 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data2 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 307 39 graph; +#X obj 313 223 loadbang; +#X msg 313 244 \; pd dsp 1; +#X text 212 458 writing to the shared memory; +#X obj 66 16 declare -path ..; +#X obj 118 130 f; +#X obj 118 151 + 1; +#X obj 118 169 % 100; +#X obj 118 191 / 100; +#X msg 84 223 100; +#X obj 84 243 until; +#X obj 84 265 f; +#X obj 113 266 + 1; +#X msg 169 203 0; +#X obj 67 110 t b b b b; +#X obj 103 316 f; +#X obj 84 286 t b f; +#X obj 103 337 tabwrite data2; +#X obj 67 352 f; +#X obj 67 372 + 1; +#X obj 82 393 % 25; +#X msg 109 459 memset \$1 data2; +#X obj 109 435 * 100; +#X obj 109 479 shmem 1004 2500; +#X obj 82 414 t f f; +#X msg 82 510 syncro \$1; +#X obj 67 72 loadbang; +#X obj 82 530 stdout; +#X obj 67 91 metro 5; +#X connect 1 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 0 5 1; +#X connect 8 0 15 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 0 16 0; +#X connect 12 0 11 1; +#X connect 13 0 11 1; +#X connect 14 0 18 0; +#X connect 14 1 9 0; +#X connect 14 2 13 0; +#X connect 14 3 5 0; +#X connect 15 0 17 0; +#X connect 16 0 15 0; +#X connect 16 1 17 1; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 18 1; +#X connect 20 0 24 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 24 0 25 0; +#X connect 24 1 22 0; +#X connect 25 0 27 0; +#X connect 26 0 28 0; +#X connect 28 0 14 0; diff --git a/examples/4.table_fifo.pd b/examples/4.table_fifo.pd new file mode 100644 index 0000000..5298a14 --- /dev/null +++ b/examples/4.table_fifo.pd @@ -0,0 +1,48 @@ +#N canvas 229 287 614 675 10; +#X declare -path ..; +#N canvas 0 22 450 300 (subpatch) 0; +#X array data 100 float 2; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 372 333 graph; +#X text 30 23 Basic sharing of memory data between two pd instances +; +#X msg 44 306 pd~ stop; +#X obj 512 20 loadbang; +#X msg 512 41 \; pd dsp 1; +#X text 29 260 launch subprocess; +#X obj 39 52 declare -path ..; +#X obj 54 473 t f f; +#X obj 81 498 ==; +#X obj 81 518 sel 1; +#X obj 81 540 print erreur de syncro; +#X obj 27 453 sel 0; +#X text 30 81 in order to share quicklly updated table \, in a syncronised +way \, we need a data fifo; +#X text 30 113 only the index of the wrinting position is passed throw +stdout of the pd~ \, in order to keep data syncronisation; +#X text 134 509 thanks to the fifo \, there are no more syncronisation +problem; +#X text 30 165 Round trip fifo is set to 50 blocs (72ms at 44.1KHz) +; +#X text 30 182 metro is set to 5ms \, so maximum jitter can be 72/5 += 25 bang; +#X text 28 208 So \, lets use a memory size of 2500; +#X obj 27 434 shmem 1004 2500; +#X msg 27 413 memdump \$1 data; +#X msg 27 279 pd~ start 4.table_fifo-subprocess.pd; +#X obj 27 374 route syncro; +#X obj 27 394 * 100; +#X obj 27 353 pd~ -ninsig 0 -noutsig 0 -fifo 50; +#X connect 2 0 23 0; +#X connect 3 0 4 0; +#X connect 7 0 8 1; +#X connect 7 1 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 11 1 7 0; +#X connect 18 0 11 0; +#X connect 19 0 18 0; +#X connect 20 0 23 0; +#X connect 21 0 22 0; +#X connect 22 0 19 0; +#X connect 23 0 21 0; diff --git a/examples/2.audio-subprocess.pd b/examples/5.audio-subprocess.pd index e0da616..e0da616 100644 --- a/examples/2.audio-subprocess.pd +++ b/examples/5.audio-subprocess.pd diff --git a/examples/2.audio.pd b/examples/5.audio.pd index 1960676..c67bf51 100644 --- a/examples/2.audio.pd +++ b/examples/5.audio.pd @@ -1,4 +1,4 @@ -#N canvas 733 430 632 604 12; +#N canvas 731 436 632 604 12; #X declare -path ..; #X msg 435 99 \; pd dsp 1; #X msg 38 74 pd~ stop; @@ -115,7 +115,7 @@ #X restore 276 426 pd oscillo; #X text 36 527 using the object \, audio is delay by 1 bloc (64 samples) ; -#X msg 29 51 pd~ start 2.audio-subprocess.pd; +#X msg 29 51 pd~ start 5.audio-subprocess.pd; #X connect 1 0 10 0; #X connect 2 0 0 0; #X connect 3 0 10 0; |