Quote:
Originally Posted by Puck
I'm dumb, is this the osc color problem though? lol
Code:
2030 void OSC_FeedbackProcessor::SetRGBValue(int r, int g, int b)
Is this somehow informing the OSC message that these are to be integers?
I doubt that's it but I'm watching c++ tuts and trying to dig in.
This is likely just telling CSI they are integers, which they are, so no big deal. The problem is the OSC message type. But I found this looking through the code and figured I'd ask
|
Very cool that you are looking at the code !
What are you using to see it, just a text editor, or Xcode or Visual Studio.
If you look at the function body - aka contents -- you see that the r, g, and b, values get sent separately by calls to
Code:
SendOSCMessage(this, oscAddress_ + "/rColor", r);
SendOSCMessage(this, oscAddress_ + "/gColor", g);
SendOSCMessage(this, oscAddress_ + "/bColor", b);
If you then follow the bread crumbs you see this:
Code:
void OSC_ControlSurface::SendOSCMessage(OSC_FeedbackProcessor* feedbackProcessor, string oscAddress, int value)
{
if(outSocket_ != nullptr && outSocket_->isOk())
{
oscpkt::Message message;
message.init(oscAddress).pushInt64(value);
packetWriter_.init().addMessage(message);
outSocket_->sendPacket(packetWriter_.packetData(), packetWriter_.packetSize());
}
}
Looks like it might be worth while changing the pushInt64 to pushInt32 and see what happens.
Can you compile and run code yet ?
If not maybe we can add a 32 bit version of void OSC_ControlSurface::SendOSCMessage(OSC_FeedbackPro cessor* feedbackProcessor, string oscAddress, int value) that sends the 32 bit version.
Real nice detective work !!