Reflecting block on/off states on MM interface

greiswig

Well-Known Member
Hi,

My guess is this is covered elsewhere, but I tried searching and didn't find what I was looking for. I have an AxeFX that I control with the MMGT. I basically try to have a handful of amp/pedal setups that I go between over the course of a gig. What I would like is if the display on the MMGT would reflect the on or off state of the corresponding block in the AxeFX, even when I first go to that page.

As it is, every page comes up with all blocks showing as off. So even if I have a drive pedal on by default on that preset, it shows as off on the MMGT. If I tap it, it shows as on, and no sound change happens until I toggle it off again.

What I would like is for data to pass from the AxeFX to the MMGT such that if I have stored a preset with a block engaged, that block shows as on on the MMGT. Is that possible?
 
No worries. Make sure to look at the WIKI as well. Setting up the AxeFX and MMGT is actually pretty straight-forward once you find that section of the forum / WIKI. I'm impressed at how well the units work together, and it's accelerated my plan to incorporate the MMGT into my touring rig.
 
The GT syncs up with the Axe FX better than any other unit out there except maybe the MFC101. If you let us know what version you have, I'm sure someone would send you a config to get you started.
-
Austin
 
Boy, I've looked all through that thread, and I still can't figure out why this isn't working. Sleestak, I think I hear you saying that literally you can just go to a preset using the recall knob on the AFX, and it both changes the page on the GT and loads all the buttons in their correct state?

I've checked my MIDI cable (7 pins, all pins soldered, going through adapter box for phantom), I've checked that "send realtime sysex" is set to ALL on the AFX, I've made sure bidirectional is checked on the GT, and I've tried setting the GT receive channel to none or the channel that I have the AFX on. I've tried checking and unchecking "Ignore incoming CC." Nothing seems to be making a difference.

I'm really curious, Sleestak, how you have your GT set up on the Global and Devices tabs. Maybe a couple of screen shots so I could compare against mine? Since I suspect that must be where my problem is. Here is my settings file, too.

I'm stumped...
 

Attachments

  • Nov2016.rjs
    1.6 MB · Views: 1
Boy, I've looked all through that thread, and I still can't figure out why this isn't working. Sleestak, I think I hear you saying that literally you can just go to a preset using the recall knob on the AFX, and it both changes the page on the GT and loads all the buttons in their correct state?

I've checked my MIDI cable (7 pins, all pins soldered, going through adapter box for phantom), I've checked that "send realtime sysex" is set to ALL on the AFX, I've made sure bidirectional is checked on the GT, and I've tried setting the GT receive channel to none or the channel that I have the AFX on. I've tried checking and unchecking "Ignore incoming CC." Nothing seems to be making a difference.

I'm really curious, Sleestak, how you have your GT set up on the Global and Devices tabs. Maybe a couple of screen shots so I could compare against mine? Since I suspect that must be where my problem is. Here is my settings file, too.

I'm stumped...

On your Devices tab, at the bottom, have everything checked except "Ignore Incoming PC" and "Ignore Incoming CC". You want those to be unchecked so the GT responds if you make CC or preset changes on the Axe FX. If they are not checked, then the preset and CC states on the GT will not updates when you switch presets.

You want to have Send PC and Send Redundant PC checked so the GT can change presets on the Axe FX (the redundant one will re-send the preset if you step on it again; that's optional). You want Sync Names checked so the GT will pickup the preset names (that way, if you change a preset name, the GT will automatically update).

"Direct Send PCs/CCs" makes sure commands are sent to the Axe in the order they are programmed on the GT. Can be essential if you are programming multiple functions on a button that need to be executed in the order in which they are listed. I have a button group programmed to select Amp1X, Amp1Y, Amp2X or Amp2Y and it doesn't work seamlessly unless this is enabled.

"Send CC's on Preset Change" is necesary if you want certain buttons to be active when a preset is loaded, regardless of what the IA state on the Axe FX might be. For example, I have a global "boost" button. In order for it to work, I need to have this enabled.

RJM's MMGT Editor Wiki is a great resource for everything MMGT-related, https://www.rjmmusic.com/wiki/index.php?title=GT/PBC_Editor_Manual

-
Austin
 
Well, I am getting a bit closer. Turns out a bunch of my presets had the "Local Page" checkbox checked, probably from trying to get this to work before. Unchecking that seems to have allowed for CC changes to reflect back to the GT.

Now, however, I am having some other strange issues as a result of fixing that. On some buttons (not all), the preset will start with a strange third state. I think it is associated with buttons that I have a secondary hold function on.

So for example if the off state is supposed to be dark yellow, the on state is supposed to be bright yellow, the preset will start with text only...no color. And it will not transmit the CC message. But then if I hit the same preset button a second time, it goes to its off state and will now toggle the CC.
I gather that this third state is supposed to happen if the preset does not have that block in it.

If I re-order the IA actions such that the block that is present is first, it works. But otherwise it acts like it is not there. So I can't seem to have one global button called "Special FX" that launches a ring mod, flanger, or phaser and just turn those blocks on if any one of them are present in that preset? Not unless the one that is present is first in the list? (Scratch that...on one button, it doesn't seem to matter what order the list is. But that button has only two CC actions on it. Soon as a button gets more than that, order seems to matter.)
 
Last edited:
Well, I am getting a bit closer. Turns out a bunch of my presets had the "Local Page" checkbox checked, probably from trying to get this to work before. Unchecking that seems to have allowed for CC changes to reflect back to the GT.

Now, however, I am having some other strange issues as a result of fixing that. On some buttons (not all), the preset will start with a strange third state. I think it is associated with buttons that I have a secondary hold function on.

So for example if the off state is supposed to be dark yellow, the on state is supposed to be bright yellow, the preset will start with text only...no color. And it will not transmit the CC message. But then if I hit the same preset button a second time, it goes to its off state and will now toggle the CC.
I gather that this third state is supposed to happen if the preset does not have that block in it.

If I re-order the IA actions such that the block that is present is first, it works. But otherwise it acts like it is not there. So I can't seem to have one global button called "Special FX" that launches a ring mod, flanger, or phaser and just turn those blocks on if any one of them are present in that preset? Not unless the one that is present is first in the list? (Scratch that...on one button, it doesn't seem to matter what order the list is. But that button has only two CC actions on it. Soon as a button gets more than that, order seems to matter.)

1) Update your firmware to the latest version

2) From what I understand, where no hold is present, the button color is determined by the first listed CC. So if you have, say, Chorus1, Flanger1, and Phaser1 all assigned to a button, the state will be determined by the Chorus1 state. If it is on, the button is shows the on color, if it is off, the button shows the off color. If it is not present, the button is not lit. A way around this is to follow the procedure here: http://wiki.fractalaudio.com/axefx2...FC-101:_engaging.2Fbypassing_multiple_effects
This is for the MFC101, but the same principle works for the GT

3) For buttons with a Hold functions, this thread might be useful: http://www.rjmmusic.com/forum/index.php?threads/mastermind-gt-firmware-3-3-1.2151/
I can't tell if your buttons are functioning as designed or not; it can get a little confusing when dealing with hold functions
-
Austin
 
1) Update your firmware to the latest version

2) From what I understand, where no hold is present, the button color is determined by the first listed CC. So if you have, say, Chorus1, Flanger1, and Phaser1 all assigned to a button, the state will be determined by the Chorus1 state. If it is on, the button is shows the on color, if it is off, the button shows the off color. If it is not present, the button is not lit. A way around this is to follow the procedure here: http://wiki.fractalaudio.com/axefx2...FC-101:_engaging.2Fbypassing_multiple_effects
This is for the MFC101, but the same principle works for the GT

3) For buttons with a Hold functions, this thread might be useful: http://www.rjmmusic.com/forum/index.php?threads/mastermind-gt-firmware-3-3-1.2151/
I can't tell if your buttons are functioning as designed or not; it can get a little confusing when dealing with hold functions
-
Austin

I'm on current firmware and software. I'll take a look at those other threads. But ideally, to me, if the effect block is present anywhere in the list, not just at the top of the list, it would enable that button. Is there a good reason not to?
 
I'm on current firmware and software. I'll take a look at those other threads. But ideally, to me, if the effect block is present anywhere in the list, not just at the top of the list, it would enable that button. Is there a good reason not to?

When I loaded your config file into my editor it asked me if I wanted to update it to the latest version, so that's why I suggested updating to the latest firmware.

The good reason not to try to read the states of all blocks is because you can have multiple blocks. Says you have a button that has 2 actions. One is to turn on Drive1 and the other is to turn on Drive2. You can't have the GT react (in terms of display colors) to both blocks because what if the states contradict? For example, what if you have a preset with an Active Drive 1 and no Drive2? Should the display not be lit? That's what the logic would dictate if the display was reacting to the status of the second action. But the first action would dictate that the buttons should be lit in the on color. Now just think of how complicated this would be if you had more than 2 lines!
-
Austin
 
Austin,

I guess I can see that as one possible use case, but my use case also seems to make sense: if any one of the blocks of a 5-line IA action attached to this button are present, then at least that one block can be activated; so the color should show available, but off. I guess I don't see how whether the exact item in line 1 of that set of five is present or not should matter. But I will probably try to redo my setup using either the cheat you linked me to or just start using scenes more.
 
The other thing is that it isn't just the button color that is affected: if the block attached to the CC that is first in the list for that button is not in the preset, you can't activate any of the other CC's in the list. The button is disabled altogether. I just don't see that as necessary. Maybe an option, but not necessary.

So I have one button that will turn on either delay or multitap delay. I only use one of those per preset. But unless I create a page that re-orders the CC's, it won't work. And by the time I've done that, I might as well just have one page that lets me access multitaps, one that accesses other delays. But by the time you have combined all possible combinations across the buttons on pages that might do that, you've got a lot of permutations to account for via pages.
 
The other thing is that it isn't just the button color that is affected: if the block attached to the CC that is first in the list for that button is not in the preset, you can't activate any of the other CC's in the list. The button is disabled altogether. I just don't see that as necessary. Maybe an option, but not necessary.

So I have one button that will turn on either delay or multitap delay. I only use one of those per preset. But unless I create a page that re-orders the CC's, it won't work. And by the time I've done that, I might as well just have one page that lets me access multitaps, one that accesses other delays. But by the time you have combined all possible combinations across the buttons on pages that might do that, you've got a lot of permutations to account for via pages.

That's pretty much a necessary result of having it sync up with the Axe FX. If you don't want it to sync, that's not an issue, but then you lose (IMO, more important) functionality. You can create a custom page for each preset, so if one preset has Delay, you could set the button for Delay for the preset and if another has MTD, you can set it to MTD. But IMO, the best way to do something like this is the way I linked to in the Wiki. That way you get to use the button in all the presets and it accurately reflects the block state.
-
Austin
 
Thanks everyone for the help and pointers. I will try some of these other ideas and see if it gets me where I need to go. And I really am grateful.

Like I said, I personally would love to see an option in the editor program that let me allow that bottom to sense and trigger any/all of the CCs attached to that button. Default could have that option not selected.
 
So I have a follow up on this. It is working pretty well, especially when changing patches. But it still isn't working quite as I would expect, and I'm not sure whether it is a bug, or what.

Within the same preset, for example, I have one button trigger two blocks: Amp2 and a global filter block. This comes in very handy, since I can set up patches to have a lead tone at the same apparent volume as the rhythm tones, then have the global filter block set to boost volume by 3-6db and maybe knock off some low end, according to what the venue and sound man need.

I also have one button set up with a hold function to trigger that same filter block by itself, to boost a clean tone for a different solo.

But here is what happens: the hold state of the filter IA will show as on, usually, once I trigger the "Lead" button. Then it just sticks there. And the only reliable way to refresh it to show the actual block state seems to be to input a new tap tempo, which seems like it should be unrelated.

Any idea what's going wrong?
 
Make sure "Update on Preset Change" is turned off of that hold function. With the setting on, the button loads its state from the current preset. With it off, it will allow the Axe-Fx to control the state of the button with its status messages.
 
Thank you, Ron. Nope, that did not do it. Does it help to know that the tempo button doesn't update the state of this other button on first click, nor if you wait too long between two clicks and exceed the tempo time limit? So only if there is a genuine tempo change sent to the AxeFX does this other button update either on or off states.
 
I'm not sure what that has to do with it, but I have to wonder if it's an issue on the Axe-Fx side. If "Update State on Preset Change" is off, the GT only changes the button's state based on commands from the Axe-Fx, or presses on that button. If you'd like to send me your settings, I can try them here.
 
Back
Top