BUG External Controller Initial Value not honoured

Johan Allard

Power User
  • Version: 4.0 beta 2 (haven't tried any other versions)
  • Setup:
    • Pedal 1 mapped to External Controller 1 (Setup → I/O Midi → External)
    • Initial Value on External Controller 1 set to 0.0% (Setup → I/O Midi → General)
    • Attach External Controller 1 to Delay 1 Mix
    • Don't Connect Pedal 1
    • Reboot
  • Expected Result: Delay 1 Mix set to 0.0%
  • Actual Result: Delay 1 Mix set to 100.0%
I can see that without a reboot that the initial value can be difficult to set and detect that the pedal wasn't actually connected. But after a reboot I think it should definitely detect that pedal 1 is not connected and set the value to whatever the Initial Value is set to.
 
From the Initial Values section:
"You can imagine how a missing or broken MIDI controller might therefore present a big problem..."

You can make the exact argument for an Expression Pedal: You can imagine how a missing or broken Expression Pedal might therefore present a big problem...

I believe the initial value should be applied the same. Until MIDI data is received - use the Initial value. Until Expression pedal input is received - use the Initial value.
 
  • Version: 4.0 beta 2 (haven't tried any other versions)
  • Setup:
    • Pedal 1 mapped to External Controller 1 (Setup → I/O Midi → External)
    • Initial Value on External Controller 1 set to 0.0% (Setup → I/O Midi → General)
    • Attach External Controller 1 to Delay 1 Mix
    • Don't Connect Pedal 1
    • Reboot
  • Expected Result: Delay 1 Mix set to 0.0%
  • Actual Result: Delay 1 Mix set to 100.0%
I can see that without a reboot that the initial value can be difficult to set and detect that the pedal wasn't actually connected. But after a reboot I think it should definitely detect that pedal 1 is not connected and set the value to whatever the Initial Value is set to.
You missed a setting that should help.

1669740378497.png
 
From the Initial Values section:
"You can imagine how a missing or broken MIDI controller might therefore present a big problem..."

You can make the exact argument for an Expression Pedal: You can imagine how a missing or broken Expression Pedal might therefore present a big problem...

I believe the initial value should be applied the same. Until MIDI data is received - use the Initial value. Until Expression pedal input is received - use the Initial value.
Yes... The argument is clear. But the manual does specifically say midi.

So, the question is really whether this is a bug or expected behavior.
 
Still not sure that will fix it, but it might...

Key points: Set PC Reset ON and set the modifier to the value you want (0%), then save.
In my testing, it fixes the behavior where, if there's a missing External controller, it'll force the default.

I have my presets set to use PC Reset for my External 1 and External 2. I zeroed my MIDI Remote default for External 2, which is my Volume/Pan and was previously set to 100%, disconnected my pedals, then cycled the power on the FM3+FC6.

They came up set correctly. The Wah was automatically disengaged and the volume pedal on External 2 is at 100%, just as I want.

On the FM9 it's not doing the right thing, and I'm not sure if that's because it's using the Duo 24 4x mod on the side, so the TRS are always plugged into the FM9. Gonna go experiment as it could be the FM9.

After moving cables and removing plugs from jacks and then reconnecting them, I think the FM9 is working correctly too.

I have the Wah block's modifier pointing at External 1, and in Settings > MIDI/Remote > External, I have External 1 pointing to Pedal 1. That's what I see the documentation saying we should do:

Screenshot 2022-11-29 at 3.49.47 PM.png

Screenshot 2022-11-29 at 3.50.59 PM.png
Screenshot 2022-11-29 at 3.51.50 PM.png
(The 4x mod is acting up though which moving the cables proved to me; It's an intermittent problem that happens if I don't unplug/replug often and it has bit me in the butt a couple of times.)
 
Last edited:
I've done some more testing as well and I still don't think it's correct. In my case I have a mini expression knob that I set to a global value. Moving between presets should retain this global value. With PC reset ON it means that ever time I load the preset, it will reset to the default value, which is not what I want. When the expression pedal (or knob in my case) is present it should use that value. If it's not present I think it should use the default value as defined in Setup → IO/MIDI → General.
 
When the expression pedal (or knob in my case) is present it should use that value. If it's not present I think it should use the default value as defined in Setup → IO/MIDI → General.
Yes, that's what it should do if there's no expression pedal present. The problem is that there's no way for the FM9 to know whether there's an expression pedal present.

With an expression pedal plugged in, the voltage on the sleeve of the TRS jack is 0 volts, the voltage on the tip is maximum voltage, and the voltage on the ring could be anywhere between 0 and maximum voltage. If no expression pedal is connected, the voltage on the sleeve is still 0 volts, the voltage on the tip is still maximum voltage, and the voltage on the ring is maximum voltage — which is still between 0 and maximum voltage. To the FM9, it looks exactly like an expression pedal at toe-down position.
 
Correct me if I'm wrong, but isn't it relatively common in this situation to use a jack that detects insertion by means of a switch? That way it could detect if no pedal is present and use a default value.
 
Yes, that's what it should do if there's no expression pedal present. The problem is that there's no way for the FM9 to know whether there's an expression pedal present.

With an expression pedal plugged in, the voltage on the sleeve of the TRS jack is 0 volts, the voltage on the tip is maximum voltage, and the voltage on the ring could be anywhere between 0 and maximum voltage. If no expression pedal is connected, the voltage on the sleeve is still 0 volts, the voltage on the tip is still maximum voltage, and the voltage on the ring is maximum voltage — which is still between 0 and maximum voltage. To the FM9, it looks exactly like an expression pedal at toe-down position.
So it's basically an unsolvable hardware issue?
 
Correct me if I'm wrong, but isn't it relatively common in this situation to use a jack that detects insertion by means of a switch? That way it could detect if no pedal is present and use a default value.
Yes, but that only works with TS plugs. But expression pedals require TRS plugs. All three contacts are in use. Switch-open is identical to toe-up on the pedal. Switch-closed is identical to toe-down. The hardware has no way to know whether you've pulled out the plug, or just rocked the pedal forward.
 
So it's basically an unsolvable hardware issue?
Right. The closest you can get is to load the initial value, and leave it there until the hardware detects a change in the ring voltage — which is what happens when you move the pedal. And that's already been implemented.
 
Right. The closest you can get is to load the initial value, and leave it there until the hardware detects a change in the ring voltage — which is what happens when you move the pedal. And that's already been implemented.
And that’s where the PC Reset parameter comes into play. It sets the default value when the preset loads and then waits until the pedal changes. If no pedal is connected it never changes, so the value never changes.

I ran into the problem because, though I have two expression pedals, sometimes I don’t want to use them due to lack of floor space or I’m letting someone use the rig who is intimidated by too many options and buttons and accidentally engages the Wah by moving it and then stands there like a deer in the headlights, then blames the rig for the toe-down Wah sound. I figured pulling the connector would suffice, but it didn’t help.

Using PC Reset seems to be the missing piece.
 
PC Reset could help but may not always be ideal, since every preset would start with the saved value. You couldn't do things like park the pedal midway or at 100% and have a medium/maximum amount of delay as you switch though presets.
So it's basically an unsolvable hardware issue?
I'm not sure it's unsolvable, but there would need to be a change in the startup process. The init. value would have to override the first pedal port reading and hold until any pedal movement occurs. If that was implemented, an additional setting of "pedal" for the current style (use actual pedal port value from startup) might be a good idea.

If you're going between pedal and no-pedal setups often, the easiest solution might be to switch Ext Ctrl 1 between Pedal 1 and "none" as needed. On the Axe-FX II you can do that and let the init. value take over without a restart by adjusting it (actually one wheel click in the direction that keeps the current value is sufficient) but I don't know if that works on the FM9 without restarting.
 
PC Reset could help but may not always be ideal, since every preset would start with the saved value.

“Every preset where that is set in the modifier in a particular block.” As written it sounds as if it’s global, but it is preset and block specific. I have not checked to see what happens at the channel level which might be interesting. :)

You couldn't do things like park the pedal midway or at 100% and have a medium/maximum amount of delay as you switch though presets.

On a preset by preset basis the pedal could be predefined just as the pedal setting would be if it was parked midway without the Reset setting. If all presets need to respond that way or it needs to be a spur of the moment or a creative decision then there’s no need to use PC Reset for that purpose. I think PC Reset is a useful solution for when we want blocks to work with or without a pedal attached, at least for what I’m doing.

I think that the confusion of how the default value is set indicates a need for a reevaluation of the code and UI, or at least a need for an example of how to make it work in a factory preset that has an accompanying sidebar in the manual.
 
Last edited:
Yes, but that only works with TS plugs. But expression pedals require TRS plugs. All three contacts are in use. Switch-open is identical to toe-up on the pedal. Switch-closed is identical to toe-down. The hardware has no way to know whether you've pulled out the plug, or just rocked the pedal forward.
Isn't the switch in a "switched TRS jack" mechanical? In other words, isn't the switch opened or closed by the movement of the terminal when inserting the plug? If so, it seems like that would detect the presence of the plug independently of the pedal position, and could be used to determine when to use the default value because nothing is plugged in.

Not that this helps the OP, but it seems like it could be a solution for this problem in the Axe-FX IV.
 
Isn't the switch in a "switched TRS jack" mechanical? In other words, isn't the switch opened or closed by the movement of the terminal when inserting the plug? If so, it seems like that would detect the presence of the plug independently of the pedal position, and could be used to determine when to use the default value because nothing is plugged in.

Not that this helps the OP, but it seems like it could be a solution for this problem in the Axe-FX IV.
 
Back
Top Bottom