Two midi message with different value under one control

3 posts / 0 new
Last post
GVE
GVE's picture
Two midi message with different value under one control

Dear, 

I woul like to program two midi cc with opposite values 

for ex finetune osc1 and finetune osc2 on a rotary controller 

But i want that the value for osc1 goes from 127...0 and for osc2 from 0..127

So that when i turn the know upwards i get value 1 and 126, 2 and 125, 3 and 124

 

Can this be accomplished in the b-control soft?

 

And if yes , how? :-)

 

I tried with special output , but i don't seem to be able to do the trick with the values 

 

Warm regards

Mark van den Berg
Mark van den Berg's picture

In BC Manager's encoder dialog box:

"General" tab:

  • Show value = On (although the values displayed will be somewhat confusing...)
  • Default = On
  • Default -> Value = any multiple of 127 in the range from 127 to 16256
  • Resolutions -> Slowest = 12192 (optionally plus Slow = 24384)
  • LEDs = (for instance) 1 dot

"Standard output" tab:

  • Type = None

"Custom output" tab:

  • Output = $B<Channel> <Controller A> val0.6 $B<Channel> <Controlller B> val7.13
    So for instance "$B0 $01 val0.6 $B0 $02 val7.13".
    (For clarity you could put the two Control Change messages on separate lines, but this isn't required as long as no SysEx messages (F0 ... F7) are involved.)
  • Value 1 = 127 (binary notation: 00000001111111)
  • Value 2 = 16256 (binary notation: 11111110000000)

Why this works:
An encoder traverses 96 physical "sections" per turn, so by setting Resolutions (= increment of a full turn) to 12192 (127 x 96), we ensure that the unit of increment is 127 (binary: 1111111).
Each such increment causes the lower 7 bits of the encoder's value to decrease by 1 and the upper 7 bits to increase by 1, so by outputting these two segments of the value separately (by val0.6 and val7.13) we make one MIDI controller go up and the other go down.

If you prefer, you can enter these encoder definitions in BC Manager's BCL editor.
For instance:
$encoder 1
  .showvalue on
  .mode 1dot
  .resolution 12192
  .default 127
  .minmax 127 16256
  .tx $B0 $01 val0.6 $B0 $02 val7.13

A handy way to verify that things work as intended is to monitor the encoder's output in BC Manager's "MIDI controllers" window, which can be opened from the main window's View (-> MIDI) pull-down menu. Press Record, then move the encoder: the two controllers should move in opposite directions.

Mark.

GVE
GVE's picture

Wow , you are a genious :-)

It really works .. thnx so much for helping me out 

Warm regards