How to program a SHIFT funtion?

endlos

2012-11-19 21:24:21

Hi there!
I'm new here and I have used the Search, but couldn't find the answer to my problem. So if this was discussed before, please don't get angry but rather direct me to the questionable post, thx.

I don't think my problem is to hard to solve, but somehow it doesn't work yet. So what I basically wanna do is to program one note on/off key to act as a SHIFT button. So that while it is pressed, all other midi controls (both buttons and cc) will switch to a different midi channel. This way I could use all controller for two different things, like having two scenes/layers/banks, or whatever you want to call this.

What I have learnt so far is that I have to uise global variables. So I have my SHIFT key in spe 9F 11 yy with outgoing message to BMT virtual out 1. And on my first fader I have tried this: BF oo pp with both hardware and virtual port enabled, outgoin message BF oo pp on BMT virtual2, and a rule that says
if yy==0 then exit rules, execute Outgoing Action
if yy!=0 then oo=oo-1

In my mind it works greatly, but well... obviously it doesn't.
What's wrong? Any help greatly appreciated!!! Thanks a lot.

DvlsAdvct

2012-11-20 00:25:35

Hi endlos

A shift code is much simpler than that. All you need to do is select the button you want to be a Shift command and program it as such:

Code: Select all

Translator 1: Shift
Incoming Message: 9F 11 pp
rules:
if pp==127 then Goto "Down"
if pp==0 then Goto "Up"
Label "Down"
g0=1
Exit rules, execute outgoing action
Label "Up"
g0=0
Exit rules, execute outgoing action
Outgoing Action: None
In all of the translators that will have a different command when Shift is pressed put

Code: Select all

if g0!=0 then exit rules, skip outgoing action
This tells MT that when Shift is NOT pressed the translator works as normal. When shift IS pressed then the translator will not send a signal.

Now in all of your translators that you want to react differently when Shift is pressed just put in the rules

Code: Select all

if g0!=1 then exit rules, skip outgoing action
Make sense?

You can also do this with presets, if you'd prefer.

endlos

2012-11-20 01:47:20

Ah great, thanks a lot! It makes sense and...works!

At least if I set up a 2nd translator for the SHIFT button with the same rules, since the note-off message has a different header (8F 11 00 instead of 9F 11 00). That's why it doesn't work when you're only checking the values, because the note-on only exists as 9F 11 7F.
Anyway, now it works.

But simply changing between two presets seems to be a good idea as well. A bit clearer and more straightforward perhaps. Will check it out. Thanks!