Big fan of the osc-ruby library for Ruby. Works quite well.

Recently, while working on some Renoise OSC tools, there was a need for passing true or false as OSC message arguments. osc-ruby did not support these (they are not part of the OSC 1.0 spec, but are listed among common additional tag types.)

Some applications use 1 and 0 in place of T and F; Renoise seems to accept either for the OSC handlers that are dcumented as expecting a boolean. But it feels clunky and using that in Lua tools gives a hacky feeling.

Turns out, the OSC encoding of T and F is about as trivial as it gets: There is nothing to encode. The spec says that to pass T or F your code should pass the tag type (“T” or “F”) but include no data bytes; it’s not needed.

Adding this to a local copy of osc-ruby was trivial. Once done it sort of made sense to make this available, so the repo was forked and the changes can be found at the Neurogami/osc-ruby-ng repo.