Store, update, and manage MIDI rotary encoders for menus, pages, groups

1.0.11

#1

I'v read through the forums for examples of this, and I've seen excellent examples like @technobear with his push project, but I would like to know who has experience with using an off the shelf LED-ring-equipped rotary encoder MIDI controller to implement "menus" or "groups" or "pages" of controls... The idea has been expressed several times but different people want different things...

I used to do this all the time with MAXmsp and bcr-2000.
I could save values in col objects or tables, or just save the values in lists which I would "bang" out again when the corresponding page button was pressed. What are the best practices for doing this type of thing in the Axoloti platform?

How do we implement this kind of distribution of controllers and variables in axoloti? Could the subpatch presets do the trick? Are tables the way to go? Should I write a script?

Can someone point me to a good resource, or otherwise point me in the right direction? In particular, I'm interested in doing this with a midi controller, like the bcr2000, that has midi-updatable LED rings that give feedback... or the X-touch Mini, which I now have in my possession.

All suggestions welcome!
thanks.


#2

I use tables for storing/recalling preset data. That is the best way I have come across so far :slight_smile:


#3

@jaffasplaffa Hi Jaffa, thanks for your response. I have not been able to get it working with tables (or anything else). How do you implement it? Do you have an example?

I can update my encoders manually, but when I try to get them to be recalled from a table they just don't react...


#4

Uh, it's been a while since I tried it. To be honest I dont do it very often, cause when I need it, its usually for a complicated patch. And when the patch is complicated, there is usually very little resources left to implement the preset stuff.

I am going out for a birthday now and might not be back before tomorrow.

I have to add that the midi controller I used was a Launchpad mini which has only buttons. I don't have any midi controllers with display or the LED ring like the Behringer one has.

Which kind of table are you using? You should probably be using the 32 bit table for dials.


#5

Like Jaffa, I thinkTables are the way to go. The only feedback I send is for buttons, not dial leds, but the concept is the same. I do however store all my midi controls in tables for presets, etc.

There's a lot of very useful objects in the rbrt folder in the contributer library. And as usual there's more than 1 way of patching it. I'm not in front of the patcher but a basic way would be- use a table store or write object to write data (look in rbrt/midi) and then use a table read object to read that data, and wire it into a midi/out object, trigger the midi/out object to send it.

Maybe post a screenshot of how you tried to do it?


#6


here is a screenshot of what i'm trying with tables...
Note number should be shifting the index of the table, which captures 16 positions for the dial, to be recalled whn I repress the corresponding note.

Doesn't work.


#7


I goit it working! I guess I had misunderstood the "fractional" input value for the offset. With the size 16 table, I had to add bit of math so that my notes were converted to increase in steps of 4.

Thanks for pointing me in the right direction!
k.


#8

Glad you got it sorted, was just about to write to say it was probably something to do with that. Look at the 'step write', 'step set' , 'step toggle' and 'Step read' objects too, for writing/reading from tables - they use integers for the offsets which can save some maths sometimes