123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include <ArduinoOSC.h>
- OscSerial osc;
- void onOscReceived(OscMessage& m)
- {
- OscMessage msg;
- msg.init("/callback/reply");
- msg.push(m.getArgAsInt32(0)).push(m.getArgAsFloat(1)).push(m.getArgAsString(2));
- osc.send(msg);
- }
- void setup()
- {
- // ArduinoOSC
- Serial.begin(115200);
- osc.attach(Serial);
- // TODO: TBD
- // osc.subscribe("/int32", i);
- // osc.subscribe("/float", f);
- // osc.subscribe("/string", s);
- // osc.subscribe("/blob", b);
- osc.subscribe("/callback", onOscReceived); // old style (v0.1.x)
- osc.subscribe("/lambda", [](OscMessage& m)
- {
- OscMessage msg;
- msg.init("/lambda/reply");
- msg.push(m.getArgAsInt32(0)).push(m.getArgAsFloat(1)).push(m.getArgAsString(2));
- osc.send(msg);
- });
- osc.subscribe("/wildcard/*/test", [](OscMessage& m)
- {
- OscMessage msg;
- msg.init("/wildcard/reply").push(m.getArgAsInt32(0));
- osc.send(msg);
- });
- // TODO: TBD
- // osc.publish(host, send_port, "/value", value);
- // osc.publish(host, send_port, "/millis", &millis);
- }
- void loop()
- {
- osc.parse(); // should be called
- }
|