File: vu-help.pd

package info (click to toggle)
puredata 0.55.2%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 20,508 kB
  • sloc: ansic: 118,824; tcl: 10,221; cpp: 9,327; makefile: 1,632; sh: 1,476; python: 152; xml: 98; awk: 13
file content (517 lines) | stat: -rw-r--r-- 21,341 bytes parent folder | download | duplicates (4)
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;