1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517
|
#N canvas 527 34 472 527 12;
#X declare -stdpath ./;
#X obj 26 14 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 1 0;
#X obj 154 248 vu 16 120 foo7_rcv VU-Meter 60 0 0 10 #000000 #900000 1 0;
#X floatatom 164 218 5 -100 12 0 - - - 0;
#X floatatom 119 218 5 0 0 0 - - - 0;
#X floatatom 164 380 5 0 0 0 - - - 0;
#X floatatom 153 405 5 0 0 0 - - - 0;
#X text 203 381 Peak;
#X text 88 217 RMS;
#X text 204 218 Peak;
#X text 195 408 RMS;
#X text 98 58 The VU meter object is a GUI (Graphical User Interface) used to display RMS and peak levels in dBFS. The left inlet takes a float to set RMS and the right inlet takes a float to set peak level - these values are output to corresponding outlets., f 49;
#X text 98 135 Insert it from the Put menu (named as "VU Meter") or its shortcut. Alternatively \, create it by typing "vu" into an object box., f 49;
#X text 271 386 (c) musil@iem.kug.ac.at;
#X text 307 402 IEM KUG \, Graz \, Austria \, 2002, f 14;
#X text 29 459 see also:;
#X text 238 311 This object is part of the "iemguis" library \, natively included in Pd version 0.34., f 28;
#X text 249 483 updated for Pd version 0.51;
#N canvas 647 77 613 643 position 0;
#X floatatom 142 132 4 0 1000 0 - - - 0;
#X obj 191 159 t b f;
#X floatatom 191 132 5 0 500 0 - - - 0;
#X msg 142 229 pos \$1 \$2;
#X text 63 132 x-position;
#X text 235 131 y-position;
#X msg 265 169 delta 1 0;
#X text 338 168 increase x by 1;
#X msg 275 191 delta -1 0;
#X text 354 190 decrease x by 1;
#X msg 287 225 delta 0 1;
#X msg 293 247 delta 0 -1;
#X text 364 224 increase y by 1;
#X text 377 249 decrease y by 1;
#X msg 302 279 delta 1 1;
#X text 377 280 increase both by 1;
#X text 395 301 decrease both by -1;
#X msg 309 301 delta -1 -1;
#X text 293 63 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 63 The 'pos' message takes a list of x/y coordinates in pixels and sets the objects's position., f 33;
#X text 159 17 You can also set and change the position of the object in the patch. Check below:, f 41;
#X obj 142 188 pack 265 350;
#X obj 265 350 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 1 0;
#X connect 0 0 21 0;
#X connect 1 0 21 0;
#X connect 1 1 21 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 21 0 3 0;
#X restore 334 266 pd position;
#N canvas 431 187 353 319 properties 0;
#N canvas 765 40 601 669 colors 0;
#X floatatom 83 261 3 0 29 0 - - - 0;
#X floatatom 132 261 3 0 29 0 - - - 0;
#X text 125 241 label;
#X obj 132 287 t b f;
#X msg 83 355 color \$1 \$2 \$3;
#X text 192 355 presets;
#X symbolatom 446 342 9 0 0 0 - - - 0;
#X symbolatom 306 341 9 0 0 0 - - - 0;
#X obj 446 368 t b s;
#X obj 229 226 loadbang;
#X obj 306 406 pack symbol symbol symbol;
#X msg 306 435 color \$1 \$2 \$3;
#X text 33 241 background;
#X text 415 436 RGB in hexadecimal;
#X text 317 135 Set RGB values in the sliders;
#X text 32 159 Open subpatches for the conversion from RGB to hexadecimal ============>, f 38;
#N canvas 350 71 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 446 160 pd label;
#N canvas 964 215 336 472 label 0;
#X text 52 56 background;
#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 obj 80 406 outlet;
#X msg 80 370 symbol #\$1\$2\$3;
#X obj 166 101 loadbang;
#X msg 166 130 set 64;
#X obj 166 215 route set;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 7 0;
#X connect 3 0 6 0;
#X connect 4 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 5 0;
#X connect 6 1 8 0;
#X connect 7 0 4 2;
#X connect 8 0 4 1;
#X connect 9 0 4 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 1 0;
#X connect 13 0 3 0;
#X connect 13 0 5 0;
#X connect 13 0 14 0;
#X connect 14 0 7 0;
#X connect 14 0 8 0;
#X coords 0 -1 1 1 80 170 2 50 50;
#X restore 306 160 pd label;
#X text 76 491 open subpatch below for the old way of encoding RGB values., f 20;
#X text 77 473 See also:;
#X obj 307 477 vu 15 160 empty Label -50 20 0 12 #404040 #000000 1 0;
#X text 28 16 The 'color' message takes a list of three values \, but only the first and the third are valid and set \, respectively \, background and label colors (as there's no "front" color \, the 2nd value is ignored)., f 76;
#X text 28 63 Integers from 0 to 29 represent the 30 preset colors found in the properties window \, values above are wrapped. 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 76;
#N canvas 429 89 542 588 old_way 0;
#N canvas 639 23 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 295 120 pd label;
#X text 188 95 Set RGB values in the sliders;
#X text 51 149 Open subpatches for the conversion ====>, f 20;
#X msg 242 357 color -4.21075e+06 0 -1;
#N canvas 574 194 328 335 pack 0;
#X obj 73 47 inlet;
#X obj 136 47 inlet;
#X msg 73 152 color \$1 \$2 \$3;
#X obj 136 85 t b f;
#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 obj 73 123 pack -1 0 -1, f 14;
#X connect 0 0 8 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 8 0;
#X connect 3 1 8 2;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 1 7 0;
#X connect 8 0 2 0;
#X restore 242 321 pd pack;
#X f 8;
#X text 72 19 The RGB color scheme can also be encoded \, for backwards compatibility \, as negative inetegers. FOR R (red) G (green) B (blue) values from o to 255 \, the conversion formula is \; float = -(R * 65536 + G * 256 + B + 1);
#X obj 243 393 vu 15 160 empty Label -50 20 0 12 #404040 #000000 1 0;
#N canvas 544 196 419 464 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 321 expr -($f1 * 65536 + $f2 * 256 + $f3 + 1);
#X obj 313 269 t b f;
#X obj 171 269 t b f;
#X obj 61 373 outlet;
#X text 52 56 background;
#X obj 180 83 loadbang;
#X msg 202 134 set 64;
#X msg 181 195 64 64 64;
#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 203 120 pd label;
#X connect 0 0 4 1;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 7 0 4 0;
#X restore 89 551 pd old_way;
#X msg 229 260 list #404040 #000000 #000000, f 7;
#X obj 83 318 pack 2 0 22, f 12;
#N canvas 571 147 780 409 old-behavior 0;
#X floatatom 379 36 3 0 29 0 - - - 0;
#X floatatom 484 41 3 0 29 0 - - - 0;
#X text 477 16 label;
#X obj 484 77 t b f;
#X msg 379 145 color \$1 \$2 \$3;
#X text 377 16 background;
#X floatatom 551 35 3 0 29 0 - - - 0;
#X floatatom 649 40 3 0 29 0 - - - 0;
#X text 642 15 label;
#X obj 649 76 t b f;
#X text 541 15 background;
#X msg 551 144 color \$1 \$2;
#X text 65 291 Old "compatible" behavior, f 16;
#X text 224 302 New "correct" behavior;
#X msg 54 328 \; pd compatibility 0.46;
#X msg 224 327 \; pd compatibility 0.47;
#X text 29 104 Since Pd version 0.47 \, you cannot use the color message with only 2 values \, as the 2nd value just gets ignored. You need to have 3 values where the third sets the label color., f 46;
#X text 29 162 You can use the "pd compatibility" message to get the old behavior back., f 46;
#X text 29 195 Note that this is valid for all ways of using the color message (including the new way of using hexadecimal notation introduced in Pd 0.47) \, but in this example we're just using the "presets" option for convenience., f 46;
#X text 29 31 Until Pd version 0.46 \, you could have a color message with only two values \, where the second value would set the label color. You could also have 3 values \, where the 2nd value was ignored and the 3rd value would set the color., f 46;
#X text 643 145 <= Pd 0.46 way;
#X obj 392 66 loadbang;
#X obj 465 222 vu 15 160 empty Label -50 20 0 12 #404040 #000000 1 0;
#X text 570 211 When the compatibility is set to 0.47 or higher \, the example above to the right doesn't work to set the label color., f 22;
#X obj 551 107 pack 2 22, f 19;
#X obj 379 108 pack 2 0 22, f 20;
#X connect 0 0 25 0;
#X connect 1 0 3 0;
#X connect 3 0 25 0;
#X connect 3 1 25 2;
#X connect 4 0 22 0;
#X connect 6 0 24 0;
#X connect 7 0 9 0;
#X connect 9 0 24 0;
#X connect 9 1 24 1;
#X connect 11 0 22 0;
#X connect 21 0 25 0;
#X connect 24 0 11 0;
#X connect 25 0 4 0;
#X restore 420 586 pd old-behavior;
#X text 388 519 COMPATIBILITY NOTE: The behavior changed in Pd 0.47! Check details and how to get it back:, f 23;
#X connect 0 0 25 0;
#X connect 1 0 3 0;
#X connect 3 0 25 0;
#X connect 3 1 25 2;
#X connect 4 0 20 0;
#X connect 6 0 8 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 8 1 10 2;
#X connect 9 0 24 0;
#X connect 10 0 11 0;
#X connect 11 0 20 0;
#X connect 16 0 6 0;
#X connect 17 0 7 0;
#X connect 24 0 10 0;
#X connect 25 0 4 0;
#X coords 0 0 1 1 85 60 0;
#X restore 161 185 pd colors;
#N canvas 845 44 433 567 size 0;
#X floatatom 129 191 4 20 100 0 - - - 0;
#X obj 171 218 t b f;
#X floatatom 171 191 4 80 240 0 - - - 0;
#X msg 129 288 size \$1 \$2;
#X text 215 190 height;
#X obj 130 335 vu 20 120 empty empty -1 -8 0 12 #404040 #000000 1 0;
#X text 77 190 width;
#X obj 171 128 hradio 19 1 0 4 empty empty empty 0 -8 0 10 #dfdfdf #000000 #000000 0;
#X obj 171 156 expr ($f1+2) * 40;
#X text 44 40 The size message sets the object's size and takes width and height values (in number of pixels). The height value should be a multiple of 40 \, otherwise it gets truncated to a smaller value., f 51;
#X obj 129 247 pack 20 120;
#X connect 0 0 10 0;
#X connect 1 0 10 0;
#X connect 1 1 10 1;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 2 0;
#X connect 10 0 3 0;
#X restore 175 77 pd size;
#X text 39 17 All the parameters from the properties window can be set via messages as well. See examples in the subpatches below:, f 39;
#N canvas 764 71 568 534 font/label 0;
#X msg 94 293 label \$1;
#X floatatom 241 175 4 0 3 0 - - - 0;
#X obj 283 202 t b f;
#X floatatom 283 175 5 5 50 0 - - - 0;
#X msg 241 272 label_font \$1 \$2;
#X text 203 174 type;
#X text 327 173 size;
#X obj 241 102 vradio 19 1 0 3 empty empty empty 0 -8 0 10 #dfdfdf #000000 #000000 0;
#X text 262 101 DejaVu Sans Mono;
#X text 262 121 Helvetica;
#X text 262 141 Times;
#X msg 106 261 symbol empty;
#X floatatom 395 191 4 -200 100 0 - - - 0;
#X obj 437 218 t b f;
#X floatatom 437 191 5 -150 150 0 - - - 0;
#X msg 395 288 label_pos \$1 \$2;
#X text 377 190 x;
#X text 481 189 y;
#X text 390 167 label offset:;
#X msg 74 196 symbol label;
#X msg 94 224 symbol my\ label;
#X obj 241 382 vu 15 120 empty label 20 10 0 20 #404040 #000000 0 0;
#X text 87 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. Note that the font type and size also affects the 'scale'., f 56;
#X obj 395 246 pack 20 10, f 11;
#X obj 241 231 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 7 0 1 0;
#X connect 11 0 0 0;
#X connect 12 0 23 0;
#X connect 13 0 23 0;
#X connect 13 1 23 1;
#X connect 14 0 13 0;
#X connect 15 0 21 0;
#X connect 19 0 0 0;
#X connect 20 0 0 0;
#X connect 23 0 15 0;
#X connect 24 0 4 0;
#X restore 133 158 pd font/label;
#N canvas 854 79 442 449 loading-args 0;
#X text 54 118 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 54 20 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 \, receive symbol \, label \, label offset and font size., f 49;
#X obj 171 246 vu 15 160 empty \$0-Label -10 -18 0 12 #404040 #840000 1 0;
#X restore 164 266 pd loading-args;
#X text 59 235 Loading arguments in properties:;
#N canvas 856 62 459 526 receive 0;
#X msg 229 188 receive empty;
#X floatatom 91 220 5 -100 12 0 - - - 0;
#X text 61 440 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 53;
#X obj 229 240 vu 15 160 \$0-vu_rcv empty -1 -8 0 12 #202020 #000000 1 0;
#X msg 213 163 receive \\\$0-vu_rcv;
#X obj 92 333 s \$0-vu_rcv;
#X obj 92 291 pack -50 -20;
#X obj 142 251 t b f;
#X floatatom 142 220 5 -100 12 0 - - - 0;
#X text 55 12 The 'receive' message sets a receive symbol \, in which case the inlets are visually hidden (but still functional in the patch). This way \, the object can communicate with a [send] object. If you set it to "empty" \, the symbol is cleared., f 50;
#X text 55 93 You can send values to both inlets by sending the object a list \, as the values get split to separate inlets this way \, as usual with other Pd objects., f 50;
#X connect 0 0 3 0;
#X connect 1 0 6 0;
#X connect 4 0 3 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
#X connect 7 1 6 1;
#X connect 8 0 7 0;
#X restore 154 132 pd receive;
#N canvas 847 149 498 291 scale 0;
#X obj 57 102 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 0 0;
#X msg 56 55 scale \$1;
#X obj 56 18 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X obj 147 102 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 0 0;
#X obj 164 102 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 1 0;
#X text 156 23 The 'scale' message toggles the dB-scale label on or off (on by default)., f 40;
#X text 230 157 It's convenient hiding the scale of a [vu] for a stereo pair., f 32;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 167 104 pd scale;
#X restore 320 238 pd properties;
#N canvas 703 35 482 533 example 0;
#X obj 252 280 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 1 0;
#N canvas 329 161 625 417 vu 0;
#X obj 59 129 env~ 1024;
#X obj 161 111 abs~;
#X obj 161 213 snapshot~;
#X obj 161 256 rmstodb;
#X obj 161 21 inlet~;
#X obj 161 288 - 100;
#X obj 59 287 - 100;
#X obj 59 361 outlet;
#X obj 161 361 outlet;
#X text 344 307 Check the help file of env~ and slop~ for more details., f 31;
#X obj 239 89 expr 1000 / $f1;
#X floatatom 239 117 5 0 0 0 - - - 0;
#X obj 161 146 slop~ 0 0 0 0 1e+09;
#X obj 239 18 inlet;
#X floatatom 239 57 5 0 0 0 - - - 0;
#X text 359 89 convert to hz;
#X text 282 118 hz;
#X text 284 57 peak decay time in ms;
#X obj 59 171 t f b;
#X text 345 132 The env~ object is dedicated to RMS analysis. Its output is in dB (0-100 range \, pd style) but needs to be converted to dBFS (and we do that by simply subtracting 100)., f 31;
#X text 345 225 The slop~ object is used here for peak detection. We need to convert the output to dB with rmstodb and also subtract by 100 to convert it to dBFS., f 31;
#X connect 0 0 18 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 2 0;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
#X connect 18 0 6 0;
#X connect 18 1 2 0;
#X restore 229 237 pd vu;
#X obj 128 162 tgl 19 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000 0 1;
#X floatatom 261 463 8 0 0 0 - - - 0;
#X floatatom 251 492 8 0 0 0 - - - 0;
#X text 323 463 Peak;
#X text 313 493 RMS;
#X floatatom 261 183 6 0 1000 0 - decay - 0;
#N canvas 525 219 362 314 noise-burst 0;
#X obj 139 166 *~;
#X obj 121 263 outlet~;
#X obj 139 137 vline~;
#X obj 139 27 inlet;
#X obj 68 110 noise~;
#X msg 139 107 1 \, 0 100;
#X obj 121 194 *~;
#X obj 139 75 metro 500;
#X obj 224 124 loadbang;
#X msg 224 152 \; decay 500 \; pd dsp 1;
#X connect 0 0 6 1;
#X connect 2 0 0 0;
#X connect 2 0 0 1;
#X connect 3 0 7 0;
#X connect 4 0 6 0;
#X connect 5 0 2 0;
#X connect 6 0 1 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X coords 0 314 1 313 150 60 0;
#X restore 128 192 pd noise-burst;
#X text 335 183 peak decay time in ms, f 10;
#X obj 128 302 output~;
#X obj 58 393 declare -stdpath ./;
#X text 39 17 In order to use vu to display RMS and peak levels \, you need to analyze a sound source and send it values. This can be done in Pd with the [env~] and [slop~] objects., f 56;
#X text 39 69 VU meters usually have a decay time for the peak level. You can set this parameter in the number box below. The peak level and decay is obtained via the [slop~] object. Open the subpatch [pd vu] to see how this is done., f 56;
#X text 276 236 <-- open for analysis;
#X text 309 183 <--;
#X text 39 161 turn on --> test sound, f 12;
#X connect 0 0 4 0;
#X connect 0 1 3 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 2 0 8 0;
#X connect 7 0 1 1;
#X connect 8 0 1 0;
#X connect 8 0 10 0;
#X restore 341 209 pd example;
#X obj 83 491 env~;
#X obj 124 491 slop~, f 7;
#X text 86 14 - [vu]: VU meter;
#X obj 103 460 all_guis;
#N canvas 663 82 585 585 reference 0;
#X obj 17 199 cnv 5 550 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 17 471 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 0;
#X obj 17 557 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 83 322 label <symbol> - set label., f 67;
#X text 69 303 receive <symbol> - set receive symbol name., f 69;
#X text 62 341 label_font <f \, f> -;
#X text 202 341 set label type <0: DejaVu Sans Mono \, 1: Helvetica \, 2: Times> and font size., f 50;
#X text 69 373 label_pos <f \, f> - set label's x/y position., f 69;
#X text 97 393 color <list> -;
#X text 202 392 set colors of background \, front and label. Symbols for hexadecimal values or floats for presets., f 50;
#X obj 48 17 vu 15 160 empty empty -1 -8 0 12 #404040 #000000 1 0;
#X text 109 31 - [vu]: VU meter;
#X obj 17 233 cnv 1 550 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000 0;
#X obj 17 434 cnv 1 550 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X text 145 238 float - set RMS value in dbFS., f 58;
#X text 147 443 float - set peak value in dbFS., f 49;
#X text 103 257 size <list> - sets width and height (must be a multiple of 40)., f 64;
#X obj 17 495 cnv 1 550 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000 0;
#X obj 17 524 cnv 1 550 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X text 147 499 float - RMS value in dbFS., f 32;
#X text 147 530 float - RMS value in dbFS., f 32;
#X text 89 276 scale <float> - nonzero shows scale (default) \, zero hides it., f 66;
#X restore 348 15 pd reference;
#X obj 12 449 cnv 1 450 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 88 47 cnv 1 370 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 9 196 cnv 1 80 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 88 47 cnv 1 1 148 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 24 273 Right click for properties (to set size \, colors \, labels \, etc) --->, f 17;
#X text 276 15 click ->;
#X connect 1 0 5 0;
#X connect 1 1 4 0;
#X connect 2 0 1 1;
#X connect 3 0 1 0;
|