BOME for Midi Incremental and Decremantal

Sarrova-Q

2015-11-23 17:02:12

Hi!

I'd like to use Bome Midi Translator for making a button behave like an incremental button (and another for decremental).
So when I push a button on the Launchpad (which sends out note info) it needs to make an Ableton Live macro knob go 1 step up with each push.
Any Bome experts here that can help me out with this?

Right now, I only managed to make it do decremental in steps of 10 each time I press it but I really need the whole range of 0-127 steps. I'm not sure which Relative Mode I need to select in Live or how I need to configure the MSB and LSB inside Bome.

So to summarize:
Launchpad button A needs to make each value one step lower when pressing it (128 steps: 0-127).
Launchpad button B needs to make each value one step higher when pressing it (128 steps: 0-127).
- Later on, I will need to be able to make it send out a note value too, at the same time I press the buttons.

How do I configure Bome and Live9 for this?

Thanks!

DvlsAdvct

2015-11-23 17:14:11

Hi Sarrova-Q. There are a few things you need to do, and a big piece of it is whether you use Relative or Absolute control for your knobs. If you use Relative you need to send just send up and down messages but that can be more complicated, whereas with Absolute you would need to send individual positions.

If you utilize Absolute messages, you'd send something like

Code: Select all

Translator 1: CC Up
Incoming Message: MIDI Message
MIDI Note
Channel: [i]whatever channel your Launchpad is sending[/i]
Note:[i]whatever note[/i]
Velocity: 127
Rules:
g0=g0+10
if g0>=127 then g0=127
Outgoing Message:
CC Message
Channel: [i]whatever channel[/i]
CC Message:[i]whatever CC message[/i]
Velocity/Position: g0
And you'd do the opposite for the down message, but tie it all to the global variable g0. That way you can move the exact position up and down. Just reverse the rules to be

Code: Select all

g0=g0-10
if g0<=0 then g0=0
Does that make sense?
Jared

Sarrova-Q

2015-11-23 20:56:06

Hello Jared.

Thank you very much for the fast response.
The only thing I didn't understand was the last line: "Velocity/Position: g0" Where do I put this information?

Also, as I have a lot of controls to map, is it possible to make some kind of "Shift" button inside Bome?
It would be ideal to make one of my Launchpad buttons to act as a "Shift" toggle button so that when I push this once, shift mode is on, and all the buttons I mapped for increasing a value now act as decrease buttons. Pressing again, toggles the shift mode off and every button becomes incremental again.

I know I ask a lot, but this would make my controls very user friendly.

DvlsAdvct

2015-11-23 21:25:53

In the Outgoing Message, there should be a drop-down for Velocity. Under that there should be a check box that says something like "Use Variable" and that's where you put g0. I am at work and don't have access to MT Pro here, but that's how it works from memory, at least.

If you want to have one button control up AND down, then yes, you can do that. Keep in mind that each virtual knob in Ableton will need its own global variable. I'd recommend glancing through the manual for a brief description of global and local variables. To add a shift button, though, you need to assign the shift value a global variable as well. We'll use g1 for it, and keep with g0 for the virtual knob as below.

Code: Select all

Translator 1: Up / Down Shift
Incoming: MIDI Message
Note On
[i]whatever Channel[/i]
[i]Whatever Note[/i]
Velocity: 127
Rules: g1=g1+1
if g1>1 then g1=0
Outgoing Message: None

MIDI Note
Channel: [i]whatever channel your Launchpad is sending[/i]
Note:[i]whatever note[/i]
Velocity: 127
Rules:
if g1==0 then Goto "Up"
if g1!=0 then Goto "Down"
Label "Up"
g0=g0+10
if g0>=127 then g0=127
Exit rules, execute outgoing action
Label "Down"
g0=g0-10
if g0<=0 then g0=0
Exit rules, execute outgoing action
Outgoing Message:
CC Message
Channel: [i]whatever channel[/i]
CC Message:[i]whatever CC message[/i]
Velocity/Position: g0
Does that make sense? You set the shift value with the first button as a toggle, and then the second command triggers differently based on how many times the shift button has been pressed. It's just a simple cycle.

Thanks
J

Sarrova-Q

2015-11-23 21:58:24

Ah I see, great. The shift function is clear to me.
However with the g0 at the right place, Ableton still doesn't do what it's supposed to do.

I mapped the button to a knob (in Live's absolute mode) but when I push it the value jumps straight to 127.
I'm quite sure I implemented all the things mentioned (without any shift function at the moment, to make the problem solving more easy). Any ideas why this happens? Take your time, it's not that urgent ;)

Thanks!

DvlsAdvct

2015-11-23 22:03:09

If you pop open the Log Window, click Dump Global Variables. What's the value of g0?

Sarrova-Q

2015-11-24 11:27:44

It says: g0 = 127
Maybe it's a problem on Ableton's side?

This it what the log window tells me:
1: MIDI IN [Launchpad]: 90 71 7F
2: IN 0.0 Note On on channel 1 with note:113 (0x71) and any velocity=127 (0x7F)
3: RULE 0.0:1 expression: (g0=g0+10) = 137
4: RULE 0.0:2 condition satisfied: if g0>=127 then g0=127
5: RULE 0.0:2 assignment: (if g0>=127 then g0=127) = 127
6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 3C 7F
7: OUT 0.0 Control Change on channel 1 with CC#:60 (0x3C) and value:g0=127 (0x7F)
8: MIDI IN [Launchpad]: 90 71 00
9:
10: List of all global variables:
11: g0=127
12:

DvlsAdvct

2015-11-24 17:15:47

The knob is already at full. If you've built the shift toggle command as well, toggle it to go down and see if that works.

Sarrova-Q

2015-11-24 19:09:55

I've got it working! Thanks!