Using encoder presses to change encoder functions. | Intech Studio
💬 general General

Using encoder presses to change encoder functions.

Adam Bier
Adam Bier · · 11 replies

(moved over from general channel) With the EF44, is it possible to configure the encoders such that when you press them (as buttons), they cause the encoders (as encoders) to cycle through three different CCs? The idea is to allow each encoder to quickly switch between adjusting the pan, Send A gain, and Send B gain for a given channel on my Expert Sleepers Disting NT running as a mixer. It seems like this is possible with LUA but mastering that seems overwhelming.

Replies (11)

kkerti kkerti ·

Do you need value pickup / memory for each state while the module is plugged in?

Adam Bier Adam Bier ·

I’m not sure—what does that mean?

kkerti kkerti ·

Encoders are absolute by default and with outboard gear it's often good that they are absolute: relative +1/-1 input from encoders is usually not processed correctly in those situations

kkerti kkerti ·

But if we just switch the CC of the encoder, then their value will still remain the same

kkerti kkerti ·

And value jumps can occur

kkerti kkerti ·

To avoid that, it's a bit more complication to add previous value recall to the encoders

kkerti kkerti ·

For a start, if value jumps is not a concern, then you can change the button to have 3-steps. The button will have 0, 63 or 126 as it's value.

image.png
kkerti kkerti ·

Then on the encoder event, you can add an if block with an else if and else branch. In those branches, check the button value by calling self:button_value() and add self variable action blocks which will hold the cc value on your encoder.

Then you consume this cc as self.cc in the midi action block.

image.png
Adam Bier Adam Bier ·

Oh that's super helpful, thanks! I think the Disting NT actually handles relative CCs, so the approach you described would be just fine. If I needed to send absolute values and I wanted the previous value to be recalled when switching between the three modes, I gather I would use some variables for that somehow?

kkerti kkerti ·

Yes, preferably a table which can hold multiple values, or variable like self.cc1, self.cc2 and so on

Nesso Nesso ·

Hi @user could you share a snippet that handles also value recall?

Discord

View on Discord

This post is from the Intech Studio Discord community.

Open thread →