# X-Touch Extender Knobs

Hey all! Trying to get the knobs working on my x-touch extender, the incoming counter clockwise is:

1: MIDI IN [X-Touch-Ext]: B0 10 41
2: IN 0.9 MIDI B0 10 41, oo=0xB0 pp=0x10 qq=0x4

and outgoing clockwise is:

1: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 00 41
2: OUT 0.9 MIDI B0 00 41

on clockwise the incoming/midi in is:

1: MIDI IN [X-Touch-Ext]: B0 10 01
2: IN 0.9 MIDI B0 10 01, oo=0xB0 pp=0x10 qq=0x01

on clockwise the outgoing/midi out is

1: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 7F 01
2: OUT 0.9 MIDI B0 7F 01

and I have a rule of j2=j2^1
if j2==1 then pp=127
if j2==0 then pp=0

I'm on an MA2onPC, all other functions work correctly so I know it must be something within Bome.

know what I'm doing wrong?

Hi, Mackie VPOTs send the following messages

B0 1i XX

Where i is the VPOT Number 0-7

XX is the value where the value of the bits are

0xVV VVVV

So 4X will also be a negative value and 0x will also be a positive value. Consider it a \"direction\" bit.

The value VV VVVV will be a value of 0-63 0x00 to 0x3F in how far the movement is. Typically it is seldem more than 7

On top of that, GrandMA does not understand CC so you will have to convert to note with velocity and GrandMA will require absolute (not relative) movement, so each knob will need a separate global variable. I assume you will want to be moving faders with GrandMA for PC.

So first we need to get the relative value movement and add it to the last known value that is stored in a variable and then convert the CC to and outgoing note with a fixed velocity. Something like the below should work but I\'m not at a PC where I can try it now.

This would be for the first V-POT only.

incoming :B0 10 qq (Or CC MIDI CH 1 CC 16 any value set to qq)

Rules:

// Note value 0x10 in is C16 decimal

// This will determine how far we turned the knob

rr=qq&0x3F

// This will determine the direction

tt=qq&0x40

// Make the value it negative by multiplying by -1

if tt==0x40 then rr=rr*-1

// Add or subtract from last known value (ga is the global variable we use here)

ga=ga+rr

// Velocity cannot be less than 0

if ga<0 then ga=0

// Velocity cannot be more than 127

if ga>127 then ga==127

Outgoing: 90 00 qq (or Note on MIDI CH 1 note 0 value qq)

// Again each knob will need it\'s own global variable.

I hope this helps! Again, no way to test this right now because I\'m on a Chromebook right now but I\'m pretty sure I got it right.

Steve Caldwell
Bome Customer Care

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

Thanks! I think I understand it somewhat with your good notes, still processing the C16 decimal translation…So I’ve replaced the global variable with a completely different one, j2, however in order get Outgoing correct I had to keep it at 90 79 qq to get the right number VPOT (#121). My problem is still that the turning of the knobs is producing either a 0 or 127, instead of the ranges in between. As well as the value of the fader maxes out at halfway, never able to go to full.

CLOCKWISE
1: IN 0.9 MIDI B0 10 01, oo=0xB0 pp=0x10 qq=0x01
2: OUT 0.9 MIDI B0 10 01
3: IN 0.67 MIDI B0 10 01, qq=0x01
4: OUT 0.67 MIDI 90 79 01

COUNTER CLOCKWISE
1: IN 0.9 MIDI B0 10 41, oo=0xB0 pp=0x10 qq=0x41
2: OUT 0.9 MIDI B0 10 41
3: IN 0.67 MIDI B0 10 41, qq=0x41
4: OUT 0.67 MIDI 90 79 41

Hi, try the attached. I used gj instead of ga. The output was also corrected to use the right global variable instead of qq.

This one I actually tested with my X-touch MINI

Steve Caldwell
Bome Customer Care

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

Attachments:
1602026313245_V-Pot-to-Note.bmtp

Works perfectly! Thank you so much! Can I donate to you?

Hi Zane,

The support I provide here is free to customer (paid by Bome). However I am available for larger projects if the support here goes outside of the scope of free support. Just send me an email if interested.

Steve Caldwell
Bome Customer Care

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

Well thanks so much anyway, you saved me a lot of time and I appreciate it! Great support!