#N canvas 62 23 1148 686 10;
#X obj 251 260 polygate~ 4 1000 linear;
#X obj 124 93 vradio 15 1 0 5 empty empty empty 0 -8 0 10 -188079 -1
-1 0;
#X floatatom 124 184 5 0 0 0 - - -;
#X text 143 91 nenhum;
#X text 143 107 inlet 1;
#X text 143 122 inlet 2;
#X text 143 137 inlet 3;
#X text 143 152 inlet 4;
#X obj 239 300 dac~;
#X msg 124 210 choice \$1;
#X obj 223 206 osc~ 300;
#X obj 285 206 osc~ 350;
#X obj 345 206 osc~ 400;
#X obj 407 206 osc~ 450;
#X text 258 43 O [polygate~] recebe um dado número de sinais \, mas
só envia um deles que é escolhido pelo inlet esquerdo. Na mudança entre
um sinal e outro \, o [polygate~] faz um crossfade \, que pode ser
linear ou de "Equal Power".;
#X text 258 104 Os argumentos são: número de sinais \, tempo de crossfade
e se o crossfade é linear (argumento opicional \, se vazio \, ele faz
um "equal power").;
#X text 414 261 Consulte o help para mais detalhes.;
#X text 222 183 inlet 1;
#X text 288 184 inlet 2;
#X text 348 183 inlet 3;
#X text 409 183 inlet 4;
#X obj 223 505 multiplex~ . . .;
#X obj 223 542 demultiplex~ . . .;
#X floatatom 223 604 5 0 0 0 - - -;
#X floatatom 275 604 5 0 0 0 - - -;
#X floatatom 328 604 5 0 0 0 - - -;
#X obj 223 468 sig~ 1;
#X obj 269 468 sig~ 2;
#X obj 316 468 sig~ 3;
#X obj 161 452 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -262130
-1 -1 0;
#X floatatom 161 478 5 0 0 0 - - -;
#X obj 223 577 rms~;
#X obj 100 452 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -204786
-1 -1 0;
#X floatatom 100 478 5 0 0 0 - - -;
#X obj 275 577 rms~;
#X obj 328 577 rms~;
#X obj 354 505 mux~;
#X obj 361 541 demux~;
#X text 340 541 =;
#X text 336 503 =;
#X obj 918 635 switch 4;
#X obj 847 637 gate 4;
#X text 738 598 Veja também os objetos [gate] e switch para dados de
controle:;
#X obj 869 201 sig~ 1;
#X obj 1009 199 sig~ 2;
#X obj 730 230 expr~ if ($v1 == 1 \, $v2 \, if ($v1 == 2 \, $v3 \,
0));
#X obj 730 154 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -262130
-1 -1 2;
#X floatatom 730 180 5 0 0 0 - - -;
#X obj 730 204 sig~;
#X floatatom 730 290 5 0 0 0 - - -;
#X obj 730 260 unsig~ 1;
#X obj 884 354 expr~ if ($v1 == 1 \, $v2 \, $v3);
#X text 722 324 Você também pode mudar para que sempre escolha entre
um e outro \, com a expressão:;
#X text 723 401 E enfim \, qualquer configuração é possível \, como
também controle de qual outlet o sinal sairia.;
#X obj 773 448 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 938 445 sig~ 1;
#X obj 939 515 unsig~ 1;
#X obj 773 513 unsig~ 1;
#X floatatom 939 540 5 0 0 0 - - -;
#X floatatom 773 539 5 0 0 0 - - -;
#X obj 773 474 expr~ if ($v1 == 0 \, $v2 \, 0) \; if ($v1 == 1 \, $v2
\, 0);
#X text 243 359 Outro objeto de gate \, mas sem parâmetros de crossfading
\, é o [multiplex~] e seu par o [demultiplex~] - esse último faz o
contrário de um [polygate~]. Consulte o arquivo de ajuda para mais
informações.;
#X text 715 41 É fácil programar esse tipo de coisa em um [expr~].
abaixo temos um horizontal radio no inlet esquerdo que seleciona entre
duas fontes sonoras (se 1 ou 2) ou nenhuma (se 0). O interessante de
usar o [expr~] é que possibilita o uso de um sinal de áudio para a
escolha da fonte \, e não somente um dado de controle. Em compensação
\, também não temos crossfading aqui.;
#X connect 0 0 8 0;
#X connect 0 0 8 1;
#X connect 1 0 2 0;
#X connect 2 0 9 0;
#X connect 9 0 0 0;
#X connect 10 0 0 0;
#X connect 11 0 0 1;
#X connect 12 0 0 2;
#X connect 13 0 0 3;
#X connect 21 0 22 0;
#X connect 22 0 31 0;
#X connect 22 1 34 0;
#X connect 22 2 35 0;
#X connect 26 0 21 0;
#X connect 27 0 21 1;
#X connect 28 0 21 2;
#X connect 29 0 30 0;
#X connect 30 0 21 0;
#X connect 31 0 23 0;
#X connect 32 0 33 0;
#X connect 33 0 22 0;
#X connect 34 0 24 0;
#X connect 35 0 25 0;
#X connect 43 0 45 1;
#X connect 44 0 45 2;
#X connect 45 0 50 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 0 45 0;
#X connect 50 0 49 0;
#X connect 54 0 60 0;
#X connect 55 0 60 1;
#X connect 56 0 58 0;
#X connect 57 0 59 0;
#X connect 60 0 57 0;
#X connect 60 1 56 0;
