Closed x37v closed 4 years ago
hey ! before everything, super nice idea to do a Rust binding. I'd be interested to get a proper one going at some point that would directly call the C++ API, as going through the C API needs to do some more memory allocations. Do you know how easy it is to call directly into C++ from Rust ? I know that D can do that for instance. Otherwise, it would likely be possible to get a Rust OSCQuery library going.
Regarding this point, this was actually discussed here : https://github.com/Vidvox/OSCQueryProposal/issues/35 - when there is no array the argument applies to all parameters (else it would be super wasteful to have an array with a couple hundred elements all clipped)
@pchdev you've been doing some Rust (right?) so including you there :p
Regarding this point, this was actually discussed here : Vidvox/OSCQueryProposal#35 - when there is no array the argument applies to all parameters (else it would be super wasteful to have an array with a couple hundred elements all clipped)
Ahh, okay, I see If all of the elements of one of these optional attribute share the same value, it's acceptable to only list a single value (which clients will assume corresponds to all of the elements) for the sake of brevity.
Cool.
I think that libossia doesn't conform to the OSCQuery protocol exactly for its json output, namely,
VALUE
andCLIPMODE
values should be arrays.If you look in the examples here: https://github.com/Vidvox/OSCQueryProposal#oscquery-examples
you'll see that nodes with only one value still respond with an array of
"VALUE": [ 0.5 ]
a simple ossia program, using automatic rust bindings: ossia-sys
produces curl http://192.168.11.119:5678
note that the
VALUE
for/foo
is not in an array and theCLIPMODE
for both/foo
and/bar
aren't either