Conectando PD ao Processing

Filed under arte-tech, multimidia

Passos iniciais:

  • Baixar a lib oscP5.
  • Estude os examples da lib, é importante ter uma noção inicial.
  • Coloque os arquivos na pasta libraries do Processing.
  • Reinicie o Processing

O tratamento que a lib faz para o OSC é simples, fiz um exemplo abaixo que pode facilitar:

 

import oscP5.*;
import netP5.*;
OscP5 oscP5;
NetAddress myRemoteLocation;

void setup() {
size(600,400);
background(255);
oscP5 = new OscP5(this,12000);
myRemoteLocation = new NetAddress(”127.0.0.1″,12000); // servidor local na porta 12000.

}

void draw() {
if(mousePressed==true) {
background(random(255),random(255),random(255));
}

}
// aqui ele faz o tratamento do OSC recebido…

void oscEvent(OscMessage theOscMessage) {
println(” saida do PD: “+theOscMessage.get(0).intValue());
int captura = theOscMessage.get(0).intValue(); // recebe os sendOSC :) -> como receber mais de um?
fill(random(captura/2),random(captura*2),random(captura*2),random(captura));
if(captura==0) {
background(random(255),random(255),random(255));
}

smooth();
noStroke();
ellipse(random(captura,width),random(captura,height), captura*2,captura*2);
rect(random(captura*2),random(captura/2),captura*2,captura*2);

}

Coloque este código no Processing e inicie (CTRL + R).

Para receber os OSCs você precisa ligar o PD e criar um sendOSC. Para facilitar, novamente, segue um exemplo:

PD

Faça um s captura em alguma lib qualquer, ex: pdp_scanxy~ (webcam) e comece a brincar de pintar no Processing com a Webcam, ou então ligue o adc~ e capture a frequencia ambiente, pinte até com o Toscolão

Aprimoramentos

  • Como colocar o int captura no void draw()?
  • Como receber mais de um OSC e em variáveis diferentes?
  • Como utilizar isso para fazer mapeamentos em realtime de dados recebidos pela internet?

Estudos

  • Este trabalho faz parte de estudos na tentativa de pesquisar e criar novas ferramentas livres para produção multimídia. Colabore.

Veja o artigo no Estúdio Livre

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*