#N canvas 1339 94 478 973 12;
#X obj -73 16 cnv 15 400 40 empty empty Converting_Control/Audio 20
19 0 24 -262144 -66577 0;
#X obj 90 432 sig~;
#X obj 90 499 snapshot~;
#X floatatom 90 564 9 0 0 0 - - -;
#X msg 51 367 3;
#X msg 90 367 15;
#X msg 128 366 1.6e-12;
#X obj 51 466 bng 15 250 50 0 empty none empty 17 7 0 10 -204800 -1
-1;
#X text -56 261 At the example below \, we convert Control Data to
Audio and back. We need to turn on the DSP for that. Here \, the number
converted to signal are static \, but they are part of a continuous
stream with the same value.;
#X text 14 463 Bang;
#X text 118 399 <= Control Data;
#X text 104 468 <= Audio Signal;
#X text 106 529 <= Control Data;
#X text 28 593 (Remember to turn on the DSP);
#X obj 155 852 unpack~;
#X obj 115 778 pack~;
#X obj 115 737 sig~ 4;
#X text -58 86 The [sig~] object converts a Control Data (a number)
to Audio Signal. On the other hand \, [snapshot~] converts an Audio
Signal (which are basically streams of numbers) to Control Data (yes
\, a number) when it receives a "bang message". As the Audio Stream
works continuously \, it wouldn't be practical to convert Audio Signal
to numbers automatically. That is why [snapshot~] needs to receive
a "bang" \, to convert only at that instant. As the name implies \,
[snapshot~] takes a "picture" of the current Audio Signal Value.;
#X obj 31 880 lister;
#X obj 31 845 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 31 912 print;
#X obj 131 913 print~;
#X obj 113 854 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text -53 661 [pack~] converts an entire block of audio into a list.
[unpack~] gets a a list that represents a block of audio and outputs
it as a signal block.;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 14 0 21 0;
#X connect 15 0 18 1;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 18 0 20 0;
#X connect 19 0 18 0;
#X connect 22 0 21 0;
