Effects need a unified interface.

Bug #1481083 reported by Ferran Pujol on 2015-08-03
This bug report is a duplicate of:  Bug #1531519: unify effects skins around Deere. Edit Remove
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mixxx
Undecided
Be

Bug Description

Right now, the effects lack a unified interface. Each one has its particular set of knobs and buttons, ranging from two to four, plus the superknob. This is painful both at skin and controller script level.

We really need to provide a default interface for all the effects. For example, three knobs and three buttons plus D/W and chain on button (Traktor). Or make one of this knobs always a beat length knob (Serato).

If an effect has more than three parameters, we can:
1-Make them only modifiable via the preferences dialog (and controller scripts of course). Sort of, you tune the reverb to your liking and then go and use it.
2-Additionaly let the user choose which parameters Mixxx should show in the interface along with the superknob. This is equivalent to let the user reorder the fx parameters.
3-Additionally/alternatively let the user edit the superknob mapping.

IMHO, this makes the use of effects difficult, so this should be part of 1.13.

Daniel Schürmann (daschuer) wrote :

Yes, there is definitely room for improvements.

During the design of the Effect back end we have carefully considered the controller mappings.
The result was that we aim to be able to control the effect by the Super knob and the D/W knob only.

In Bug #1299215 you find a discussion how we may improve this.

Your 2 is already implemented in the LV2 branch. Your 3 is already working in Shade.

Changed in mixxx:
status: New → Confirmed
Daniel Schürmann (daschuer) wrote :

I do not agree that we need to unify the effects at the effect level.
I am afraid this will fail, since the effects are so different, and we have no control of them in case of external effects.

Be (be.ing) wrote :

No, we don't need to unify each effects; we need to unify the skins to provide the same workflow in each skin. I like how Traktor toggles between single effects view that can control every parameter and chain view which presents one knob and one switch for 3 effects. For effects with more than 3 knobs, I think there should be some sort of advanced effects view in addition to the single effect and chain views that shows all of them.

Be (be.ing) wrote :

I'm not sure if Traktor's single knob per effect in chain view is a single parameter or a super knob.

Ferran Pujol (ferranpujol) wrote :

> Your 2 is already implemented in the LV2 branch. Your 3 is already working in Shade.

These are good news :)

> I'm not sure if Traktor's single knob per effect in chain view is a single parameter or a super knob.

It depends on the effect, some of them control just one parameter and some of them are super knobs.

Based on your comments here and in https://bugs.launchpad.net/mixxx/+bug/1299215, a solution that would appeal to me would be:

1-Effect chains show the superknob, the dry/wet knob and the first n parameters, where n is user-selectable in the config pane. Of course n would have a maximum to ensure we can fit all the knobs to the skins.

2-Each effect orders its parameters in importance. User-definable order is already implemented in a branch.

3-We could add a cool feature that when a controller preset is used, Mixxx automatically (or opens a dialog to ask the user) sets n to match the number of effects knobs available on the user's controller.

4-If an effect has more than n parameters Mixxx places the rest of them in an advanced pane that replaces the effect rack GUI while open.

Is this what you already had in mind?

Daniel Schürmann (daschuer) wrote :

We have to be careful not to only optimize for Traktor style controllers out there.
We have discussed this earlier, and we have decided not just copy the Traktor interface.
We need something more flexible / more simple, that fits to all Controllers up to a good grade, but on the expense that it may not allow exactly the Traktor workflow.

> 1-Effect chains show the superknob, the dry/wet knob and the first n parameters, where n is user-selectable in the config pane. Of course n would have a maximum to ensure we can fit all the knobs to the skins.

It would work best for me to distinguish between two Effect chain views, similar to what I have tried in Shade:
A "During Mixing view" that reflects controls that are during a transition.
A "Prepare view" that allows to tweak individual Effect parameters

> 2-Each effect orders its parameters in importance. User-definable order is already implemented in a branch.

Not the order, only hiding.

We have discussed to order the parameter in Importance, by default. But today I am convinced that this will not work.
A configurable / flexible super knob mapping is IMHO a better choice.
Thats why I came up with the "focus" Idea.

We need to look on the use cases. For now we allow these two main use cases are:
1.) Use Effects during a Transition -> All on one knob, since the DJ has a limited amount of hands :-)
2.) Tweak a fancy effect: Three knobs are not enough. The user should see all features, in a way the effect writer has arranged it.

I know that user are starting to map individual effect Parameter. This was not intended during the effect design to map theses individual knobs to hardware. But there seams to be a demand.
This might be issued by a set of super knob, that are mappable to individual parameters.

Ferran Pujol (ferranpujol) wrote :

>We have to be careful not to only optimize for Traktor style controllers out there.
Surely, It was just an example. In fact I like the idea of choosing how many additional knobs you want on screen.

> This might be issued by a set of super knob, that are mappable to individual parameters.
I like that. In fact my concern was that with only a single super knob, all users with a controller with Traktor-like fx layout will end up with two useless knobs. I like the idea to map them to additional superknobs, it is a good general solution.

Be (be.ing) wrote :

>In fact I like the idea of choosing how many additional knobs you want on screen.

I don't. I think it's overcomplicated. I think the skins should show 3 or maybe 4 effect parameter knobs in the simple views of both single effects and chains. If users want to really tweak more than that, that's what the effect editor/advanced mode would be for.

>In fact my concern was that with only a single super knob, all users with a controller with Traktor-like fx layout will end up with two useless knobs. I like the idea to map them to additional superknobs, it is a good general solution.

Likewise. There would be uses for both whole effect chain superknobs (controllers that have very limited controls available for effects) and per-effect "superknobs". Whole chain superknobs would automatically link to the superknob for each effect in the chain. I think it would help to have separate terms for referring to each of these. Maybe "metaknob" for the per-effect knob?

Since it is far too late to implement that for 1.12, what should the interface be for 1.12?

Ferran Pujol (ferranpujol) wrote :

>>In fact I like the idea of choosing how many additional knobs you want on screen.

>I don't. I think it's overcomplicated. I think the skins should show 3 or maybe 4 effect parameter knobs in the simple views of both single effects and chains. If users want to really tweak more than that, that's what the effect editor/advanced mode would be for.

In fact, when I said that I was thinking more of a user with a controller with just one fx knob for example. See Pioneer DDJ-SB.
Then users would see the same number of knobs on screen than in their controllers, rather than seeing two extra knobs they can't tweak. But thinking this better, this is in fact a good thing, because they will be able to tweak the extra knobs with the mouse, so I'm with you.

>Since it is far too late to implement that for 1.12, what should the interface be for 1.12?

Since there's currently no defined standard interface, I'm going to reduce the number of fx units in Deere to two to solve the space issues. This is just a band-aid, but we already know 1.12 is not going to be the best in terms of skins and fx.

Be (be.ing) wrote :

For 1.12, I think the interface should be something that will easily integrate the new features discussed above. I propose something between what Shade and Deere do currently:

2 effects units that show 1 effect by default. Click an icon the expand the chain to show 3 effects. Little bars for editing superknob mappings under parameter knobs like in Shade. Both views show superknobs and D/W. I'm not sure if the single effect view should show any parameter knobs. Having only 2 effects units should leave plenty of horizontal space for the knobs.

Shade should be adapted to use the same controls as the other skins.

Be (be.ing) wrote :

Thoughts on the above proposal?

Owen Williams (ywwg) wrote :

I think for 1.12 we leave it as is, and get feedback from users about which one they like. We can do a poll or something. And then we can make choices based on that.

Ferran Pujol (ferranpujol) wrote :

I agree with Owen. I said I would make all the skins use the same fx interface, but I'm not going to do that for now. If nobody else does it, I'll wait to have a consolidated fx interface (In particular, I mean how to handle using the fx with controllers with a different set of controls. We've discussed this here and maybe somewhere else).

Be (be.ing) on 2016-12-21
Changed in mixxx:
status: Confirmed → In Progress
assignee: nobody → Be (be.ing)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers