OSC'elot an OSC mapping module

Awesome, you probably don’t need the Knobs in your patch anymore, but depends on what you’re trying to do. You can press “Shift+D” and click on another module to map that module without clearing the OSC assignments. The controller will update with the new values, once you save the mappings you can switch between modules using the prev and next buttons (Which you can also do from OSC)

I use the knobs to generate CV’s - uni / bi polar and mixers… all kinds of good stuff. It so great that your OSC’ilot is bidirectional, Now i can turn the knobs in vcv or on the OSC controller. With my previous method, the OSC controller locked the vcv object.

1 Like

Tutorial, make BCF2000 in Open Stage Control

2 Likes

Excellent, also looks like he’s going to do a whole series

The latest build has an expander that has trig/cv outs. Should be in the library shortly.

2 Likes

FYI. Here’s the answer I got from Hexler regarding TouchOSC and the use of “index” in OSC messages.


Hexler support Q&A

Question:

I’m trying to make a template for a new VCVRack module: oscelot/docs/Oscelot.md at master · The-Modular-Mind/oscelot · GitHub

It expects the format


Faders
OSC Messages must have an address ending with /fader
It must have two arguments, Id (Integer) and Value(Float between 0-1)
/fader, args: (1, 0.5573)

Encoders
OSC Messages must have an address ending with /encoder
It must have two arguments, Id (Integer) and Delta Value(multiples of -1.0
or +1.0)
Encoders have default sensitivity set to 649
/encoder, args: (1, -1.0)

Buttons
OSC Messages must have an address ending with /button It must have two arguments, Id (Integer) and Value(0.0 or 1.0) /button, args: (1, 1.0)

I find it impossible to see/control the “index” in the editor - used as argument in OSC.

If I make 10 sliders with name “fader” - they will have index 1 to 10 - if I delete 5-10 and make 5 new sliders, they will have index 11-15

I have to be able to set an unique index for each control. Possibly even be able to automatically re-index controls, from top left to bottom right.


Answer from support@hexler.net:

Index uses the objects index number as a value; it sounds like you want to be using Float or Integer depending on the specific message. More information on using different data types for arguments can be found here: Editor · Messages · OSC · TouchOSC | hexler.net

See the attached image for an example based on the Faders section mentioned in your email:

unnamed

The Address is set to a constant of /fader . The first argument is a Constant set to 1 (assuming the ID of this fader would be 1). The second argument is a value set to x (which uses the fader’s value of x). This is a float scaled from 0-1, so when the fader is moved it will send a decimal value between 0 and 1.

Hopefully this clarifies some information - Index is generally used if you need to say have a slew of faders that just increase by a single CC number (so the first fader uses its index as the CC, which would be 1, the second fader would be 2, etc). When making custom messages you generally want to specifically designate some parameters, as in this case, so just make sure to read that documentation link above on the different data types you can use to assign in messages.

As a reference, the online documentation for TouchOSC can be found here: Introduction · TouchOSC | hexler.net

Hopefully this helps! Please let us know if you have any other questions or need clarification on any of the details mentioned here. We apologize for any inconvenience this has caused you, and thank you for your use and support of TouchOSC!

Great this should help other TouchOSC users too.

first let me say, that this module is very very nice - especially combined with open stage controller

sadly i’m still struggling a bit how to configure everything properly on open stage controller side i think: i have created two faders there and set address to “/fader” for both and preargs to “[1]” for the first and to “[2]” for the second, but i guess this is not correct as both seem to arrive as the same fader in oscelot - can you please give an example of how the settings should be in open stage control in such a case?

a lot of thanks in advance and best wishes - hexdump

Thanks for the kind words, have you tried the OpenStage controller I bundled with the module. You can find it in the presets folder. In your config the value should be a float between 0-1. For the osc arg types you should put ‘if’ (integer and float) for id and value

thanks for this hint - i did not know about this example open stage controller session - with that one it works :slight_smile: … will have to study it a bit, but i guess it was the missing “if” in my case.

btw. i’m maintaining a build of vcvrack for 32bit and 64bit arm systems and for the 64bit arm systems i had to add this patch to oscelot to make it not crash with an assert: oscelot: aarch64 is 64bit too ... · hexdump0815/vcvrack-dockerbuild-v1@140f6ac · GitHub - maybe you like to add it to the upstream code even if by default aarch64 is not really supported in vcvrack?

a lot of thanks once more and best wishes - hexdump

update: i just checked and using “[1]” and “[2]” for preArgs and “if” for typeArgs for both faders it now also works with my little test example - maybe it would be good to add a little info about those settings to the oscelot doc as well?

1 Like

Hi Hexdump, good to know it works for you, I have included the types required for the arguments in the doc here: oscelot/Oscelot.md at master · The-Modular-Mind/oscelot · GitHub

Faders
OSC Messages must have an address ending with /fader
It must have two arguments, Id (Integer) and Value(Float between 0-1)
/fader, args: (1, 0.5573)

Encoders
OSC Messages must have an address ending with /encoder
It must have two arguments, Id (Integer) and Delta Value(multiples of -1.0 or +1.0)
Encoders have default sensitivity set to 649
/encoder, args: (1, -1.0)

Buttons
OSC Messages must have an address ending with /button
It must have two arguments, Id (Integer) and Value(0.0 or 1.0)
/button, args: (1, 1.0)

I didn’t put Open Stage specific instructions since people could use any OSC software.

Thought this might be useful, a midi template and Iverson preset using Open stage: vcvMidi.json (4.7 KB) iversonOSCelot.vcvm (23.8 KB)

I use loopmidi to setup two ports, in/out and point it to that.

Thank you for sharing. It works loads, but I don’t know how to stop the flickering.

1 Like

I suspect I’m not handling the midi feedback correctly in open stage, I didn’t work on it too much though, so could be an easy fix. Iverson feedback works perfectly with my controller buttons.

There’s this one too, by the author of OpenStageControl- perhaps it has some tricks.

It’s not by the author but it made me realize, it’s probably because I’m using a matrix to clone the buttons, I saw something about issues in the forum. So if you replace it with just buttons the flicker should be gone. Gimme a bit and I’ll update it.

Correction, It was heavily modified by him

I think he’s just referring to updates to open stage v1.03

Nah, Original thread is here

ah very cool