#N canvas 572 23 561 432 10;
#X obj 2 250 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0
;
#X obj 2 326 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0
;
#X obj 2 359 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1
0;
#X obj 99 257 cnv 17 3 65 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X obj 98 335 cnv 17 3 17 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X obj 3 426 cnv 1 550 1 empty empty empty 0 0 0 4 -262144 -262144
0;
#X obj 3 405 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289
0;
#X text 146 274 bang;
#X text 122 257 anything;
#X obj 2 5 cnv 15 553 42 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 554 42 1 0 0;
#X restore 2 4 graph;
#X obj 305 5 cnv 15 250 40 empty empty empty 12 13 0 18 -128992 -233080
0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 304 4 pd;
#X text 134 291 status;
#X text 180 257 - any message to be stored and shared by other [pv]
objects;
#X text 180 274 - outputs the stored message;
#X obj 118 216 cyclone/pv x;
#X obj 234 193 cyclone/pv x;
#X obj 234 168 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 234 221 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 118 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X text 66 159 store variable 'x';
#X text 434 139 open and check:;
#X text 180 334 - stored private variable;
#X text 143 365 1) symbol;
#X text 143 382 2) anything;
#N canvas 596 179 680 385 examples 0;
#X obj 349 89 bng 18 250 50 0 empty empty empty 17 7 0 10 -216373 -1
-1;
#X msg 114 90 marsha 77;
#X msg 138 122 1 2 3 4 5;
#X msg 81 62 symbol bbq;
#X obj 349 191 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 349 159 unpack float float float;
#X obj 419 190 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 490 190 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X text 24 23 [pv] works with any message type;
#X obj 114 171 cyclone/pv any;
#X obj 100 233 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 100 296 print;
#X text 23 340 The last received message is the one that is stored
;
#X text 298 234 The best practice is to initialize the message of only
of the related [pv] objects \, because another [pv] object with also
another initialized message means that one message will overwrite the
other \, and you don't have control of which one will be stored.;
#X obj 349 127 cyclone/pv any2 40 50 60;
#X obj 100 265 cyclone/pv any;
#X text 286 38 And it can be initialized with any message as an argument
\, but after the symbol that specifies the name of [pv].;
#X connect 0 0 14 0;
#X connect 1 0 9 0;
#X connect 2 0 9 0;
#X connect 3 0 9 0;
#X connect 5 0 4 0;
#X connect 5 1 6 0;
#X connect 5 2 7 0;
#X connect 10 0 15 0;
#X connect 14 0 5 0;
#X connect 15 0 11 0;
#X restore 471 218 pd examples;
#X text 122 334 anything;
#N canvas 460 170 693 192 pv_in_a_subpatch_2 0;
#X obj 173 120 cyclone/pv x;
#X obj 173 81 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X obj 173 149 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 108 81 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 526 79 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X obj 526 133 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 388 101 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X text 378 72 store variable 'x';
#X text 553 80 retrieve 'x';
#X obj 388 127 cyclone/pv y;
#X obj 526 104 cyclone/pv y;
#X text 22 23 the messages stored and retrieved below are shared with
the parent patch and the other subpatch., f 44;
#X text 311 22 the messages stored and retrieved below are shared only
within this subpatch.;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 10 0;
#X connect 6 0 9 0;
#X connect 10 0 5 0;
#X restore 411 183 pd pv_in_a_subpatch_2;
#N canvas 327 218 843 323 pv_in_a_subpatch_1 0;
#X obj 192 129 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 192 197 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 127 129 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X text 104 103 retrieve and store 'x';
#X text 37 28 you can also retrieve a variable in a subpatch that was
stored in the parent patch. Conversely \, the value stored here in
the subpatch can be retrieved in the parent patch.;
#X obj 657 157 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 657 211 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 519 179 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 519 205 cyclone/pv y;
#X obj 657 182 cyclone/pv y;
#X obj 192 169 cyclone/pv x;
#X text 509 151 store variable 'y';
#X text 684 158 retrieve 'y';
#X text 42 247 And since the parent patch also has a [pv] with the
same name \, the value stored here is also shared with other subpatches.
;
#X text 445 56 But if you have a [pv] with a variable name that is
not present in the subpatch \, the stored messages will only be shared
within this subpatch \, even if other subpatches have [pv] objects
with the same variable name - to check it \, open [pv_in_a_subpatch_2].
;
#X text 544 239 only works in this subpatch!;
#X connect 0 0 10 0;
#X connect 2 0 10 0;
#X connect 5 0 9 0;
#X connect 7 0 8 0;
#X connect 9 0 6 0;
#X connect 10 0 1 0;
#X restore 411 162 pd pv_in_a_subpatch_1;
#X text 258 167 <= retrieve 'x';
#X msg 58 186 status;
#X text 220 382 - initially stored message;
#X text 220 365 - name of private variable;
#X text 68 89 [pv] is similar to pd's [value] \, but stores any message
as a variable name \, which can be shared within a patch or its subpatch
if it has another [pv] object with the same variable name. It won't
share with other patches!;
#X obj 20 58 cyclone/comment 0 14 DejaVu\ Sans\ Mono empty 0 0 0 0
0 255 255 255 0 0 private (local) variables;
#X obj 16 5 cyclone/comment 0 33 DejaVu\ Sans\ Mono empty 0 0 0 0 0
255 255 255 0 0 pv;
#X obj 322 29 cyclone/comment 0 13 DejaVu\ Sans\ Mono empty 0 224 228
220 0 255 255 255 0 0 Objects cloned from Max/MSP;
#X obj 363 5 cyclone/comment 0 24 DejaVu\ Sans\ Mono empty 0 224 228
220 0 255 255 255 0 0 cyclone;
#N canvas 799 184 428 415 send/value 0;
#X obj 76 190 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X obj 76 222 cyclone/pv x;
#X obj 76 253 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 243 251 send x;
#X obj 243 225 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 240 333 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 240 302 receive x;
#X obj 108 193 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 328 288 value x;
#X obj 328 256 bng 15 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 328 317 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 78 294 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X obj 78 326 cyclone/pv x;
#X obj 78 357 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 110 297 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 352 257 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X text 40 11 In Max \, you cannot create [pv] \, [send] and [value]
objects with the same name. In Pd \, you can create [send] and [value]
objects and they will communicate to each other.;
#X text 40 55 Cyclone allows you to create a [pv] object with the same
name used in a [send]/[value] object \, but note that [pv] name variables
are completely independent and do not communicate to pd vanilla's [send]
or [value] objects.;
#X text 41 117 Therefore \, you can have both [pv] and [value] with
the same name in the same patch that they do not affect each other!
In practice they are completely different variables!;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X connect 6 0 5 0;
#X connect 7 0 1 0;
#X connect 8 0 10 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 14 0 12 0;
#X connect 15 0 8 0;
#X restore 382 218 pd send/value;
#X text 180 291 -;
#X text 192 291 posts information in the Pd window about related [pv]
objects in the patch, f 57;
#X connect 17 0 19 0;
#X connect 18 0 17 0;
#X connect 20 0 16 0;
#X connect 31 0 16 0;
