Ah OK - you were requesting another mode “hold”, not “Push and Hold” together. Apologies for my misunderstanding.
Hold is technically just a “down” message and at some point later, an “up” message. I forget the details, but I think that should be a lot more managable than having two types at the same time. @gianfranco thoughts?
I’ve got to chime in. Some effects really are better controlled through a momentary footswitch, which I think we’re calling a “hold” here. I have several plugins that I would under certain circumstances want a latching switch and other times a momentary. Depends on the song. If some plugin wants to try to do some logic based on the switch being pushed and held, let the plugin do it. However as a host the control is on or off, the switch is down or up, and either it latches or releases when your foot comes up. For momentary you probably also want NO and NC modes.
Anything more than that, maybe could be cool, but might not be worth the complexity. OTOH simple momentary switch mode IMO is a must.
Tapping is on the near roadmap (we already had it on the MOD Quadra), but it is implemented in a different way than normal.
Traditionally plugins have a TAP button and only need some kind of pulse coming in to internally calculate the tempo.
In our case, due to the fact that LV2 offers port metadata, once you have a control port with tempo related units ( Hz, BPM, sec our milisec) the GUI offers the footswitch as an addressing option (even tough it is a continuous control).
The controller in this case activates a cronometer and reads the time of the foot tapping, sending the correct info for the plugin (who is totally unaware of the tap tempo function).
The coolest part of this approach is that we don’t require the plugins to implement a tap-tempo function, but simply work with real world units and numbers.
Right. Thats a cool feature that LV2 enables, but for plugins like the infamous stuck (which I’m in the middle of revamping) a momentary switch option would make it much more useable. Also for the infamous power cut. I hope momentary switch control is on the roadmap.
I mean when the switch is pressed the port is set to 1 and when you lift your foot it goes to 0. Thus when you stop pressing the switch the effect turns off again.
The usual mode is toggle where you press the switch and it changes to 1, lift your foot, it stays at 1. Press again to toggle to 0.
So there should probably be 4 switch modes total: 1. toggle 2. tap tempo, 3. momentary default off, 4. momentary default on.
rename as you please.
I guess the name “Momentary Toggle” would make sense.
Now, does the “Defaut On/Off” should be adopted for a single one of them - I’d say Off - and the plugins comply with this defaut or should both options be offered?
But the actual HMI though… if you were building a pedal you must choose a toggle switch that clicks or a momentary switch. If you want a momentary switch you could buy a NO (normally open) or NC (normally closed). This is where I’m coming from and how I’ve always hoped a host would expose the toggle control of my plugins.
Now, does the “Defaut On/Off” should be adopted for a single one of them
I’d say Off - and the plugins comply with this defaut or should both
options be offered?
I think it would make sense to have the default be normally off (I think this would work fine with all my plugins), but some way to switch it to a normally on. You never know what people are going to do with it. Or start with one and wait till someone asks for the other.
Now, regarding the LV2 perspective, we use the metadata to offer only the actuators that make sense for addressing controls.
Continuous ones are not offered the footswitches (unless it is time based control) and we still must implement both Trigger and Toggle on the Knobs.
I suppose that if the plugins only specify a Toggle, then our system would not know if it should offer Momentary or Traditional toggles and would end up offering both. Could this be bad for the plugin?
Because, if that is, then we need to create an LV2 extension to specify that.
I see. I didn’t think we were talking about continuous controls. The behringer fcb1010 I have actually allows you to assign two values to a switch that it will toggle between (i.e. press 1x CC7 goes to 78, press again, it goes back to 24). This allows for something like a volume boost, or a longer reverb when the solo comes up but there are lots of ways to achieve that, so I think it shouldn’t be prioritized.
OTOH its not impossible to implement press and hold behavior on a continuous plugin. We do that all the time on our products at work. 1 click would raise or lower the control by 10% of its range, but holding would make it slowly raise up to the max value. OR it could even oscillate up to max and back to min on press and hold. Release the button when it reaches the value you like. TBH though, how useful is that really on a stage? Just use a tablet to change it or a pedalboard preset when that feature arrives. I think it would be a nifty feature that wouldn’t ever actually get used.
As mentioned you’ve argued about it internally, but I think it should be a pretty low priority.
For my plugins no. In many instances it is unlikely the user wants momentary behavior (who wants to hold down the button the whole chorus they want that overdrive?), but it also wouldn’t break anything if they set it to momentary. To the plugin it is transparent, it just offers a convenience to the user if its an effect that is used for only a short time or you want an exact press length (like a 1 button looper). I believe there is already the designation pprops:expensive that indicates if its a bad idea to change the value too often.
There actually already is a property pprops:trigger which could make it a momentary switch, but then would the user be able to switch to “latch mode” (toggle) if they want? (I actually haven’t added this property yet to my plugs, but I will).
I think a good user experience would be if you map the button to a lv2:toggled control it defaults to a toggle switch (or a momentary if its got the trigger property), then you can select in a side menu or context menu or something (I haven’t used the modUI much yet so its hard to propose something) to change the switch type.
Really anxious for this feature, wanna implement a single button looper ( like this https://www.youtube.com/watch?v=7UE-XHbIBlQ ) so i can use the others as Reverse and Panic!
Another development along this line could be ‘hold-to-activate toggle.’ Meaning, pressing and holding a footswitch (for a definable window of time) would toggle the state of an assigned parameter. Further meaning that any momentary presses would be passed through. Thus, one footswitch could interact with two different parameters based upon a foot gesture.
This could lead further to functionality like ‘double-click to activate.’
I’d use this functionality in all my pedalboards if it became a feature.
I’ve been thinking about this (and definitely still need it) and realized its really nothing to do with the plugin host, but purely a mode of the switch hardware controller. If a midi controller is toggled the host couldn’t convert that into a momentary control. Of course for convenience it would be nicest if you can configure the switch mode per pedalboard and pb preset…
I really hope this feature will be implemented at some point, it will make most of the infamous plugins more useable.
I was just thinking about the momentary switch. I think it would be possible to make one with the Arduino.
My thought is to use the expression pedal setup with instead of the expression pedal (AKA potentiometer) put a momentary switch. This should achieve the what we want.
BUT… it would be so much nicer to have it on the MOD-Footswitch… and I hope it gets implemented soon…
I’ve recently received the mod Footswitch to complement the Mod Duo X.
I would love a momentary switch option to send out single tap note on messages in order to trigger events on external equipment.
For instance triggering external loopers in ableton and the elektron octatrack using the infamous Mindi to send a note out. I can’t quite make it work with out tapping a note on the resetting with a note off.
It would be amazing if the advanced control device options had a setting for latch or momentary.
Wait a few more days and v1.10 will have this.
We just found some regressions so release is delayed a bit, we want to fix the issues we found before having a public release