steadystate
Fractal Fanatic
I originally posted the following under the Bugs topic, but moved it since the behavior described may be intentional. I am reposting here to see if someone can devise a better workaround than the cumbersome and inefficient method I currently use.
I am using external controllers ( External 1 through External 8 ) to allow a midi foot controller (a Lake Butler Midi Mitigator, considering an MFC-101) to change the value of various Axe parameters (all with PC RST enabled) by sending cc messages to the Axe. Here is my problem…
I use a preset switch on the foot controller to send a program change to the Axe, and then use subsequent preset switches (or IA switches if available) to send cc messages to change the value of various parameters within the recalled program (the Axe calls them presets).
When an Axe preset is recalled, the Axe parameters will all return to their respective stored values as expected. However, ****a subsequent cc message will be ignored if it is the same value (or even close to the same value) as the last sent before the program change occurred****.
For example:
I turn the Axe FX on.
I recall a preset with the target parameter stored at a value of 30.
I send a cc value of 0; the parameter is set to minimum (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I again send a cc value of 0; the cc is ignored and the parameter stays at 30.
If I then send a cc value of 127; the parameter is set to maximum (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I again send a cc value of 127; the cc is ignored and the parameter stays at 30.
If I then send a cc value of 64; the parameter will move to mid position (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I send a cc value of 64; the cc is ignored and the parameter stays at 30.
I send a cc value sufficiently different than 64; the parameter moves to the correct corresponding position.
Etc…
Therefore, I cannot rely on cc messages to correctly control the target parameters of that preset. Also, if a different preset is recalled that uses the same External Controllers, a cc message may or may not work depending on the value that was last sent to the previous preset.
The workaround I use is to program each switch of my foot controller to send out two cc messages of different values (for each target parameter), with the latter being the desired target value. If I want to change 4 parameters with a switch, I have to program that switch to send out 8 control change messages if I want to be sure all parameters will be set to their target values.
Although my foot controller allows unlimited command strings per switch, it does not have unlimited memory. If I buy a controller that allows fewer commands per switch, my problem will be compounded.
I understand this design probably exists for a reason (perhaps so rocker-type pedals don’t slightly move and change a parameter unintentionally), but I would greatly appreciate any brainstorming the forum can offer that could eliminate the need to double the number of cc messages required when using a footswitch-type controller. An option to allow repeat duplicate cc values to change a parameter would solve the problem. Maybe this option exists and I simply missed it.
Thanks,
Mark
I am using external controllers ( External 1 through External 8 ) to allow a midi foot controller (a Lake Butler Midi Mitigator, considering an MFC-101) to change the value of various Axe parameters (all with PC RST enabled) by sending cc messages to the Axe. Here is my problem…
I use a preset switch on the foot controller to send a program change to the Axe, and then use subsequent preset switches (or IA switches if available) to send cc messages to change the value of various parameters within the recalled program (the Axe calls them presets).
When an Axe preset is recalled, the Axe parameters will all return to their respective stored values as expected. However, ****a subsequent cc message will be ignored if it is the same value (or even close to the same value) as the last sent before the program change occurred****.
For example:
I turn the Axe FX on.
I recall a preset with the target parameter stored at a value of 30.
I send a cc value of 0; the parameter is set to minimum (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I again send a cc value of 0; the cc is ignored and the parameter stays at 30.
If I then send a cc value of 127; the parameter is set to maximum (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I again send a cc value of 127; the cc is ignored and the parameter stays at 30.
If I then send a cc value of 64; the parameter will move to mid position (as expected).
I recall the preset; the parameter returns to the stored value of 30 (as expected).
I send a cc value of 64; the cc is ignored and the parameter stays at 30.
I send a cc value sufficiently different than 64; the parameter moves to the correct corresponding position.
Etc…
Therefore, I cannot rely on cc messages to correctly control the target parameters of that preset. Also, if a different preset is recalled that uses the same External Controllers, a cc message may or may not work depending on the value that was last sent to the previous preset.
The workaround I use is to program each switch of my foot controller to send out two cc messages of different values (for each target parameter), with the latter being the desired target value. If I want to change 4 parameters with a switch, I have to program that switch to send out 8 control change messages if I want to be sure all parameters will be set to their target values.
Although my foot controller allows unlimited command strings per switch, it does not have unlimited memory. If I buy a controller that allows fewer commands per switch, my problem will be compounded.
I understand this design probably exists for a reason (perhaps so rocker-type pedals don’t slightly move and change a parameter unintentionally), but I would greatly appreciate any brainstorming the forum can offer that could eliminate the need to double the number of cc messages required when using a footswitch-type controller. An option to allow repeat duplicate cc values to change a parameter would solve the problem. Maybe this option exists and I simply missed it.
Thanks,
Mark
Last edited: