incremental controller?

Jonatan Ewald's icon

Is there anyone who knows a good way to realize an incremental controller?
Basically what I want is a knob and every time I turn it one tick clockwise I get some sort of tick or signal that it has moved one step clockwise and if I move it counter-clockwise I get another signal for that.
For example if I would get one note-on message for clockwise movement and another note-on message for counter clockwise movement.
How does endless MIDI rotary encoders work?
Do they just count up to 127 and then continue to 0 and start counting up again?
In that case I could maybe make it work with something like that.
Basically what I want to do is to start a program (MAX Patch), but I don't know the positions of the physical knobs, so when someone turns a knob I just want the value to change from where it is, not jump to the MIDI value of the knob.
Anyone knows a good example both of a patch for this and also suitable physical controllers?

Iain Duncan's icon

So the issue you're going to hit is that at a hardware level a rotary encoder and a potentiometer are different. The pot has a limit at the bottom and the top and the rotary doesn't. You can't really make a pot behave like a rotary unless it is sends messages after you get to the limit, but a true pot doesn't. The max coding is not that hard, you can use the 'change' object, or a counter with and inc and dec message, and so on. But I'd check out what you get from your hardware first with a midi monitor to see whether it will be possible.

Roman Thilenius's icon

How does endless MIDI rotary encoders work? Do they just count up to 127 and then continue to 0 and start counting up again?

in fact it doesnt matter much what they do - it is not too complicated to interpret steps up as + 1 and steps down as - 1

as long as the physical controller is endless in a way, you can translate its output to + and - later in max.

Roman Thilenius's icon
Iain Duncan's icon

One trick you can use to fake it with non-endless ones is to use a button to disengage it, so if you bang it to the top, you turn off the input, move it, return on the input.

Jonatan Ewald's icon

I want to build a small custom MIDI interface for a test setup.
Are there any kits that support endless encoders?
I have heard that some controllers can be set to just output the delta rotation as a message instead of an absolute value. Anyone know if there are some customizable controller available that can do this?