Por causa de otros compromisos no pude ir a la reunión del jueves,  
pero rescato de las profundidades de mi carpeta ~/ un par de  
experimentos que hice hace rato usando Processing y Pd con OSC.

/*
Uso elemental de OSC en P5:

Se pueden enviar datos a otra aplicación, en este
caso envío números desde una GUI que sirven
para controlar frecuencias de un oscilador en Pd.

Daniel Prieto, 2006
*/

// lo primero que hago es cargar las librerIas

import oscP5.*;
import netP5.*;

// establezco una variable para comunicarme con PD

OscP5 oscP5;
NetAddress oscaPD;

// usando 'void setup()' para los ajustes generales:
void setup() {

   // - hago una superficie para introducir info
   size(600,600);

   // - una tasa de muestreo (framerate)
   frameRate(128);

   // - pongo a P5 a escuchar en un puerto -> 7700
   oscP5 = new OscP5(this,7700);

   /** - defino la ubicaciOn remota con la variable antes definida, y la
    * direcciOn del localhost (127.0.0.1) mAs el segundo argumento,  
que es
    un puerto en el que OSC escucharA **/
   oscaPD = new NetAddress("127.0.0.1",57110);

   // finalizo el 'void setup()'
}

// le doy color a la superficie, para que no digan que soy aburrido.
void draw() {
   background (255,0,32);
}

/* aquI hago que se lea el lugar donde arrastro el ratOn */

void mouseDragged() {

/* creo el OscMessage con el nombre que le dI arriba y un nombre osc
que es el que empieza con "/" */
     OscMessage Equis = new OscMessage("/n_set");
     // le añado el valor del ratOn en X
     Equis.add(1000);
     Equis.add("freq");
     Equis.add(mouseX);
     Equis.add(600);

   oscP5.send(Equis, oscaPD);

}

// FIN //

debajo de esto, pongo el patch de Pd (no contemporáneo al de p5, fue  
reconstruido en estos días) para recibir mensajes OSC desde P5.

Copien el código hasta la última que tiene asterisco en un archivo de  
texto y pónganle extensión *.pd. Usen Pd-extended.

#N canvas 0 22 502 283 10;
#X obj 20 16 cnv 15 450 240 empty empty recibOSC.pd 10 12 0 14 -260097
-66577 0;
#X obj 50 50 dumpOSC 57110;
#X obj 50 126 unpack s f s f f;
#X obj 119 167 osc~;
#X obj 119 201 dac~;
#X obj 61 74 print mensajeOSC;
#X text 159 125 <-- aquÌ selecciono los datos que me sirven;
#X floatatom 152 149 5 0 0 0 - - -;
#X text 169 75 <-- aquÌ est· todo el mensaje OSC;
#X text 141 50 <-- puerto en el que habla P5;
#X obj 399 194 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X msg 399 217 \; pd dsp \$1;
#X text 208 191 encender y apagar el audio -->;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 2 3 3 0;
#X connect 2 3 7 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 10 0 11 0;

saludo

dp


Daniel Andrés Prieto García
http://wwwprof.uniandes.edu.co/~d-prieto
http://dopu.blogspot.com

_______________________________________________
____ ____ ___  ____ _  _ ___  
|__| |__/   /  |___  \/  |__] 
|  | |  \  /__ |___ _/\_ |    
                              
Arzexp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk

Responder a