#N canvas 643 40 508 561 12;
#X obj 67 224 bng 18 250 50 0 empty empty empty 8 -8 0 10 #fcfcfc #000000
#000000;
#X floatatom 102 334 4 0 0 0 - - - 0;
#X msg 146 232 set \$1;
#X floatatom 146 210 4 0 9 0 - - - 0;
#X floatatom 102 225 4 -10 10 0 - - - 0;
#X obj 102 285 hradio 20 1 0 6 empty empty Radio -55 10 0 15 #b8b8b8
#0400fc #780000 0;
#N canvas 906 109 508 505 old-behavior 0;
#X floatatom 114 432 5 0 0 0 - - - 0;
#X msg 71 152 \; pd compatibility 0.45;
#X msg 250 153 \; pd compatibility 0.46;
#X text 88 190 Old "compatible" behavior, f 16;
#X text 257 190 Mew "correct" behavior;
#X obj 114 381 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X floatatom 288 432 5 0 0 0 - - - 0;
#X obj 288 381 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X obj 288 318 int;
#X obj 288 344 clip 0 8;
#X floatatom 224 262 5 -10 10 0 - - - 0;
#X msg 345 262 -12;
#X msg 310 262 2.7;
#X msg 272 262 13;
#X msg 113 262 set 1.7;
#X floatatom 133 349 5 -10 10 0 - - - 0;
#X msg 178 319 -12;
#X msg 143 319 2.7;
#X msg 133 291 13;
#X obj 73 294 bng 18 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000;
#X text 42 19 Prior to Pd version 0.46 \, values sent to IEM GUIs were
restricted to the control's own values before passing them through
to the output. This behavior is changed in 0.46 to allow any number
through. You can toggle back and forth between the two behaviors using
the messages boxes below. If you want to get the behavior in an up-to-date
patch \, you can use "int" and "clip" objects to quantize and restrict
the range of numbers. Note this also affects the "set" message.;
#X connect 5 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X connect 11 0 8 0;
#X connect 12 0 8 0;
#X connect 13 0 8 0;
#X connect 14 0 5 0;
#X connect 15 0 5 0;
#X connect 16 0 15 0;
#X connect 17 0 15 0;
#X connect 18 0 15 0;
#X connect 19 0 5 0;
#X restore 335 397 pd old-behavior;
#X obj 45 24 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc #000000
#000000 0;
#X obj 102 363 print hradio;
#X text 269 440 (c) musil@iem.kug.ac.at;
#X text 305 456 IEM KUG \, Graz \, Austria \, 2002, f 14;
#X text 68 514 see also:;
#X obj 142 515 x_all_guis;
#X text 59 441 This object is part of the "iemguis" library \, natively
included in Pd version 0.34., f 28;
#X text 265 514 updated for Pd version 0.51;
#X text 228 285 <= click on the cells., f 11;
#X text 324 285 Right click for properties., f 15;
#N canvas 789 65 625 556 position 0;
#X floatatom 142 146 4 0 1000 0 - - - 0;
#X obj 191 173 t b f;
#X floatatom 191 146 5 0 500 0 - - - 0;
#X msg 142 243 pos \$1 \$2;
#X text 63 146 x-position;
#X text 235 145 y-position;
#X msg 264 183 delta 1 0;
#X text 337 182 increase x by 1;
#X msg 274 205 delta -1 0;
#X text 353 204 decrease x by 1;
#X msg 286 239 delta 0 1;
#X msg 292 261 delta 0 -1;
#X text 363 238 increase y by 1;
#X text 376 263 decrease y by 1;
#X msg 301 293 delta 1 1;
#X text 376 294 increase both by 1;
#X text 394 315 decrease both by -1;
#X msg 308 315 delta -1 -1;
#X obj 142 202 pack 265 350;
#X text 293 66 The 'delta' message changes the position of the object
by a difference amount. It takes a list of x/y delta in pixels., f
40;
#X text 40 66 The 'pos' message takes a list of x/y coordinates in
pixels and sets the objects's position., f 33;
#X text 159 19 You can also set and change the position of the object
in the patch. Check below:, f 41;
#X obj 265 350 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X connect 0 0 18 0;
#X connect 1 0 18 0;
#X connect 1 1 18 1;
#X connect 2 0 1 0;
#X connect 3 0 22 0;
#X connect 6 0 22 0;
#X connect 8 0 22 0;
#X connect 10 0 22 0;
#X connect 11 0 22 0;
#X connect 14 0 22 0;
#X connect 17 0 22 0;
#X connect 18 0 3 0;
#X restore 359 225 pd position;
#N canvas 465 144 358 369 properties 0;
#N canvas 828 23 640 573 colors 0;
#X floatatom 72 243 3 0 29 0 - - - 0;
#X floatatom 108 243 3 0 29 0 - - - 0;
#X floatatom 177 248 3 0 29 0 - - - 0;
#X text 104 223 front;
#X text 170 223 label;
#X obj 108 272 t b f;
#X obj 177 274 t b f;
#X msg 72 342 color \$1 \$2 \$3;
#X obj 72 305 pack 0 22 22, f 20;
#X text 181 342 presets;
#X symbolatom 507 339 9 0 0 0 - - - 0;
#X symbolatom 421 338 9 0 0 0 - - - 0;
#X symbolatom 335 338 9 0 0 0 - - - 0;
#X obj 475 369 t b s;
#X obj 389 369 t b s;
#X obj 258 223 loadbang;
#X obj 335 407 pack symbol symbol symbol;
#X msg 335 436 color \$1 \$2 \$3;
#X msg 258 257 list #ffffff #000000 #000000, f 7;
#X text 21 223 background;
#X text 444 437 RGB in hexadecimal;
#X text 67 16 The 'color' message takes a list of three values to set
background \, front and label colors \, respectively. Integers from
0 to 29 represent the 30 preset colors found in the properties window
\, values above are wrapped., f 77;
#X text 68 67 Negative integers were used to encode RGB values (and
that still works for backwards compatibility). But since Pd 0.47-0
\, you can set colors with hexadecimal RGB symbol values \, which are
followed by "#"., f 77;
#X text 346 132 Set RGB values in the sliders;
#X text 61 156 Open subpatches for the conversion from RGB to hexadecimal
============>, f 38;
#N canvas 1016 107 390 482 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 109 225 t b f;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 80 341 pack s s s;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X obj 81 250 t b f;
#X obj 147 257 makefilename %02x;
#X obj 113 284 makefilename %02x;
#X obj 74 311 makefilename %02x;
#X text 66 56 label;
#X obj 80 406 outlet;
#X msg 80 370 symbol #\$1\$2\$3;
#X obj 161 185 loadbang;
#X msg 161 217 0;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 6 0;
#X connect 2 0 5 0;
#X connect 3 0 11 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 5 1 7 0;
#X connect 6 0 3 2;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 6 0;
#X connect 13 0 7 0;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 507 157 pd label;
#N canvas 965 149 390 482 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 109 225 t b f;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 74 341 pack s s s;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X obj 81 250 t b f;
#X obj 146 257 makefilename %02x;
#X obj 112 284 makefilename %02x;
#X obj 74 311 makefilename %02x;
#X obj 74 406 outlet;
#X text 69 56 front;
#X msg 74 370 symbol #\$1\$2\$3;
#X obj 177 168 loadbang;
#X msg 177 200 0;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 6 0;
#X connect 2 0 5 0;
#X connect 3 0 11 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 5 1 7 0;
#X connect 6 0 3 2;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 11 0 9 0;
#X connect 12 0 13 0;
#X connect 13 0 6 0;
#X connect 13 0 7 0;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 421 157 pd label;
#N canvas 886 125 390 482 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 109 225 t b f;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X obj 81 250 t b f;
#X obj 221 257 makefilename %02x;
#X obj 141 284 makefilename %02x;
#X obj 61 321 makefilename %02x;
#X obj 61 416 outlet;
#X text 52 56 background;
#X msg 61 380 symbol #\$1\$2\$3;
#X obj 176 59 loadbang;
#X msg 176 91 set 255;
#X obj 176 176 route set;
#X obj 61 351 pack symbol symbol symbol;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 0 4 0;
#X connect 3 0 7 0;
#X connect 4 0 3 0;
#X connect 4 1 6 0;
#X connect 5 0 14 2;
#X connect 6 0 14 1;
#X connect 7 0 14 0;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 12 0 3 0;
#X connect 12 0 2 0;
#X connect 12 0 0 0;
#X connect 12 0 13 0;
#X connect 13 0 5 0;
#X connect 13 0 6 0;
#X connect 14 0 10 0;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 335 157 pd label;
#N canvas 720 84 504 483 old_way 0;
#N canvas 1136 244 402 495 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X text 66 56 label;
#X obj 59 361 expr -($f1 * 65536 + $f2 * 256 + $f3 + 1);
#X obj 311 319 t b f;
#X obj 169 319 t b f;
#X obj 59 413 outlet;
#X connect 0 0 5 0;
#X connect 1 0 6 0;
#X connect 2 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 5 1 4 2;
#X connect 6 0 4 0;
#X connect 6 1 4 1;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 341 139 pd label;
#X text 180 114 Set RGB values in the sliders;
#N canvas 955 131 392 476 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X obj 61 361 expr -($f1 * 65536 + $f2 * 256 + $f3 + 1);
#X obj 313 269 t b f;
#X obj 171 269 t b f;
#X obj 61 413 outlet;
#X text 52 56 background;
#X obj 180 83 loadbang;
#X msg 202 134 set 255;
#X msg 181 195 255 255 255;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 4 1 3 2;
#X connect 5 0 3 0;
#X connect 5 1 3 1;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 0 0;
#X connect 9 0 1 0;
#X connect 9 0 2 0;
#X connect 10 0 3 0;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 169 139 pd label;
#N canvas 1096 192 402 495 label 0;
#X obj 102 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #0800fc
#fcfcfc #000000 0 1;
#X obj 81 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #00fc00
#000000 #000000 0 1;
#X obj 61 80 vsl 15 128 0 255 0 0 empty empty empty 0 -9 0 10 #fc0000
#000000 #000000 0 1;
#X obj 59 361 expr -($f1 * 65536 + $f2 * 256 + $f3 + 1);
#X obj 311 319 t b f;
#X obj 169 319 t b f;
#X obj 59 413 outlet;
#X text 66 56 front;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 4 1 3 2;
#X connect 5 0 3 0;
#X connect 5 1 3 1;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 255 139 pd label;
#X text 17 168 Open subpatches for the conversion ====>, f 20;
#X msg 229 376 color -1.67772e+07 -1 -1;
#N canvas 574 194 328 335 pack 0;
#X obj 73 47 inlet;
#X obj 123 47 inlet;
#X obj 206 47 inlet;
#X msg 73 152 color \$1 \$2 \$3;
#X obj 206 85 t b f;
#X obj 123 85 t b f;
#X obj 73 123 pack float -1 -1, f 24;
#X obj 73 187 list prepend set;
#X obj 73 213 list trim;
#X obj 73 246 t b a;
#X obj 73 283 outlet;
#X connect 0 0 6 0;
#X connect 1 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 7 0;
#X connect 4 0 6 0;
#X connect 4 1 6 2;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 10 0;
#X restore 229 340 pd pack;
#X f 8;
#X text 90 24 The RGB color scheme can also be encoded \, for backwards
compatibility \, as negative inetegers. For "R" (red) \, "G" (green)
& "B" (blue) values from 0 to 255 \, the conversion formula is \; float
= -(R * 65536 + G * 256 + B + 1)., f 47;
#X obj 229 421 hradio 18 1 1 8 empty empty Label -70 10 1 25 #ffffff
#000000 #000000 1;
#X connect 0 0 6 2;
#X connect 2 0 6 0;
#X connect 3 0 6 1;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X restore 95 526 pd old_way;
#X text 67 468 open subpatch below for the old way of encoding RGB
values., f 20;
#X text 68 450 See also:;
#X obj 335 498 hradio 18 1 1 8 empty empty Label 15 38 1 25 #ffffff
#000000 #000000 1;
#X connect 0 0 8 0;
#X connect 1 0 5 0;
#X connect 2 0 6 0;
#X connect 5 0 8 0;
#X connect 5 1 8 1;
#X connect 6 0 8 0;
#X connect 6 1 8 2;
#X connect 7 0 31 0;
#X connect 8 0 7 0;
#X connect 10 0 13 0;
#X connect 11 0 14 0;
#X connect 12 0 16 0;
#X connect 13 0 16 0;
#X connect 13 1 16 2;
#X connect 14 0 16 0;
#X connect 14 1 16 1;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 31 0;
#X connect 18 0 16 0;
#X connect 25 0 10 0;
#X connect 26 0 11 0;
#X connect 27 0 12 0;
#X coords 0 0 1 1 85 60 0;
#X restore 160 227 pd colors;
#N canvas 905 67 517 295 size 0;
#X floatatom 74 58 3 10 60 0 - - - 0;
#X obj 74 132 hradio 18 1 0 6 empty empty empty 0 -8 0 10 #fcfcfc #000000
#000000 0;
#X msg 74 92 size \$1;
#X text 36 57 size;
#X text 153 57 The size message sets the object's cell size. The value
represents the width in pixels for each side of the square., f 39
;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 174 87 pd size;
#N canvas 847 74 603 428 label 0;
#X msg 93 284 label \$1;
#X floatatom 240 166 4 0 3 0 - - - 0;
#X obj 282 193 t b f;
#X floatatom 282 166 5 5 50 0 - - - 0;
#X msg 240 263 label_font \$1 \$2;
#X text 202 165 type;
#X text 326 164 size;
#X text 261 102 DejaVu Sans Mono;
#X text 261 118 Helvetica;
#X text 261 133 Times;
#X msg 105 252 symbol empty;
#X floatatom 394 182 4 -150 200 0 - - - 0;
#X obj 436 209 t b f;
#X floatatom 436 182 5 -150 150 0 - - - 0;
#X msg 394 279 label_pos \$1 \$2;
#X text 376 181 x;
#X text 480 180 y;
#X text 389 158 label offset:;
#X msg 73 187 symbol label;
#X msg 93 215 symbol my\ label;
#X text 100 26 The 'label' message sets the label symbol \, setting
it to "empty" clears it. The 'label_font' message sets font type and
size and 'label_pos' sets the x/y coordinates., f 54;
#X obj 240 363 hradio 18 1 1 8 empty empty label 150 9 0 20 #fcfcfc
#000000 #000000 4;
#X obj 394 237 pack 150 9, f 11;
#X obj 240 103 vradio 15 1 0 3 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X obj 240 222 pack 0 20, f 11;
#X connect 0 0 21 0;
#X connect 1 0 24 0;
#X connect 2 0 24 0;
#X connect 2 1 24 1;
#X connect 3 0 2 0;
#X connect 4 0 21 0;
#X connect 10 0 0 0;
#X connect 11 0 22 0;
#X connect 12 0 22 0;
#X connect 12 1 22 1;
#X connect 13 0 12 0;
#X connect 14 0 21 0;
#X connect 18 0 0 0;
#X connect 19 0 0 0;
#X connect 22 0 14 0;
#X connect 23 0 1 0;
#X connect 24 0 4 0;
#X restore 167 199 pd label;
#N canvas 904 91 434 344 init 0;
#X msg 109 183 init \$1;
#X obj 109 151 tgl 18 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X text 132 151 init on/off;
#X text 46 29 The 'init' message takes a float and sets to 'init mode'
(if different than zero) or 'no init' (if equal to zero - the default
value)., f 46;
#X obj 109 265 print hradio-init;
#X obj 109 222 hradio 18 1 1 8 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 4;
#X text 46 76 If in 'init mode' \, when loading the patch \, the objects
sends its holding value from when the patch was last saved., f 46
;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 5 0 4 0;
#X restore 174 115 pd init;
#N canvas 869 39 833 484 send-receive 0;
#X floatatom 53 182 5 0 8 0 - - - 0;
#X floatatom 53 310 5 0 0 0 - - - 0;
#X text 42 102 The 'send' and 'receive' messages take a symbol to set
\, respectively \, the send and receive symbol. If you set these to
"empty" \, the symbols are cleared., f 50;
#X text 42 26 The object can have a send and receive symbol \, in which
cases the inlet/outlet are visually hidden (but still functional in
the patch). This way \, the object can communicate to [send] and [receive]
objects., f 50;
#X text 46 379 Note how you need to escape dollar signs with backslashes
to set something like "\$0-x". But the backslash is not needed if you
set it directly via the properties window., f 50;
#X obj 53 271 r \$0-hradio_snd;
#X obj 53 216 s \$0-hradio_rcv;
#X msg 214 203 receive empty;
#X msg 245 267 send empty;
#X msg 197 178 receive \\\$0-hradio_rcv;
#X msg 236 243 send \\\$0-hradio_snd;
#X obj 214 310 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X text 439 36 Note how you need to escape dollar signs with backslashes
to set something like "\$0-x". But the backslash is not needed if you
set it directly via the properties window., f 50;
#X floatatom 550 400 5 0 0 0 - - - 0;
#X floatatom 544 212 5 0 8 0 - - - 0;
#X obj 544 238 s \$0-radio;
#X obj 550 376 r \$0-radio;
#X obj 512 302 hradio 18 1 0 8 \$0-radio \$0-radio empty 0 -8 0 10
#fcfcfc #000000 #000000 0;
#X text 439 110 Feedback protection: iemguis can have the same name
for both the send and receive symbols. This works without 'stack overflow'
erros because they have feedback protection. See example below., f
50;
#X connect 0 0 6 0;
#X connect 5 0 1 0;
#X connect 7 0 11 0;
#X connect 8 0 11 0;
#X connect 9 0 11 0;
#X connect 10 0 11 0;
#X connect 14 0 15 0;
#X connect 16 0 13 0;
#X restore 118 171 pd send-receive;
#N canvas 896 162 466 340 loading-args 0;
#X text 60 123 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 60 23 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 \, height \, lower and upper range \, send/receive
symbols \, label \, label offset and font size., f 49;
#X obj 176 237 hradio 20 1 0 6 empty empty \$0-Label 10 34 0 15 #b8b8b8
#9c0000 #0400fc 0;
#X restore 142 303 pd loading-args;
#X text 37 272 Loading arguments in properties:;
#X text 46 13 All the parameters from the properties window can be
set via messages as well. See examples and more details on each parameter
in the subpatches below:, f 39;
#N canvas 750 194 481 215 number 0;
#X msg 84 58 number \$1;
#X floatatom 84 29 4 1 18 0 - - - 0;
#X obj 84 97 hradio 18 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc #000000
#000000 0;
#X text 176 37 You can set the number of cells with the 'number' message
, f 31;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 159 143 pd number;
#X restore 345 199 pd properties;
#X text 27 137 Insert it from the Put menu (named as "hradio") or its
shortcut. Alternatively \, create it by typing "hradio" into an object
box. Right click for properties (to set size \, colors \, labels \,
etc)., f 64;
#X text 243 340 COMPATIBILITY NOTE: The behavior changed in Pd 0.46!
Check details and how to get it back:, f 33;
#X text 27 59 The horizontal radio button is a GUI (Graphical User
Interface) that sends numbers. Click on its cells to output corresponding
values. Incoming floats set the value and are passed through (even
if outside the range). The 'set' message only sets the value without
output. A bang message sends the internal value., f 64;
#N canvas 761 61 435 279 switch-example 0;
#X obj 66 163 route 0 1 2 3;
#X obj 66 195 tgl 18 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 88 195 tgl 18 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 110 195 tgl 18 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 132 195 tgl 18 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 43 83 t f f b;
#X obj 66 129 f -1;
#X text 193 65 Here's an example on how to use this object to control
different toggle switches. Whenever there's a new value \, it first
turns the previous toggle off before turning the new one on., f 29
;
#X obj 43 40 hradio 18 1 0 4 empty empty empty 0 -8 0 10 #dcdcdc #000000
#000000 0;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 0 2 3 0;
#X connect 0 3 4 0;
#X connect 5 0 6 1;
#X connect 5 1 6 0;
#X connect 5 2 6 0;
#X connect 6 0 0 0;
#X connect 8 0 5 0;
#X restore 317 251 pd switch-example;
#X text 199 24 - [hradio]: Horizontal Radio Button;
#X connect 0 0 5 0;
#X connect 1 0 8 0;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
