Dynamic patching via ofelia

Dynamic patching via ofelia

por Marcelo Queiroz -
Número de respostas: 0

Bom dia!

Na aula prática de ontem vimos como criar patches dinamicamente usando mensagens configuráveis do Pd. Essas têm a vantagem de possuirem uma sintaxe idêntica à das linhas do arquivo Pd que queremos gerar. Por outro lado, também é possível enviar o mesmo tipo de mensagem a partir de um script ofelia/Lua. Por exemplo, o código a seguir

ofelia f;
s=ofSend("pd-meupatch.pd");
for j=0, 9 do;
for i=0, 9 do;
n=10*j-i;
m=n+math.random(100-n);
s:sendAnything(ofTable("obj", 20+i*20, 20+j*20, "tgl", 15, 0, "s"..m, "s"..n, "empty", 17, 7, 0, 10, -262144, -1, -1, 0));
end;
end;

quando ativado por um bang gera uma matriz de interruptores com conexões aleatórias implícitas (através dos sends e receives). Os ingredientes-chave aqui são o objeto de envio de mensagens para o patch (variável s, que deve ser atrelada ao nome do arquivo), o método sendAnything (que envia informações em formato livre) e o método ofTable, que constrói a partir de números e strings uma lista compatível com o que o objeto "canvas" (nosso patch) espera. A adaptação desse exemplo para a inclusão de outros tipos de objetos e conexões deve ser imediata.