Kasta eldklot med ditt sinne med OSC och bearbetning (5 / 7 steg)
Steg 5: Tolka OSC meddelanden
Vad vi behöver göra nu är extrakt siffrorna från meddelanden vi har fått och göra något nyttigt med den.
För detta kommer jag bara att fokusera på uppmärksamhet värdet kommer från BrainWaveOSC. Trent har bekvämt heter värdena med meningsfulla adress mönster, så allt vi behöver göra är att kontrollera våra inkommande meddelanden för det och dra ut den.
Inuti din oscEvent funktion vill du lägga till:
om (theMessage.checkAddrPattern("/attention") == true) {
println ("din uppmärksamhet är på:" + theMessage.get(0).floatValue()),
}
För att se din konsol inte blir översvämmad med andra meddelanden, kommentera ut din println från det sista steget med / / i början så det ser ut så här:
println ("OSC meddelande mottagits! Adress mönstret är "+ theMessage.addrPattern() +". Typetag är: "+ theMessage.typetag());
Kör programmet
Kör programmet igen med play-knappen i det övre vänstra hörnet. Den här gången ska din konsol Visa något liknande:
Din uppmärksamhet är: 0,0
Jag var inte klädd i mitt headset när jag testade det så det ser ut som 0,0. Om du bär det, bör du se siffrorna ändras.
Lägga till en global variabel
Toppen. Så nu vi får bara uppmärksamhet värden och skriva ut dem på skärmen. Vi behöver ett sätt att vidarebefordra informationen till en annan funktion så att vi kan göra något med den. Det enkla sättet att göra detta är med en global variabel. Lägg till följande rad under OscP5 oscp5;
float currentAttention;
Ändra din oscEvent funktion se ut så här:
om (theMessage.checkAddrPattern("/attention") == true) {
currentAttention = theMessage.get(0).floatValue();
println ("din uppmärksamhet är på:" + currentAttention);
}
Nu, du har skapat en variabel som kan nås från någon funktion och uppdateras när oscEvent ser en OSC meddelande med adressmönster "/ uppmärksamhet".