GT1000 Core With MC6 Pro

Greetings everyone,

A bit of a long post, but wanted to capture everything to see if others have similar issues. It’s minor but could pose issues depending on how you want to use the GT1000CORE.

I recently picked up a GT1000CORE and have started the deep dive into integrating with my MC6 Pro. Posting here to share some minor issues as well as some workarounds I have come up with.

The GT1000CORE is attractive to me because of size and functionality. I won’t go into the tone/effects preferences here bc that’s for another time/place and in the end up to each individual preference.

The MC6 Pro adds another 6 (at least!) foot switches to customize. So, along with the 3 on the GT1000CORE, you can have 9 at your disposal to control individual effects or settings.

My goal was to create a patch in the GT1000 core and be able to assign switches to whatever functions I would want to turn on/off in that patch. I also wanted to be able to see via the MC6 Pro the state of any effects - ie: think of a traditional stompbox, is the light on/off.

I figured this would be straight forward with the displays on the MC6 Pro, so this was my approach:

1.) Configure my patch in the GT1000CORE. Assign the switches I wanted to control through the assign menu in BTS.

Screenshot 2023-08-29 at 10.17.12 AM

Within the patch on the GT1000CORE, all the effects I want to control via the MC6 Pro are set to off by default. You need to save (WRITE) the patch this way so that when you enter the patch, that’s how it starts off.

2.) Map the MC6 Pro to the function on the GT1000CORE. Even with the crazy Boss requirement to send 2 messages per CC (127 then 0) this is really easy with the MC6 Pro. I simply set up a toggle that sends the same commands. With Position 2 on the MC6 Pro I added an indicator background to show the effect as on.

3.) Use Patch Midi on the GT1000CORE to send a PC change to MCPro to load the bank you want to use on the MC6Pro.

4.) On the MCPro, use On Bank enter to disengage all toggles to return all switches to position 1 (Off).

In theory, this should accomplish what I need.

HOWEVER… what I have noticed is that the GT1000CORE doesn’t always immediately recognize the commands coming from the MC6Pro.

Example - I can enter a bank hit the switch the turns the DS-1 effect block to on, the MC6 Pro will show it’s on, but the GT1000CORE will not respond. If I press again, it will respond - but now the MC6Pro shows the effect is in the off state while the effect is actually activated on the GT1000CORE.

I have tried waiting upon entering the bank on the GT1000CORE to give the patch time to load. If you look at the top right if the GT1000CORE display where it normally displays the OUT level, when you enter a patch it will switch to “SAVING…” briefly while you enter the patch.

Perhaps this “SAVING…” activity needed to finish before the patch is ready to fully accept commands.

Sometimes it works… sometimes it doesn’t. I have tried trouble shooting a number of different situations. ie: if I move to another patch with this one not in it’s current state does that change.

What if I watch BTS for it to fully load on bank change? No luck.

I did develop a workaround:

For each effect block you want to control, use a separate CC for ON and OFF.

ie: for block DS-1, CC#1 is on, CC#2 is off. You still send 2 messages (127,0) and you have to configure the TARGET MIN/TARGET MAX values on the GT1000CORE to be ON/ON for your on message and OFF/OFF for your OFF message.

With this in place, the indicator on the MC6PRO will always be in the right position.

The downside: with only 16 CC commands available per patch, this limits you to 8 effects/functions you can control.

Probably not an issue for me, but could be for others wanting to control more.

1 Like

Hi, I use my MC6 Pro with a GT Core. I have had some issues regarding two way communication, but I didn’t have issues like you. My guess is that there is something wrong with your programming. If you share a full screenshot of the GT’s assigns and the MC’s programming I might be able to resolve this for you.
For example:
here is what I did to control the master delay block of the GT (assign #4)

Thanks.

Here are the settings on the GT1000CORE:

First, when I enter bank 007 on the GT1000, send pc change to the MC6:

We will use the Chorus effect as an example. By default, it is off when entering 007:

Within the GT1000, I have assigned the ON/OFF function to CC#4

Screenshot 2023-08-29 at 4.28.00 PM

Screenshot 2023-08-29 at 4.28.18 PM

In the MC6, set the bank to disengage any toggles on entering:

Set switch D to send the ON/OFF commands to the GT1000 (Pos 1 should turn on, Pos 2 should turn off):

That’s pretty much it. Here’s the MIDI data going out of the MC6 when I hit switch D:

Thoughts?

Hi,

  1. Change ‘Mode’ in the GT assigns from ‘toggle’ to ‘moment’
  2. To control a block on the GT sending two messages (CC 0/127) isn’t required. Just send 127 for on and 0 for off.

I think that’s it

2 Likes

Sweet! Thanks.

That seems to do the trick. Appreciate the help.

1 Like

The best and direct way controlling the Boss GT1000Core is by SysEx commands.

To get the right sysex commands needed for the GT1000Core for every parameter in the GT1000core is simply to achieve by using the Boss Editor and a midi monitor program. I use the Midi Wrench IOS app from Crudebite. With the Boss Editor you can change what you desire to change and the Midi Wrench will show you which SysEx command is used to make the change happen. You can copy the SysEx command so you can paste it in the Sysex Preset Creator from the Morningstar Editor.

When you are using the latest version (3.13 compatible) of the Editor. You can manual input the SysEx command. The first position (P1) is needed to tell the Editor how many positions the SysEx command line exist of.

The standard SysEx commandline for the GT1000Core exists of 15 positions.

For example to switch on the DS1 effect block, the SysEx is:

F0 41 10 00 00 00 4F 12 10 00 13 00 01 5C F7 (this is what Midi Wrench discovered).

Since the Morningstar MC6Pro automatically fill in the “F0” at the beginning and “F7” at the end. You only have to focus on the positions 2 to 14. When you want to fill in the SysEx command in the Morningstar MC6Pro, you have the input the value 13 which is “0D” hexidecimal. 13 is reffering to the 13 positions in between. So when you manually fill in the values from the original SysEx command starting from position 2 untill position 13 you will get the following input:

P1 0xD P2 0x41 P2 0x10 P3 0x0 P4 0x0 P5 0x0 P6 0x4F P7 0x12 P8 0x10 P9 0x0 P10 0x13 P11 0x0 P12 0x01 P13 0x5C and the rest can stay on the initial value of 0x0 since the Editor knows that the SysEx commandline is 13 positions long (stated by the Value “0D” in P1).

A much easier way to fill in the SysEx in the message box is by using the “Create SysEx Preset” in the desktop version of the Editor. When you use this methode, you can one on one copy the original SysEx Commandline in the “Create SysEx Preset” utility and then you can copy the result to the messagebox you want to copy it. This methode skips the need to manually input all the position values.

By controlling the GT1000Core by SysEx commands you skips the need of deveining rules in both the GT1000Core and the Morningstar MC6Pro.

And you can controll every change of all the parameters in the GT1000Core directly by SysEx.

2 Likes

Does (can) the MC device generate the SysEx Checksum for Roland messages?

What do you mean by “generating the sysex checksum”?

With the specific sysex commands, you can send brand- and model-specific control commands that are therefore only applicable to a particular device.

But you have to find out which sysex command is for which parameter. And the only way to get the right sysex command is by midi monitoring each change in the GT1000 editor.

Hi,
You are right that the best way to control the GT1000 is via SysEx. But the MC Midi Controllers are just switches so they can send one fixed value per action. In most cases the SysEx message to send will be easy to capture.

More complex messages, say to control the pedal volume or alter the gain would be a range of values (0 to 127). To send the correct SysEx message the value the checksum byte, the penultimate byte of the message, needs to be recalculated.

For Roland SysEx messages the checksum is calculated using this formula..
checksum = (128 - (sum(address and data bytes) mod 128)) mod 128

Your message has the address of 0x10 0x00 0x13 0x00 (Dist 1, Switch)
And the value of 0x01, which sets the switch on

checksum = 128 - ((16 + 19 + 1) mod 128 ) mod 128 = 92 (or 0x5C)

As the MC products are really just switches rather than continuous controllers I guess there isn’t the need to add this functionality to the SysEx message type.

1 Like