Basically, I already spoke with joreg about something, where I failed big time since I wasn’t even using the right .pas file (instead of vvvv I used some other OSC.pas file, but nevermind that…)
Anyway, I managed to get it working with IdUDPClient and send OSC messages to my console (I want to send and receive messages with my Behringer X32 digital audio desk), however, I do have some issues. I need to send float via osc, in a range from 0 to 1. It seems like from 0,0625 to 0,124, and then again from 0,25 to 0,49, and then again with pure 1, it doesn’t work correctly. My desk’s fader is getting stuck on some value in between those ranges of float sent, while when sending other ranges (0,125 to 0,249 and 0,5 to 0,99) the fader responds correctly.
A friend, who wrote Android app to control this exact same desk, suggested this:
“It seems like your byte alignment for the float values might be off. Try switching them (byte 0 to 3, 1 to 2, 2 to 1, 3 to 0).
This might solve the issue.”
I’ve been messing around with the function “MakeOSCFloat” in your OSCUtils.pas, tried to swap some things but always got even worst behaviour.
Can you please tell me, what could be the reason for such fader behaviour, and if this byte reverse might solve it, how and where should I reverse that?
Also, my next problem is, that I can’t seem to get/unpack messages that the desk should send me back.
I putted up the IdUDPServer, tried to do it by example from axxel above, but as you, Mr. Joreg said, Indy10 (which I have) hands back the array of byte. I understood that this should be the good thing, since you wrote: ^quote:joreg:
vvvv is using indy10 where the IdUDPServerUDPRead callback hands us over a byte-array that can then directly be used with the oscutils functions.
I just don’t really understand and find the way on HOW.
Also, I have no idea what is the code you posted below your comment, and what’s with that 82nd line? I’m really lost here…
I’d be more than glad to hear back from you with some help. Thanks!