From bb2d5198b4cba1a0492e5a2fc2251891bd724ac4 Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Wed, 3 Dec 2014 16:15:32 +0000 Subject: synchronous table sharing abstractions svn path=/trunk/externals/share_mem/; revision=17387 --- shmem_table_receive-help.pd | 10 +++++++++ shmem_table_receive.pd | 36 ++++++++++++++++++++++++++++++ shmem_table_send-help.pd | 20 +++++++++++++++++ shmem_table_send.pd | 54 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 shmem_table_receive-help.pd create mode 100644 shmem_table_receive.pd create mode 100644 shmem_table_send-help.pd create mode 100644 shmem_table_send.pd diff --git a/shmem_table_receive-help.pd b/shmem_table_receive-help.pd new file mode 100644 index 0000000..f1cde1b --- /dev/null +++ b/shmem_table_receive-help.pd @@ -0,0 +1,10 @@ +#N canvas 691 732 550 253 10; +#X obj 28 75 r tables_synchro; +#X msg 62 105 table shared; +#X obj 28 163 shmem_table_receive 5465 shared; +#X obj 271 162 table shared; +#X text 270 144 table is resize acording to source size; +#X text 138 74 synchronisatino reception; +#X text 132 12 synchronous table sharing : receiving part; +#X connect 0 0 2 0; +#X connect 1 0 2 0; diff --git a/shmem_table_receive.pd b/shmem_table_receive.pd new file mode 100644 index 0000000..59a26bf --- /dev/null +++ b/shmem_table_receive.pd @@ -0,0 +1,36 @@ +#N canvas 1157 716 362 339 10; +#X obj 22 23 inlet; +#X obj 79 264 shmem \$1 2500; +#X obj 79 142 pack f \$1; +#X msg 79 166 allocate \$2 \$1; +#X obj 22 71 unpack f f; +#X obj 79 97 change -1; +#X obj 22 46 route synchro-\$1 table; +#X msg 213 228 resize \$1; +#X obj 228 169 symbol \$2; +#X obj 228 142 loadbang; +#X obj 213 249 s; +#X msg 22 229 memdump \$1 \$2; +#X obj 22 207 pack f s; +#X obj 22 134 *; +#X obj 79 121 * 25; +#X floatatom 154 290 5 0 0 0 - - -, f 5; +#X connect 0 0 6 0; +#X connect 1 1 15 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 13 0; +#X connect 4 1 5 0; +#X connect 5 0 7 0; +#X connect 5 0 13 1; +#X connect 5 0 14 0; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 7 0 10 0; +#X connect 8 0 10 1; +#X connect 8 0 12 1; +#X connect 9 0 8 0; +#X connect 11 0 1 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 2 0; diff --git a/shmem_table_send-help.pd b/shmem_table_send-help.pd new file mode 100644 index 0000000..8d78f33 --- /dev/null +++ b/shmem_table_send-help.pd @@ -0,0 +1,20 @@ +#N canvas 117 655 531 336 10; +#X msg 111 150 table to_be_shared; +#X obj 50 115 metro 20; +#X obj 50 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X obj 50 228 s tables_synchro; +#X text 165 228 to be passed between pd and pd~; +#X text 121 13 synchronus table sharing : sending part; +#X text 71 37 this is usefull for example \, to deporting pmpd computation +in a pd~ object; +#X text 100 290 open shmem_table_receive help file; +#X msg 112 172 resize 1000; +#X obj 320 289 shmem_table_receive; +#X obj 50 203 shmem_table_send 5465 to_be_shared 100; +#X obj 304 159 table to_be_shared 100; +#X connect 0 0 10 0; +#X connect 1 0 10 0; +#X connect 2 0 1 0; +#X connect 8 0 10 0; +#X connect 10 0 3 0; diff --git a/shmem_table_send.pd b/shmem_table_send.pd new file mode 100644 index 0000000..ed93bb4 --- /dev/null +++ b/shmem_table_send.pd @@ -0,0 +1,54 @@ +#N canvas 712 528 525 505 10; +#X obj 44 26 inlet; +#X obj 44 53 route bang table resize; +#X obj 44 85 f; +#X obj 44 110 t f f f; +#X obj 132 93 + 1; +#X obj 132 115 % 25; +#X obj 44 460 outlet; +#X obj 333 131 loadbang; +#X obj 333 152 \$3; +#X obj 333 173 route 0; +#X msg 333 195 100; +#X obj 333 276 * 25; +#X obj 168 382 shmem \$1 2500; +#X obj 168 260 * 100; +#X obj 333 220 f; +#X msg 168 311 memset \$1 \$2; +#X obj 168 288 pack f s; +#X obj 213 173 symbol \$2; +#X obj 213 138 loadbang; +#X msg 333 329 allocate \$2 \$1; +#X obj 333 302 pack f \$1; +#X obj 44 333 pack f \$1 f; +#X msg 44 437 synchro-\$2 \$1 \$3; +#X floatatom 243 413 5 0 0 0 - - -, f 5; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 17 0; +#X connect 1 2 14 0; +#X connect 2 0 3 0; +#X connect 3 0 21 0; +#X connect 3 1 13 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 14 0; +#X connect 10 0 14 0; +#X connect 11 0 20 0; +#X connect 12 1 23 0; +#X connect 13 0 16 0; +#X connect 14 0 11 0; +#X connect 14 0 13 1; +#X connect 14 0 21 2; +#X connect 15 0 12 0; +#X connect 16 0 15 0; +#X connect 17 0 16 1; +#X connect 18 0 17 0; +#X connect 19 0 12 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 6 0; -- cgit v1.2.1