Trigger action when two MIDI keys pressed together only

perfect I did it!
is it possible to match a preset only when i press two midi keys together? (for example, preset 1 starts only when I press key 1 + key 2)

Hi, since this is a different topic, I moved it to another thread.

See the attached example. I’m using a single global variable “ga” to determine the button state for all buttons.

I use bit 0 for the state of button 1, bit 1 for the state of button 2 and bit 3 to determine the state of button 3. Button note numbers are 0, 1 and 2

In the rules for pressing a given button we set the bit to 1. When releasing a button we reset the bit to 0. Button 1 (note 0) only sets or resets the bit state ; 1 when pressed and 0 when released. Buttons 2 and three set the button states as button 1 but also evaluate the states of all buttons before determining if the outgoing action (preset select) is triggered.

  • If you press and hold button 1 (bit 0) and then press button 2 (bit 1), the value is 3 and “Preset 1” is selected.
  • If you press and hold button 1 and then press button 3 (bit 2) , the value is 5 and “Preset 2” is selected.

bit 0 - value 1 when pressed
bit 1 - value 2 when pressed
bit 2 - value 4 when pressed

bit 0 + bit 1 on = 3
bit 0 + bit 2 on = 5

If you press any button individually no, outgoing actions, occur but the value of ga is updates accordingly by the rules.

Preset-Select-2-buttons-2021-10-21.bmtp (2.7 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks for the reply. i’m trying this preset but i can’t get it to work. I tried both to insert the keys related to the notes of the arturia midi control, after I tried with the capture midi but nothing. I am attaching the last test with the capture, where am I wrong?

Preset-Select-2.1-buttons-2021-10-21.bmtp (1.9 KB)

Yes, it is probably best to program your Beatstep with Note messages instead of aftertouch messages. This can easily be done with the Arturia MIDI Control Center application.

image

Also it looks like you are using Raw Capture. If you click the gear icon to the right of capture midi, you can turn this off and it will capture the user friendly version of the message. Just click on Raw capture so that the check mark is on.

image

It looks like you are capturing the same message for key up and key down. The release key message (key up) needs to be different for a given button than the press key message (key down)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

I’m pretty confused :slight_smile:

the only thing I can do is to switch to preset 1 (while I’m on preset 2) by pressing key1 Shift and key 3 up but I don’t know how to switch to preset 2 … if you want to add other presets then the values ​​change totally? I try to attach the new file

Preset2-buttons1.bmtp (2.8 KB)

Hi, you need to change the messages to note messages using Arturia MIDI Control Center as previously indicated.

Having channel pressure is going to be unreliable unless you can predict exactly how hard you hold a button down which will be next to impossible.

The key down and key for each key should be the same note with a down as note-on and up as note-off.

Key 1, Key2 and Key3 need to generate different note message.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

ok I did it by setting the keys like this, putting as soon as I press and down when I release!

now how can i add preset 3 to key 3, preset 4 to key 4 etc?

thank you so much for your support! :pray: :pray: :pray: :pray:

I assume now when you press 1 and 2 you get preset 1 and when you press 1 and 3 you get preset 2?

You can duplication Key 3 Down and Key 3 Up and then modify the rules (after changing the name) as follows)

Key 4 Down
You would change
pp=1<<2

to
pp=1 <<3
and then

if ga!=5 then …
to
if ga!=9 then …

In Key 4 up you would change

pp=1<<2

to

pp=-1<<3

So key 2 value checking value is 3
Key 3 checking value is 5
Key 4 checking value is 9
Key 5 checking value is 17
key 6 checking value is 33
key 7 checking value is 65
key 8 checking value is 129

Basically we are checking the binary value of each bit and adding 1 (the first key

Bit 0 = 1
Bit 1 = 2 → Add one to get 3
Bit 3 = 4 → Add one to get 5
Bit 4 = 8 → Add one to get 9
Bit 5= 16 -: Add 1 to get 17
Bit 6 = 32 → Add 1 to get 33
Bit 7 = 64 → Add 1 to get 65
Bit 8 = 128 -Add 1 to get 129

As you can see, each bit value is 2x the previous bit value.
… etc

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

yes now I can make everything work perfectly! thanks for support