#N canvas 204 23 1017 701 12;
#X floatatom 270 474 5 0 0 0 - - - 0;
#X symbolatom 257 41 10 0 0 0 - - - 0;
#X floatatom 56 41 5 0 0 0 - - - 0;
#X text 799 240 more details:;
#X symbolatom 614 231 15 0 0 0 - - - 0;
#X msg 630 171 set hi;
#X msg 614 143 symbol hello\ world;
#N canvas 400 139 417 455 properties 0;
#N canvas 672 44 484 606 width 0;
#X floatatom 281 505 1 0 0 0 - - - 0;
#X floatatom 181 241 5 0 0 0 - - - 0;
#X floatatom 215 444 0 0 0 0 - - - 0;
#X msg 158 407 1;
#X msg 215 407 -1.2345e+12;
#X msg 181 139 100;
#X msg 160 116 -100000;
#X msg 104 116 100000;
#X floatatom 181 271 7 0 0 0 - - - 0;
#X text 99 498 A width of one gives a clickable toggle switch, f 23;
#X text 42 319 Note that if you select a width of 0 \, the number box will actually have a minimum width of 3 digits and grow as needed to hold the typed or received number. A specific width is more CPU efficient though., f 58;
#X text 147 559 see also:;
#X obj 222 558 tgl 19 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X text 245 557 (toggle from iemguis);
#X text 105 445 width of 0 -->;
#X text 227 242 <-- default (5 characters);
#X text 240 272 <-- width of 7;
#X text 299 506 <-- click;
#X msg 197 170 0.99999;
#X text 42 15 The width is 5 characters by default. If the number has more characters \, the box shows ">" as the last character to indicated it didn't fit. Note that floating point numbers get tuncated without indication \, unless it contains scientific notation., f 59;
#X msg 205 201 -1.2345e+12;
#X connect 1 0 8 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 18 0 1 0;
#X connect 20 0 1 0;
#X restore 190 171 pd width;
#X floatatom 73 79 5 0 0 0 - - - 0;
#N canvas 795 289 419 235 label 0;
#X floatatom 180 118 5 -10 10 0 left-label - - 0;
#X floatatom 237 118 5 -10 10 2 top-label: - - 0;
#X floatatom 237 152 5 -10 10 3 bottom-label: - - 0;
#X floatatom 108 152 5 -10 10 1 right-label - - 0;
#X text 86 40 You can give it a label and place it in 4 different preset positions:, f 36;
#X restore 190 234 pd label;
#N canvas 789 217 438 400 send/receive 0;
#X floatatom 130 310 5 0 0 0 - \$0-number - 0;
#X floatatom 126 133 5 0 0 0 - - - 0;
#X obj 130 348 print;
#X floatatom 130 199 5 0 0 0 - - \$0-number 0;
#X text 51 25 The properties also allows you to set a send and receive symbol \, in which cases the inlet/outlet are removed (so no connections are possible anymore). This way \, the object can communicate to [send] and [receive] objects., f 49;
#X obj 129 235 receive \$0-number;
#X obj 126 164 send \$0-number;
#X floatatom 129 273 5 0 0 0 - - - 0;
#X text 175 197 <-- send symbol \$0-number;
#X text 175 311 <-- receive symbol \$0-number;
#X connect 0 0 2 0;
#X connect 1 0 6 0;
#X connect 5 0 7 0;
#X restore 142 305 pd send/receive;
#X text 41 22 You can right click on the object and ask for the properties window to change its parameters., f 47;
#X text 54 124 The subpatches below offer details on each parameter from the properties window., f 43;
#N canvas 779 178 525 491 limits 0;
#X floatatom 227 158 5 -10 10 0 - - - 0;
#X msg 227 119 100;
#X text 274 158 (range from -10 to 10);
#X text 44 27 By default \, the number box has no range limits \, but you can define a range with a lower and upper limit values. Note that this limit is only for clicking and dragging. Numbers outside this range are accepted if you type it in or receive it via the inlet.;
#X msg 265 119 set -100;
#X text 88 174 and also type a value outside the range, f 15;
#X obj 227 201 print number-range;
#X floatatom 86 427 4 0 0 0 - - - 0;
#X floatatom 216 427 5 0 0 0 - - - 0;
#X text 70 254 Setting the lower and upper range to the same value (like "0" \, "0" - the default) removes the limit. Note that a ridiculously large number becomes infinity (negative infinity is also possible). The number box will display these and also 'NaN' (Not a Number)., f 55;
#X obj 86 385 expr pow(2 \, 1e+10) \; -pow(2 \, 1e+10);
#X floatatom 307 427 4 0 0 0 - - - 0;
#X obj 307 388 expr log(-1);
#X text 111 350 infinity;
#X text 331 350 nan;
#X text 88 158 click and drag -->;
#X obj 86 350 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 307 350 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 4 0 0 0;
#X connect 10 0 7 0;
#X connect 10 1 8 0;
#X connect 12 0 11 0;
#X connect 16 0 10 0;
#X connect 17 0 12 0;
#X restore 183 202 pd limits;
#N canvas 721 346 450 298 loading-args 0;
#X floatatom 224 229 5 0 0 0 \$0-label - - 0;
#X text 63 114 For instance \, below \, we have \$0 used in the label field \, which gets expanded to the patch ID number. Using something like "\$1" is useful if you're using the object in an abstraction \, then you can load a value passed as an argument into a parameter., f 49;
#X text 63 25 Note that all the parameters that you can set by inserting a number or symbol into a field in the properties window can also load dollar sign arguments (\$0 \, \$1 \, \$2 \, and so on). Namely \, these parameters are: width \, lower/upper limits \, label and send/receive symbols., f 49;
#X restore 149 373 pd loading-args;
#X text 61 343 Loading arguments in properties:;
#N canvas 795 289 512 333 size 0;
#X floatatom 247 217 5 0 0 0 label - - 36;
#X text 70 43 By default \, when you create a box \, it'll use the font size that your patch is using. In this case it is "12". You can change the size settings in the properties. The 'auto' setting (the default) also automatically changes the font size of the atom box if you change your patch's font. In other cases \, it uses a specific font and keeps it no matter if you change the patch's font or not. Below \, we have a size of "36". The font setting also affects the label., f 56;
#X restore 196 267 pd size;
#X text 116 78 <-- right click for properties;
#X restore 155 534 pd properties;
#N canvas 570 235 459 438 properties 0;
#N canvas 822 144 510 501 width 0;
#X symbolatom 162 162 10 0 0 0 - - - 0;
#X symbolatom 162 192 15 0 0 0 - - - 0;
#X msg 120 101 symbol a\ long\ symbol;
#X msg 162 130 symbol short;
#X msg 180 364 symbol a\ long\ symbol;
#X symbolatom 243 427 0 0 0 0 - - - 0;
#X msg 243 393 symbol a;
#X text 54 22 By default the width is 10 characters. If the symbol box tries to display a larger symbol \, it gets truncated and the last displayed character is ">".;
#X text 58 247 Note that if you select a width of 0 \, the symbol box will actually have a minimum width of 3 characters and grow as needed to hold the typed or received symbol - A specific width is more CPU efficient though.;
#X text 238 163 <-- default (10 characters);
#X text 275 193 <-- width of 15;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 6 0 5 0;
#X restore 233 216 pd width;
#N canvas 897 344 354 184 label 0;
#X symbolatom 126 81 10 0 0 0 left-label - - 0;
#X symbolatom 57 113 10 0 0 1 right-label - - 0;
#X symbolatom 224 81 10 0 0 2 top-label - - 0;
#X symbolatom 224 113 10 0 0 3 bottom-label - - 0;
#X text 57 19 You can give it a label and place it in 4 different preset positions:, f 35;
#X restore 233 248 pd label;
#N canvas 851 252 457 442 send/receive 0;
#X obj 105 374 print;
#X symbolatom 101 131 10 0 0 0 - - - 0;
#X symbolatom 100 221 10 0 0 0 - - \$0-symbol 0;
#X symbolatom 105 336 10 0 0 0 - \$0-symbol - 0;
#X text 55 28 The properties also allows you to set a send and receive symbol \, in which cases the inlet/outlet are removed (so no connections are possible anymore). This way \, the object can communicate to [send] and [receive] objects., f 49;
#X obj 101 168 send \$0-symbol;
#X obj 101 259 receive \$0-symbol;
#X symbolatom 101 293 10 0 0 0 - - - 0;
#X text 179 220 <-- send symbol: \$0-symbol;
#X text 184 335 <-- receive symbol: \$0-symbol;
#X connect 1 0 5 0;
#X connect 3 0 0 0;
#X connect 6 0 7 0;
#X restore 185 309 pd send/receive;
#X symbolatom 86 77 10 0 0 0 - - - 0;
#X text 69 22 You can right click on the object and ask for the properties window to change its parameters., f 47;
#X text 43 122 The subpatches below offer details on each parameter from the properties window. The properties window is the same as the number box's and the behavior is basically the same. One main difference is that the "limits" are not valid for the symbol box., f 53;
#N canvas 853 419 450 289 loading-args 0;
#X text 61 114 For instance \, below \, we have \$0 used in the label field \, which gets expanded to the patch ID number. Using something like "\$1" is useful if you're using the object in an abstraction \, then you can load a value passed as an argument into a parameter., f 49;
#X symbolatom 220 228 10 0 0 0 \$0-label - - 0;
#X text 61 25 Note that all the parameters that you can set by inserting a number or symbol into a field in the properties window can also load dollar sign arguments (\$0 \, \$1 \, \$2 \, and so on). Namely \, these parameters are: width \, label and send/receive symbols., f 49;
#X restore 196 387 pd loading-args;
#X text 108 357 Loading arguments in properties:;
#N canvas 678 289 688 310 size 0;
#X text 90 44 By default \, when you create a box \, it'll use the font size that your patch is using. In this case it is "12". You can change the size settings in the properties. The 'auto' setting (the default) also automatically changes the font size of the atom box if you change your patch's font. In other cases \, it uses a specific font and keeps it no matter if you change the patch's font or not. Below \, we have a size of "36". The font setting also affects the label., f 74;
#X symbolatom 185 186 20 0 0 0 label - - 36;
#X restore 240 277 pd size;
#X text 171 77 <-- right click for properties;
#X restore 800 264 pd properties;
#X text 51 534 more details:;
#X listbox 490 41 20 0 0 0 - - - 0;
#X text 687 168 set only - don't output;
#X msg 559 360 1 2 3 foo 5;
#X listbox 559 564 22 0 0 0 - - - 0;
#X msg 573 399 list wombat weasel wallaby;
#X text 654 353 messages beginning with a number are implicitly understood as lists, f 35;
#X msg 611 465 set 4 dog 5 6 donkey;
#X text 766 460 "set" message changes contents but doesn't output them, f 30;
#X text 793 671 updated for Pd version 0.52;
#X text 732 619 more details:;
#N canvas 715 193 459 477 properties 0;
#N canvas 804 145 512 490 width 0;
#X msg 132 130 symbol short;
#X listbox 201 411 0 0 0 0 - - - 0;
#X listbox 132 192 10 0 0 0 - - - 0;
#X listbox 132 162 20 0 0 0 - - - 0;
#X msg 90 101 list 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 201 377 1;
#X text 58 247 Note that if you select a width of 0 \, the list box will actually have a minimum width of 3 characters and grow as needed to hold the typed or received symbol. A specific width is more CPU efficient though.;
#X msg 138 348 list 1st\ item 2nd/ item;
#X text 54 23 By default the width is 20 characters. If the list box tries to display a larger symbol \, it gets truncated and the last displayed character is ">".;
#X text 284 161 <-- default (20 characters);
#X text 212 193 <-- width of 10;
#X connect 0 0 3 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 7 0 1 0;
#X restore 233 216 pd width;
#N canvas 903 345 444 319 label 0;
#X text 87 23 You can give it a label and place it in 4 different preset positions:, f 35;
#X listbox 131 97 20 0 0 0 left-label - - 0;
#X listbox 133 150 20 0 0 2 top-label - - 0;
#X listbox 134 190 20 0 0 1 right-label - - 0;
#X listbox 135 229 20 0 0 3 bottom-label - - 0;
#X restore 233 279 pd label;
#N canvas 788 272 499 429 send/receive 0;
#X obj 94 371 print;
#X text 41 28 The properties also allows you to set a send and receive symbol \, in which cases the inlet/outlet are removed (so no connections are possible anymore). This way \, the object can communicate to [send] and [receive] objects., f 58;
#X listbox 90 128 20 0 0 0 - - - 0;
#X listbox 89 218 20 0 0 0 - - \$0-list 0;
#X listbox 94 333 20 0 0 0 - \$0-list - 0;
#X listbox 90 290 20 0 0 0 - - - 0;
#X obj 90 165 send \$0-list;
#X obj 90 256 receive \$0-list;
#X text 238 217 <-- send symbol: \$0-list;
#X text 243 333 <-- receive symbol: \$0-list;
#X connect 2 0 6 0;
#X connect 4 0 0 0;
#X connect 7 0 5 0;
#X restore 185 340 pd send/receive;
#X text 69 22 You can right click on the object and ask for the properties window to change its parameters., f 47;
#X text 43 122 The subpatches below offer details on each parameter from the properties window. The properties window is the same as the number box's and the behavior is basically the same. One main difference is that the "limits" are not valid for the symbol box., f 53;
#N canvas 849 419 450 289 loading-args 0;
#X text 61 114 For instance \, below \, we have \$0 used in the label field \, which gets expanded to the patch ID number. Using something like "\$1" is useful if you're using the object in an abstraction \, then you can load a value passed as an argument into a parameter., f 49;
#X text 61 25 Note that all the parameters that you can set by inserting a number or symbol into a field in the properties window can also load dollar sign arguments (\$0 \, \$1 \, \$2 \, and so on). Namely \, these parameters are: width \, label and send/receive symbols., f 49;
#X listbox 203 236 20 0 0 0 \$0-label - - 0;
#X restore 196 418 pd loading-args;
#X text 108 388 Loading arguments in properties:;
#N canvas 656 298 688 310 size 0;
#X text 90 44 By default \, when you create a box \, it'll use the font size that your patch is using. In this case it is "12". You can change the size settings in the properties. The 'auto' setting (the default) also automatically changes the font size of the atom box if you change your patch's font. In other cases \, it uses a specific font and keeps it no matter if you change the patch's font or not. Below \, we have a size of "36". The font setting also affects the label., f 74;
#X listbox 179 184 20 0 0 0 label - - 36;
#X restore 240 308 pd size;
#X listbox 56 76 20 0 0 0 - - - 0;
#N canvas 778 125 532 577 limits 0;
#X text 279 173 (range from -10 to 10), f 12;
#X text 64 194 and also type a value outside the range, f 15;
#X obj 197 221 print number-range;
#X text 293 422 infinity;
#X listbox 197 178 10 -10 10 0 - - - 0;
#X msg 212 147 set -100 100;
#X msg 197 119 -100 100;
#X text 70 277 Setting the lower and upper range to the same value (like "0" \, "0" - the default) removes the limit. Note that a ridiculously large number becomes infinity (negative infinity is also possible). The list box will display these and also 'NaN' (Not a Number)., f 55;
#X obj 154 418 expr pow(2 \, 1e+10) \; -pow(2 \, 1e+10) \; log(-1);
#X listbox 186 523 20 -10 10 0 - - - 0;
#X obj 186 482 pack f f f;
#X text 295 442 nan;
#X text 32 22 By default \, the list box has no range limits \, but you can define a range with a lower and upper limit values. This is just like the number box and affects numbers only. Note that this limit is only for clicking and dragging. Numbers outside this range are accepted if you type it in or receive it via the inlet., f 64;
#X text 64 178 click and drag -->;
#X obj 154 383 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 8 0 10 0;
#X connect 8 1 10 1;
#X connect 8 2 10 2;
#X connect 10 0 9 0;
#X connect 14 0 8 0;
#X restore 227 248 pd limits;
#X text 206 76 <-- right click for properties;
#X restore 838 618 pd properties;
#X text 725 549 you can drag the numbers up and down individually \, and/or double click to edit just one element., f 36;
#X text 33 671 see also:;
#X obj 109 672 all_guis;
#X text 640 40 - list box;
#X text 103 40 - number atom box;
#X text 336 40 - symbol atom box;
#X text 54 9 GUI object boxes to display and edit numbers \, symbols \, or lists., f 64;
#X obj 10 73 cnv 1 1000 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 10 658 cnv 1 1000 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 913 36 <= click;
#N canvas 808 23 436 675 reference 0;
#X obj 9 42 cnv 5 400 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 9 123 cnv 2 400 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 9 157 cnv 2 400 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 8 191 cnv 5 400 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X floatatom 39 12 5 0 0 0 - - - 0;
#X text 86 11 - number atom box;
#X text 153 165 NONE;
#X text 136 56 float - set and output value.;
#X text 95 94 set <float> - set value.;
#X text 150 132 float - number value.;
#X obj 15 265 cnv 5 400 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 15 346 cnv 2 400 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 15 380 cnv 2 400 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 14 414 cnv 5 400 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 159 388 NONE;
#X symbolatom 40 236 10 0 0 0 - - - 0;
#X text 119 235 - symbol atom box;
#X text 135 279 symbol - set and output value.;
#X text 94 317 set <symbol> - set value.;
#X text 136 355 symbol - symbol value.;
#X listbox 39 468 20 0 0 0 - - - 0;
#X text 189 467 - list box;
#X obj 15 499 cnv 5 400 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 15 580 cnv 2 400 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 15 614 cnv 2 400 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 14 648 cnv 5 400 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 159 622 NONE;
#X text 149 513 list - set and output value.;
#X text 109 551 set <list> - set value.;
#X text 151 589 list - symbol value.;
#X text 144 75 bang - output value.;
#X text 150 298 bang - output value.;
#X text 150 532 bang - output value.;
#X restore 819 36 pd reference;
#X obj 270 435 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 593 433 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 644 201 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 270 513 print number box;
#X obj 559 593 print list box;
#X text 559 89 Symbol atom boxes are like number boxes but hold a symbol instead of a number:, f 58;
#X obj 614 264 print symbol box;
#X text 558 316 List boxes hold arbitrary combinations of numbers and symbols:, f 38;
#X text 618 433 output list;
#X text 762 141 set and output a symbol value;
#X text 668 200 output symbol;
#X msg 625 504 set;
#X text 662 497 set to an empty list (normally treated as a bang in Pd), f 30;
#X text 135 475 click and drag -->;
#X text 315 474 (or shift+click and drag);
#X text 16 364 If the objects receive a proper message (like a float message for the number box below) \, they get displayed and pass through. A "set" message updates but doesn't output. A bang outputs its holding value. See the Number atom box below:, f 71;
#X text 44 572 The number atom box object toggles between 0 and a non zero value If you click on a number box while pressing "control" (in Linux or Windows) or "command" (Mac). The non zero value is the last non zero value that the box holds (by default \, this value is "1")., f 66;
#X text 774 388 lists starting with a symbol must be preceded by the "list" selector to disambiguate them, f 30;
#X text 16 317 You can also change a numeric value upward or downward by clicking and dragging. Shift-click changes the value in hundredths instead of units. This works for both number boxes and individual numbers in a list box., f 71;
#X text 16 82 These GUI (Graphical User Interface) objects display and send atoms or lists. An atom is a single element message (symbol or float). A list is composed of more than one atom and can hold floats and/or symbols. These objects may be created by selecting "number" (etc.) from the "put" menu. The contents can be changed while the patch is in "run" mode (as opposed to "edit" mode) \, so these are useful as controls and displays in a finished patch., f 71;
#X text 16 185 Clicking on the object activates it (indicated via a thicker border). Clicking outside the box deactivates it. When active \, you can hit enter to output the current value (this can be done multiple times). You can also type new values (using backspace to correct typing is allowed) and hit enter to validate and output them. You can cancel the typing action by reclicking on the object (to keep it activated) or outside it (to deactivate it). Double-clicking activates a text editor so that you can navigate with arrows and use backspace/delete or click and drag to select contents to cut/copy/paste (then also hit enter when done)., f 71;
#X msg 227 435 1234;
#X msg 300 435 set 4532;
#X connect 0 0 35 0;
#X connect 4 0 38 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 12 0 13 0;
#X connect 13 0 36 0;
#X connect 14 0 13 0;
#X connect 16 0 13 0;
#X connect 32 0 0 0;
#X connect 33 0 13 0;
#X connect 34 0 4 0;
#X connect 43 0 13 0;
#X connect 53 0 0 0;
#X connect 54 0 0 0;
