/
MyApp.cpp
63 lines (51 loc) · 1.9 KB
/
MyApp.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "MyApp.h"
MyApp::MyApp(){
receiver = new vaOsc::Receiver(4242);
receiver->addOscHandler(this);
std::cout << "listening for osc on port 4242" << std::endl;
panel = new va::PanelWidget(600,140);
panel->setPivot(300,70,0);
panel->setPosition(0.5*scene->getWidth(),500,0);
scene->addChild(panel);
textbox = new va::TextShape(600,140);
textbox->setText("No OSC message received yet.");
textbox->setPadding(20.0f);
panel->addChild(textbox);
}
MyApp::~MyApp(){}
void MyApp::oscReceive( vaOsc::Message message ) {
// check for mouse moved message
if ( message.getAddress() == "/mouse/position" ) {
std::cout << "mouse positionX: "
<< message.getArgAsInt(0)
<< " positionY: "
<< message.getArgAsInt(1)
<< std::endl;
}
// check for mouse button message
else if ( message.getAddress() == "/mouse/button" ) {
std::cout << "mouse button: "
<< message.getArgAsInt(0)
<< std::endl;
}
// unrecognized message
else {
textbox->setText("");
textbox->appendText(message.getAddress());
textbox->appendText(": ");
for ( int i=0; i<message.getNumArgs(); i++ ) {
textbox->appendText(message.getArgTypeName(i));
textbox->appendText(":");
if( message.getArgType(i) == vaOsc::TYPE_INT ) {
textbox->appendText(message.getArgAsInt(i));
} else if( message.getArgType(i) == vaOsc::TYPE_FLOAT ) {
textbox->appendText(message.getArgAsFloat(i));
} else if( message.getArgType(i) == vaOsc::TYPE_STRING ) {
textbox->appendText(message.getArgAsString(i));
} else {
textbox->appendText("unknown");
}
textbox->appendText(", ");
}
}
}