#N canvas 213 47 802 587 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; #X restore 374 160 graph; #X text 30 23 Basic sharing of memory data between two pd instances ; #X msg 48 160 pd~ stop; #X obj 104 300 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 obj 275 355 t f f; #X obj 302 380 ==; #X obj 302 400 sel 1; #X obj 104 194 loadbang; #X obj 248 335 sel 0; #X msg 29 138 pd~ start 3.syncro_jitter-subprocess.pd; #X obj 513 79 loadbang; #X msg 513 98 memclear; #X obj 513 117 shmem 1003 100; #X msg 131 483 metro bang; #X obj 29 510 pd~ -ninsig 0 -noutsig 0 -fifo 50; #X obj 104 257 t b b; #X obj 104 327 t f b; #X obj 227 375 f; #X obj 227 396 + 1; #X obj 227 418 % 100; #X floatatom 167 210 5 0 100 0 - - -; #X text 426 359 It is not due to syncronisation jitter between pd and pd~ \, (specially since metro is fast and round trip buffer is high). ; #X text 208 210 change this value; #X obj 104 234 metro 3; #X obj 302 422 print synchro_error; #N canvas 0 22 450 300 (subpatch) 0; #X array data_history 100 float 2; #X coords 0 1 99 -1 200 140 1; #X restore 580 160 graph; #X obj 104 445 tabwrite data_history; #X text 426 315 At metro rate \, the first value of the shared memory is read and written in the table. After 100 values \, "data_history" should be constant.; #X msg 104 280 memdump 0 data \, memread 0; #X connect 2 0 19 0; #X connect 3 0 21 0; #X connect 3 0 13 0; #X connect 4 0 5 0; #X connect 8 0 28 0; #X connect 9 0 10 1; #X connect 9 1 10 0; #X connect 10 0 11 0; #X connect 11 0 29 0; #X connect 12 0 8 0; #X connect 13 1 9 0; #X connect 14 0 19 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 18 0 19 0; #X connect 20 0 33 0; #X connect 20 1 18 0; #X connect 21 0 31 0; #X connect 21 1 22 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 24 0 22 1; #X connect 24 0 31 1; #X connect 25 0 28 1; #X connect 28 0 20 0; #X connect 33 0 3 0;