Page 1 of 1

Momentary mode for buttons

Posted: Thu Sep 05, 2024 6:30 pm
by booksix
There is a MASSIVE use case for a button being 'momentary' (press and hold for on, release for off) instead of 'latching' (toggle on/toggle off) for anyone who is programming lighting using MIDI.

I'm a country artist who runs Ableton for backing tracks and triggering ProPresenter videos - and now to program my lighting via MIDI to QLC+. It's amazing, but I've been using the 'flash' mode for my buttons to get this 'momentary' behavior (in that the button stays pressed only as long as the MIDI note is 'playing', and automatically turns off when released - BUT the flash function ignores fade-in times (which I'd like to use to crossfade between color scenes on some songs - to be adjusted by speed dial, also via MIDI). This hack also only works for scenes and there is another massive use case for a 'momentary' button that triggers EFX, or Chasers, etc so these effects are active while the MIDI note is pressed down, but reverts to 'off' automatically by way of the MIDI note simply ending, rather than having to create an additional 'off' command.

I've outlined some of this elsewhere and will paste below (it's a bit hard to follow but gives just a few examples of problems solved with momentary button mode), but TL;DR is the functionality would be incredibly game changing, an insane time/efficiency saver, and would avoid a whole slew of bugs encountered in a song/MIDI-based programming workflow.


Only if you're curious: here's the expanded reasons as to WHY IT'S POWERFUL (its a copy paste so some may repeat from above):
Where it becomes incredibly useful is during the initial programming when I have to start, stop, start, stop, start, stop the song in Ableton to tweak colors, try different motion options, switch EFX, etc... If I don't have flash set on my buttons my lights are constantly getting stuck in a random states of colors when I hit the stop button in Ableton (which is always at different times), then jump to a different section of the song or even just restart the same section.... Sometimes I'm starting and stopping the same 2 second part of a song over and over just to try a new combination of colors, motion, brightness, pointing, etc and if I don't use flash I usually have to go back to QLC and hit a 'reset all' kind of button then switch back to Ableton, just to watch that section again - essentially doubling (or sometimes way more) my workflow time.

It's also highly problematic when starting in the middle a song section where the MIDI notes to trigger color, for example, first 'played' 30 seconds ago. Not only do I have to reset my color states each time but I then have to listen to the entire 30 seconds (needlessly) just to get to the part I want to view - because having 'MIDI chase' on (the function that allows Ableton to send a MIDI signal even if you don't start playback from the beginning of that note) exacerbates the problem, resulting in some colors on, some colors off, some colors 'wrong', etc... Idk if this makes sense but I have my entire color section set up to flash and it has been INSANELY beneficial.

Lastly, if I'm copy/pasting song sections and I paste Chorus 1 to Chorus 2 I may forget that Verse 1 and Verse 2 used different colors, so where as Chorus 2 previously had the correct MIDI notes to toggle Verse 2's colors back off, I've now pasted over those 'off commands' by pasting the other chorus in place. Sometimes I'll copy paste MIDI regions a couple hundred times while building the lighting for any one song... LOTS of time wasted having to find these bugs and fixed them - 2 seconds to paste the new look for a chorus, 30-60+ seconds to find where I'm not toggling colors off correctly adds up fast!

Edit: I do realize some of these issues could be rectified with a solo frame with a singular reset button inside, instead of having to turn each thing off by hitting the exact same button again but this also causes some other issues (like not being able to color blend scenes, or trigger multiple relative motion EFX at once, etc) so I'm trying to avoid that