Jump to content

Using controller knob to change Modes? [SOLVED]


Recommended Posts

Hey all,


I'm using a M-Audio KeyRig25 controller to control logic. I'm trying to use a knob to switch between the various Modes in my Controller Assignments. I would like to use a single knob on my KeyRig to rotate forward and backwards through the Modes. (Rotating left cycles backwards through the Modes, and rotating right cycles forwards through the Modes).


According to the manual, I think I should be able to achieve this using the Relative option:


Mode Change:

Choosing the Mode Change class lets you use an assignment to switch from one mode to another. An additional Mode pop-up menu appears below the Class menu, allowing you to choose between available modes. For example: The assignment buttons on a Mackie Control can be used to choose different modes for the encoders.


Note: The mode chosen in the Mode menu is only activated when the Value section: Mode menu is set to Direct. If any of the other Value section: Mode menu options is chosen, the following applies:


Toggle: The assignment toggles between the zone’s first mode and the chosen

mode. The mode change assignment must be located in the same zone.


Relative: Useful for stepping up and down through modes in a zone—using two buttons—or for choosing a mode with an encoder. The minimum destination parameter represents this zone’s first mode, and the maximum represents the zone’s last mode. The mode change assignment must be located in the same zone.


Rotate: Useful for stepping through all modes with a single button. A jog wheel, for example: Off → Scrub → Shuttle → Off. The minimum destination parameter represents this zone’s first mode, and the maximum represents the zone’s last mode. The mode change assignment must be located in the same zone.


However, when I set it up this way, it will only cycle backwards through the Modes, regardless if I'm turning the knob left or right. I played around with the min/max that my controller can send (e.g., limit the range of the knob from 0-7), and I also played around with the min/max values in the controller assignment window, but no luck.


Any ideas on how to get this to work?

Edited by razzzzz
Link to comment
Share on other sites

A quick note:


The reason I want to use a knob to change the modes: The KeyRig 25 has a single display with a number readout. As I turn the knob left/right, the display updates to show the current value of the knobs position. For example, when the knob is all the way left the display reads 0, and when the knob is all the way right the display reads 127.


Ideally, I would like to limit the range of the knob to match the number of modes I have programmed (e.g., If I have 8 modes, I would limit the range that the knob can send to 1-8), such that the number displayed on my controller matches the corresponding mode in logic.


I've successfully programmed the range in my controller (so it only sends between 1-8), but I can't seem to get Logic to rotate back/forth within this range, as mentioned in my post above.

Link to comment
Share on other sites

Maybe it is worth a shot then to assign the each modes to that specific value instead? Now you are relying on however this is coded in Logic, and it probably uses algo's that somehow relate to the number of modes, or, simpler put, what if the "last" mode, whether that is nr 2 or nr 67, can only be "reached" by value 127?

So I would try to assign 'm directly: value 1 = mode 1, value 2 = mode 2 etc.

Link to comment
Share on other sites

Thanks for the reply Erik!


I'm not sure I can assign a specific value range when using Direct mode. I created a separate parameter for each mode, but when I try to use the Direct setting, Logic grays out the value ranges so I can't set them.


Check out the image below. Not sure if this is what you were suggesting I try or if I've misinterpreted it.


Link to comment
Share on other sites

No, I meant the MIDI value - now it still says B0 49 Lo7 instead of B0 49 00...

What I meant was to use 1 specific value for each transport mode , so mode 1 = B0 49 00, mode 2 is B0 49 01, mode 3 is B0 49 02 etc.

but I'm not sure it would work that way...

Another option may be the multiply parameter - have you tried setting that to ± 0,07 (to get a range 1-8 from 0-127)...?


O, and maybe try this first: add Hi7 to the message, to make it change forwards as well...? B0 49 Lo7 Hi7

Link to comment
Share on other sites

Finally got it working!


I tried all of the methods you suggested, and at first, none of them seemed to work. But I kept coming back to your first idea of changing the midi values in the Input Message section of the Controller Assignments window. I kept thinking that SHOULD be working.


I ended up trying it several times, restarting logic in between each try, jumping over a few hurdles along the way, and finally it ended up sticking. Strange. I think MUST have done something wrong the first few tries.


Anyway, it works now (THANKS ERIK!), and here are the steps I followed, just in case anybody with a similar issue comes across this thread:


1) I adjusted the MIDI send range for my knob on my M-Audio KeyRig 24, such that it only sends values of 1-8. You have to do this on the controller itself. If you have a different controller, consult your user manual on how to do this.


2) I opened the controller assignments window and created 8 different Mode Change class entries, one for each mode I have. All 8 of the entries are assigned to the same knob, and set the Value mode to Direct.


3) I manually edited the Value Change field of each entry (found in the Input Message section of the window). Since my particular knob sends the message B0 49 Lo7, I edited the values to be B0 49 01 for the first mode, all the way up to B0 49 08 for the last mode.


4) Turn the knob left/right, and as it scrolls up and down between 1 and 8, the modes change accordingly.


Typed it kind of fast, so if any of you have any issues, hit me up and i can try to explain it in more detail.

Link to comment
Share on other sites

  • 8 years later...

MacBook Pro 2018

Logic pro 10.5


Each time I create a zone, it is as if it sees the mode as a global mode, and mode change isn’t confirmed.


I have attempted setting this up myself but I have had some testing issues.


“The simultaneous use of modal and modeless assignments allows you to do things such as: …” The bullet points are understood but no examples of how to action this?

All the other requests for this topic seems to have an issue and when resolved, the fixes aren’ straight forward.


The values to change the mode selection, are not changing, when rotating the first configured knob

My faders only move by moving the knobs, when the mode value is set to “Scaled”


“For messages containing neither Lo7 nor Hi7 placeholders, Logic Pro assumes an incoming value of 1. This is typical for pressed or released buttons. Also see Multiply field in Controller assignments Expert view Value parameters in Logic Pro.”

Does this mean that it sees the value as one not allowing me to use this as a mode switch knob?


I understand that this is an advanced topic, but this would help a lot if users from saving all assignments in the no zone column.


Thanks in advance

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...