#N canvas 415 23 796 611 12;
#X obj 175 371 line~;
#X obj 354 422 line~;
#X obj 305 527 *~;
#X obj 354 300 dbtorms;
#X obj 374 239 t l b, f 8;
#X obj 354 396 pack;
#X obj 175 267 unpack;
#X obj 175 451 osc~;
#X obj 175 293 mtof;
#X obj 354 326 sqrt;
#X obj 354 352 sqrt;
#X obj 175 319 sqrt;
#X obj 175 345 sqrt;
#X obj 175 399 *~;
#X obj 175 425 *~;
#X obj 354 448 *~;
#X obj 353 476 *~;
#X obj 305 574 outlet~;
#X floatatom 285 326 5 0 0 0 - - - 0;
#X msg 285 300 set \$1;
#X floatatom 108 317 5 0 0 0 - - - 0;
#X msg 108 291 set \$1;
#X text 361 186 amplitude;
#X text 169 214 pitch;
#X text 34 61 The amplitude and pitch are controlled by quartic envelopes
as in the previous example. Here we introduce two new features. First
\, there are number boxes to show the most recent targets for amplitude
and frequency \, which you can also use to change the values. Also
\, if amplitude gets a message without an explicit time value \, we
supply a default of "30"., f 52;
#X text 47 280 see or;
#X text 47 298 change;
#X text 235 309 and;
#X text 404 387 The "pack" always gets a 30 \, but if you send a pair
of numbers to amplitude \, the second one overrides the 30, f 27;
#X text 450 234 first bang the "30" \, then pass the list on;
#X text 47 317 pitch =>;
#X text 235 326 amp =>;
#X obj 374 265 unpack f f;
#X text 39 20 This abstraction is used in patch D13.additive.qlist.pd.
;
#X obj 458 265 f 30;
#X text 496 259 This is more CPU efficient than a message., f 27;
#X obj 374 213 r amp\$1;
#X obj 285 352 s amp\$1;
#X obj 108 343 s pit\$1;
#X obj 175 241 r pit\$1;
#X text 425 80 Other small differences from the previous patch: pitch
and amplitude are now in MIDI and dB., f 45;
#X connect 0 0 13 0;
#X connect 0 0 13 1;
#X connect 1 0 15 0;
#X connect 1 0 15 1;
#X connect 2 0 17 0;
#X connect 3 0 9 0;
#X connect 4 0 32 0;
#X connect 4 1 34 0;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 6 0 21 0;
#X connect 6 1 0 1;
#X connect 7 0 2 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 5 0;
#X connect 11 0 12 0;
#X connect 12 0 0 0;
#X connect 13 0 14 0;
#X connect 13 0 14 1;
#X connect 14 0 7 0;
#X connect 15 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 2 1;
#X connect 18 0 37 0;
#X connect 19 0 18 0;
#X connect 20 0 38 0;
#X connect 21 0 20 0;
#X connect 32 0 3 0;
#X connect 32 0 19 0;
#X connect 32 1 5 1;
#X connect 34 0 5 1;
#X connect 36 0 4 0;
#X connect 39 0 6 0;
