Hi,
I saw a post about improving theatrical workflow and I would like to say thanks...
What I missed last time I was working with QLC+ is better ability to live editing, please check following description:
I have a multipage frame with 8 faders mapped to korg nano. 3 pages exists to control 24 dimmers. Each dimmer has level monitoring enabled.
I set intensities on all pages
Now I want to change intensity on page 1. Slider is set to value eg. 205 but physical fader on controller is on 30 like it remained from last action on page 3.
If I move the fader, slider jumps from 205 to 30 and then I can set new value
Desired behavior would be to not change slider until fader reach its current value. Such 'catching' usually works on bigger theatrical desks.
I'm not sure if anything similar isn't already implemented, but I have not found that.
indeed this would be great for controllers, that don't have motorized faders. Maybe I'll try to implement something like this in the next few days and set up a pull request.
EDIT: The only known drawback at the moment is that you cannot move fast over the value to catch the slider - you have to move slowly over it, catch it and then it follows. I was not able to implement it in a way that it is always caught..
I used the attached workspace to test basic functionality btw.
GGGss wrote:If this work all right - why not make it into a settings-parameter?
option whise enabeling this feature would be great
...
Indeed I thought about this, but I came to the conclusion that you only want to have this behavior if you have no motor faders. If you have motor faders your feedback is updated anyway. The only problem is if you have motor faders and don't want to have immediate feedback, so don't connect feedback to your universe, AND don't want to have this behavior. This would not be configurable, but I really don't see why one would do something like that..
I really quickly skimmed through the commit
- maybe you can catch faster movement of external fader if you check not only when they are (almost) equal, but if the fader crosses the value (either slider was above and now is below the value, or vice versa)
I'm not shure how hard/easy is to implement. You'd need to handle movement of the on-screen fader -- most probably start the catch algorithm from scratch.
- grammar nazi comment: past tense of catch is caught... or at least I was taught so.
janosvitok wrote:- maybe you can catch faster movement of external fader if you check not only when they are (almost) equal, but if the fader crosses the value (either slider was above and now is below the value, or vice versa)
I'm not shure how hard/easy is to implement. You'd need to handle movement of the on-screen fader -- most probably start the catch algorithm from scratch.
I already thought about that, but this would need some kind of remembering the last value from the input source with an extra variable which I didn't consider very elegant. Maybe something else comes to my mind...
janosvitok wrote:- grammar nazi comment: past tense of catch is caught... or at least I was taught so.
You're absolutely right, I realized this while setting up the PR Will fix this in one of the next commits.
Wow, you were fast.
Funny thing is that I cannot find my korgNano after moving into new flat. Maybe I have left it in theatre - I will check it afternoon.
Works good when switching pages, but not after you press the Override reset button, then it still jumps up! Its not i big deal, but im trying if i an use this button as a clear button (like in Gradma and others). Thanx for all the work!
janosvitok wrote:- maybe you can catch faster movement of external fader if you check not only when they are (almost) equal, but if the fader crosses the value (either slider was above and now is below the value, or vice versa)
I'm not shure how hard/easy is to implement. You'd need to handle movement of the on-screen fader -- most probably start the catch algorithm from scratch.
I was able to implement this. Still I don't think it is very elegant, especially because it needs two additional variables. Anyway, it works...