Comment 12 for bug 1481170

Revision history for this message
Daniel Schürmann (daschuer) wrote :

I have found a hint that shows how Pioneer thinks about it:
http://djtechtools.com/2015/07/08/creative-tips-for-pioneer-fx-spiral-effect/

"
The effect on/off button is your release button – use it when you want to release the effect and let the spiral fade out. This sounds way better than just turning down the dry/wet knob.
"

So it looks like Ferran's right click proposal heads in a good direction. I would suggest to put the new "input_enabled" (2) on the left button since it looks like this is the industrial standard.
Cutting the output (the current "enabled" control) can goto the right.

For the technical implementation we have to consider 3 different enable controls, that can be all used on the controllers and are already used on the skins and are mappable for the different effect layouts on controllers:
* [EffectRack1_EffectUnit1], enabled
* [EffectRackX_EffectUnitX_EffectX], enabled
* [EffectRackX_EffectUnitX], group_[XXX]_enable

Which one needs the fade out feature? It looks like all of them because all are
The new control can be named like "input_enabled" once it is pressed, it enables the normal "enabled" control as well.
If it is disabled, it actually only disables the input, while the effect is still processed and may produce output samples.

The blinking indicator for the idle state will work for me. For this, we need a new "enabled_indicator" control.

A silence detection for each effect in Mixxx will take also an amount of CPU and it is hard to do it "Right" without knowing the effect (I think of external LV2 effects). So maybe a cooperative approach works better. Mixxx can tell the effect that its input is disabled and the effect can decide what to do.

The extra CPU for an idling effect might be no issue, since the user has used the effect before and there was enough CPU.
So in most cases there is still enough CPU. If that is an issue, the user can still disable processing by right click.

The user is also able to re-map the controller back to the current behavior.

What do you think? Will this work?