Paso 5: Analizar mensajes OSC
Lo que necesitamos hacer ahora es extraer los números de los mensajes que has recibido y hacer algo útil con ella.
Para ello, sólo voy a foco en el valor de la atención de BrainWaveOSC. Trent ha nombrado convenientemente los valores significativos patrones de dirección, así que todos tenemos que hacer es comprobar los mensajes entrantes para él y tire de ella.
Dentro de su función de oscEvent , usted querrá agregar:
Si (theMessage.checkAddrPattern("/attention") == true) {}
println ("su atención es:" + theMessage.get(0).floatValue());
}
Para asegurarse de que su consola no consigue con otros mensajes, comentar su println de la última etapa con / / al principio por lo que parece esto:
println ("OSC mensaje recibido! El modelo de dirección es "+ theMessage.addrPattern() +". La typetag es: "+ theMessage.typetag());
Ejecutar la aplicación
Vuelva a ejecutar la aplicación con el botón de play en la esquina superior izquierda. Esta vez, la consola debe mostrar algo como:
El nivel de atención es: 0.0
Yo no estaba usando mis auriculares cuando estaba probando para demuestra para arriba como 0.0. Si usted lo está usando, usted debe estar viendo los números de cambiar.
Añadir una variable global
Impresionante. Ahora estamos recibiendo sólo los valores de atención e impresión de la pantalla. Necesitamos una manera de pasar esa información a otra función, por lo que podemos hacer algo con él. La manera fácil de hacerlo es con una variable global. Añadir la siguiente línea debajo de OscP5 oscp5;
Float currentAttention;
Cambiar su función de oscEvent a tener este aspecto:
Si (theMessage.checkAddrPattern("/attention") == true) {}
currentAttention = theMessage.get(0).floatValue();
println ("su atención es:" + currentAttention);
}
Ahora, hemos creado una variable que se puede acceder desde cualquier función y es actualizada cuando oscEvent ve un mensaje de OSC con el patrón de la dirección "/ atención".