I have a Novation Launchkey 37 MK3 and would like to change its display text with MTP 1.90.
According to the manual of Launchkey, I can change the text this way:
F0002029020F04[ […]]F7
Example:
Incoming trigger: F1 (hotkey)
Rules: none
Outgoing action: Send MIDI SysEx: F0002029020F0400506572666F726D616E636520303031F7
This result is this display text: Performance 001
(Works perfectly!)
Now I tried to add this rule:
pp = 31
and change the final output to:
Outgoing action: Send MIDI SysEx: F0002029020F0400506572666F726D616E6365203030ppF7
The final display text is: Performance 00
How can I use variables to change the last digit?
My aim is to press a button on the Launchkey which changes performances and updates the text.
Something like:
F3 hotkey increases performance by 1, F2 hotkey decreases it by 1.
Hi, to change the last digit it would be 0x30 through 0x39 which is decimal 48-57.
You have 30 digits here
0 0 0
which is 0x30 0x30 0x30
The attached should give you and idea how it works.
I take the incoming value of a CC value and break it up into 1’s 10’s and 100s, then I add 0x30 to each to get the ASCII value 0-9 for each into each variable. The variables are combined into the outgoing text. Since the word "Performance " does not change I just leave that alone.
You could do something similar with a PC value of 0-127.
The rules look like this:
// variable qq is 0-127
// get 1’s into rr
rr=qq%10
// add 0x30 (decimal 48)
rr=rr+48
// get tens into tt
tt=qq/10
tt=tt%10
// add 0x30 (decimal 48)
tt=tt+48
// get 100’s into uu
uu=qq/100
// add 0x30 (decimal 48)
uu=uu+48
I think there is a small missunderstand:
It’s not a knob or a fader, it is a button which only sends 127 (pressed) or 0 (released).
For this reason I need to increase the value of a variable depending on how many times the button was pressed.
I press it now: value = 1
I press it again (maybe 5 minutes later): value = 2
etc.
There is also another button (previous) which does the exact opposite, but once the “next button” works, I can easily do the same for the other button.
Sure, this is easily done by manipulating global variable ga with buttons and then triggering a timer with the same rules as described before to update the display.
Here I have note 0 incrementing and note 1 decrementing ga and then triggering a timer (modified version of the original posting) to send the update to the display.
The idea with the timer is great too, because I can use it for both buttons which saves a lot of lines.
I also used a translator with the incoming timer with the ga value to colorize the pads.
So whenever I press Down/Up, it changes both the performance nr and the colors of the pads.