Étape 5: Analyser les messages OSC
Ce que nous devons faire maintenant est d’extraire les numéros des messages nous avez reçu et faire quelque chose d’utile avec elle.
Pour ce faire, je vais seulement mettre l’accent sur la valeur de l’Attention venant de BrainWaveOSC. Trent a nommé idéalement les valeurs avec des séquences explicites d’adresse, alors tout ce que nous devons faire est de vérifier nos messages entrants pour elle et le retirer.
À l’intérieur de votre fonction oscEvent , vous aurez envie d’ajouter :
Si (theMessage.checkAddrPattern("/attention") == true) {}
println ("votre attention est:" + theMessage.get(0).floatValue());
}
Pour vous assurer que votre console ne soit pas inondé avec d’autres messages, commentez vos println à la dernière étape avec / / au début si il ressemble à ceci :
println ("OSC Message reçu ! Le modèle d’adresse est "+ theMessage.addrPattern() +". Le typetag est: "+ theMessage.typetag()) ;
Exécutez votre application
Exécutez votre application à nouveau avec le bouton lecture dans le coin supérieur gauche. Cette fois, votre console doit montrer quelque chose comme :
Votre niveau d’attention : 0.0
Je ne portais pas mon casque lorsque je l’examinais alors qu’il apparaît comme 0.0. Si vous le portez, vous devriez voir les numéros changent.
Ajouter une variable globale
Génial. Alors maintenant nous reçoit simplement les valeurs de l’attention et les imprimer à l’écran. Nous avons besoin d’un moyen de transmettre ces informations à une autre fonction afin que nous puissions faire quelque chose avec elle. La manière simple de le faire est avec une variable globale. Ajoutez cette ligne sous OscP5 oscp5 ;
float currentAttention ;
Changer votre fonction oscEvent ressembler à ceci :
Si (theMessage.checkAddrPattern("/attention") == true) {}
currentAttention = theMessage.get(0).floatValue() ;
println ("votre attention est:" + currentAttention) ;
}
Maintenant, vous avez créé une variable qui est accessible depuis n’importe quelle fonction est mis à jour quand oscEvent voit un message d’OSC avec le modèle d’adresse « / attention ».