#N canvas 390 62 836 597 10;
#X obj 61 278 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -261234
-1 -1 0 1;
#X msg 61 208 \$1 1000;
#X text 34 17 Geradores de linha são procedimentos elementares \, úteis
para controle de amplitude \, envelope e uma série aplicações.;
#X obj 61 243 line 0 1;
#X text 116 242 um dado a cada ms;
#X obj 240 279 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -261234
-1 -1 0 1;
#X obj 240 205 t f b;
#X msg 261 227 1000;
#X obj 240 249 line;
#X floatatom 61 184 2 0 0 0 - - -;
#X floatatom 240 182 2 0 0 0 - - -;
#X obj 240 161 tgl 15 0 empty empty empty 17 7 0 10 -261234 -1 -1 0
1;
#X obj 61 162 tgl 15 0 empty empty empty 17 7 0 10 -261234 -1 -1 0
1;
#X text 45 437 Você pode enviar os dados de ponto de chegada e tempo
de duração como uma lista de dois valores no primeiro inlet \, ou como
valores separados no primeiro e segundo inlet \, respectivamente.;
#X obj 556 185 line;
#X text 47 495 No caso de enviar valores separados \, você precisa
sempre definir um valor de tempo antes de enviar o ponto de chegada.
Caso contrário \, ele vai ao ponto de chegada imediatamente.;
#X obj 559 211 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -261682
-1 -1 0 1;
#X msg 556 160 0 \, 1 1000;
#X obj 556 137 metro 1000;
#X obj 556 117 tgl 15 0 empty empty empty 17 7 0 10 -261682 -1 -1 0
1;
#X text 444 20 Podemos definir um ponto de partida ao enviar duas mensagens
em sequência como abaixo. A primeira não tem definição de tempo. Logo
\, o valor é atingido imediatamente e funciona como ponto de partida
da linha. O exemplo a seguir \, segue esse procedimento para realizar
uma linha em loop.;
#X obj 615 355 line~;
#X obj 587 497 vline~;
#X text 459 261 O [line~] é a versão para áudio. Além da questão de
serem tipos de dados diferentes \, uma grande diferença é que os dados
da linha são gerados de acordo com a taxa de amostagem (um valor por
amostra). Porém ele só começa a atuar no início de um bloco de áudio
\, e não a qualquer momento.;
#X obj 587 520 unsig~ 1;
#X obj 590 545 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -261682
-1 -1 0 1;
#X text 459 392 Já o [vline~] tem uma resolução melhor e não se restringe
ao tamanho do bloco. Logo \, é próprio para linhas com pequena duração.
Ele aceita um terceiro elemento na sintaxe que é um delay inicial (e
corresponde ao terceiro inlet).;
#X text 36 56 Os geradores de linha recebem um valor de chegada e um
tempo pra chegar lá em ms. No [line] \, você pode definir um ponto
de partida como primeiro argumento. Ele gera um valor a cada 20 ms
\, por padrão \, mas você pode mudar isso como segundo argumento (a
partir do Pd 0.43 \, um terceiro inlet também muda esse valor). Clique
nos toggles a seguir.;
#X text 113 208 rampa de 1000 ms;
#X text 294 225 rampa de 1000 ms;
#X msg 587 472 0 \, 1 1000 500;
#X connect 1 0 3 0;
#X connect 3 0 0 0;
#X connect 6 0 8 0;
#X connect 6 1 7 0;
#X connect 7 0 8 1;
#X connect 8 0 5 0;
#X connect 9 0 1 0;
#X connect 10 0 6 0;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 14 0 16 0;
#X connect 17 0 14 0;
#X connect 18 0 17 0;
#X connect 19 0 18 0;
#X connect 22 0 24 0;
#X connect 24 0 25 0;
#X connect 30 0 22 0;
