BCF 2000 feedback from GMA2 to move faders

HI guys!!!!!!!!!

I'm all ready up and running moving software's faders via BCF2000-Bomes Midi out to Grand ma2, what I'm trying to do now is , sending the RAW midi data that I get from GMA2 , back to the BCF2000 via bomes Midi in port , can you explain me a little better how I'm suppose to route the data from GMA2 to bomes to the BCF2000 , thanks!!!!!!!!!!!!!!

Well off the top of my head, I’m not sure what MIDI messages the BCF2000 uses to move them. In general it could either be a CC message or a pitch bend message. It is usually the same MIDI message that the fader actually generates that also moves it from remote host.

Also, do you have an example of a message from GrandMA2 that you want to use to move the fader.

In general you would set up a new preset and within the preset define the input as the Virtual Port you are using to send messages from GMA2. The you set the output as your BCF2000. This will ensure any translators under that preset default from GMA2 to BCF2000.

Then you look at the message coming from GMA2. Say it is a CC4 on Channel 1. You would then define the incoming message as raw MIDI

B0 04 qq

In the above qq would be the incoming value that you would convert to an outgoing message. The “B” in B0 is a control message, the “0” in B0 is channel 1 the 04 is CC4

Say you want the outgoing message to be CC2 on channel 2 the same incoming value output would be

B1 02 qq


Again that is just an example. You need to look and see what incoming message will be coming from GMA2 (you could turn on MIDI logging and check MIDI IN) and then look at the BCF2000 manual what it takes to move the fader and go from there.

Let me know if this helps. You would set up a different translator for each fader. This assumes that you will need to translate the MIDI message (which I’m pretty sure you will),

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist


the data that I’m getting from GMA2 whenever I move the fader , is the following


F0 7F 70 02 7F 06 00 01 0F 1F F7

F0 7F 70 02 7F 06 00 01 0F 1F F7

F0 7F 70 02 7F 01 31 2E 30 30 30 00 31 2E 31 F7

F0 7F 70 02 7F 06 00 01 7C 78 F7

F0 7F 70 02 7F 06 00 01 7C 78 F7

F0 7F 70 02 7F 06 00 01 7F 7F F7

F0 7F 70 02 7F 06 00 01 7F 7F F7

F0 7F 70 02 7F 06 00 01 7F 7F F7

F0 7F 70 02 7F 06 00 01 7F 7F F7

and when I move my fader on the BCF2000 is the following

B9 00 19

Control Change on ch. 10 with CC#.0 (0x00) and value:25 (0x19)

Control Change on ch. 10 with CC#0. (0x00) set “pp” to value

how can I changue the RAW midi coming from GMA2 to a CC going to back to the BCF2000?


OK, GrandMA2 documents the Sysex format at the following link as an MSC Command:


From what I read Input should be

MIDI IN Raw : F0 7F 70 02 7F 06 pp qq rr tt F7


// pp= fader number qq=page number, rr=fine tune, tt=course tune

// fader from BCF2000 are on channel 10 so MIDI Command should be B9

// CC for fader 1 is 0 so we will use pp for that

// qq is page number so we won’t use that

// rr is fine tune and we don’t have more than 128 precision so we won’t use that

// tt is course tune we will use that for the fader’s value

Output: B9 pp tt

Please give that a try and see what happens.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist



thanks guys I got them up and running , now my question is what value should I write for the MIDI RAW in in order to adjust the faders if I change pages, the faders move but if I go to the next page the faders do not adjust to the new position in the new page Thanks



If you want to move the faders when you change pages, you will need to store each fader’s value in a separate global variable and then recall it and then send it when you see a page change. The question I have is when you change pages, is there something that GrandMA sends that you can use to trigger the changes in fader positions, or do you have to wait for a fader to move before MT pro realizes that it is now on a new page?

In your project file, I would recommend you create a standard convention for tracking the global variables you use. For instance for page you might use g0-gf for page 1 values h0-hf for page 2 etc. where 0-f is the fader number 0-16.

As you move faders in the current rules, you would use a rule such as the below to store the faders value. The below would be for fader 0

// Store fader value into g0 for page 0

if qq=0 then g0=tt

// Stor fader value int h0 for page 0

if qq=1 then h0=tt

When you see a change in pages you would set up a timer to iterate through the faders changing the position of each of the faders.


Incoming trigger – Unknown at this point but something with the new page number, You would need to keep track of the current page number to see if it has changed.

//Store new page number – in this case I will use xa for the global variable of current page

// I will use xb to count the timer





Outgoing action: Timer “Page Change” xb times


Incoming message : Timer Page change


if xa==0 then goto “page0”

if xa==1 then goto “page1”

label “page0”

if xb==0 tt=g0

if xb==1 the tt=g1

goto “finish”

label “page1”

if xb==0 tt=h0

if xb==1 the tt=h1

goto “finish”

… sections for additional pages


label “finish”


Output : Raw MIDI b9 xb tt

Or something similar. than the above.

Note that in the example above we start moving fader 15 on first iteration and fader 0 on last iteration