Skip to content

Components EffectUnit button parameters#1353

Merged
daschuer merged 2 commits intomixxxdj:masterfrom
Be-ing:components_effectunit_buttonparameters
Dec 21, 2017
Merged

Components EffectUnit button parameters#1353
daschuer merged 2 commits intomixxxdj:masterfrom
Be-ing:components_effectunit_buttonparameters

Conversation

@Be-ing
Copy link
Copy Markdown
Contributor

@Be-ing Be-ing commented Sep 26, 2017

Change the behavior of the 3 effect buttons when an effect is focused. Previously, when an effect was focused, the buttons remained controlling the enable switches of the 3 effects like they did when no effect was focused. Now, when an effect is focused, pressing the buttons controls the button parameters of the focused effect and the state of the button parameters is reflected on the buttons' LEDs. The enable switches for the different effects in the chain are still quickly accessible when an effect is focused by pressing shift and the buttons, but the enable switch states are not reflected on the buttons' LEDs. Both when unfocused and focused, the buttons behave as power window buttons (short press to toggle, keep holding to toggle again on button release).

After adding the Triplet parameter to Echo in #1256, I realized that having access to button parameters on controllers is indeed useful. Now that I have implemented this, I am having fun playing with the kill switches of EQ effects.

…used

With shift, the enable buttons of effects can still be toggled while an
effect is focused, but the enable switch statuses are only shown on the
LEDs when no effect is focused.
@Be-ing Be-ing mentioned this pull request Sep 26, 2017
2 tasks
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Sep 26, 2017

Note that I have not yet tested this with the allowFocusWhenParametersHidden option, so that might not be working.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Sep 26, 2017

There are no public API changes with this. Controller mapping scripts do not need to change anything, just use the midi-components-0.0.js file from this branch.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 17, 2017

@ferranpujolcamins, thoughts?

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Oct 28, 2017

It works fine. As you expected it's buggy with allowFocusWhenParametersHidden enabled, but only if you focus with controller button and unfocus with mouse/GUI. Button parameter would stay lit in that case. But that's not a problem for me.

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Oct 28, 2017

But I still do have a problem with effect knobs and that worn out knob that sends faulty values between 10 and 1 o'clock, somehow components softTakeover fails now and then.
I also have an EQ knob that's worn out, too, but there softTakeover always works and I'd never loose contact to the GUI knob. Though that's not mapped via components.

  1. after Mixxx start I turn the effect knob from far right to the left. When it crosses the center position it picks up the GUI knob but quickly loses it again when turning further left. A full left-right turn fixes this.

  2. during a session that very knob -which is always the Meta knob for Moog filter- somehow drops the low pass filter somewhere around the center when turning it ccw.

I disabled softTakeover here and it works.
I guess I'm not the only who will experience this (every controller will die sooner or later), so maybe an 'softTakeover' option for knob instantiation in controller script could help:
TerminalMix.effectUnit24.knobs[1].midi = [0xB1, 0x01], true/false;

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 28, 2017

Thank you for testing. I will look into those bugs. Aside from those, what do you think about the changed functionality?

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Oct 28, 2017

Hm, as we discussed here, for my use case it's helpful but also disturbing:
I definitely helps setting up effects with controller only.
But sometimes I use a focused Moog Filter without parameters showing to adjust low pass, high pass and resonance for a certain band. Then I want to be able to use the power window button functionality for the effect enable button (press & hold looproll and Effect1) without a modifier key.

But that's a rare case I guess. All-in-all I'd say the focus functionality is more consistent now, assuming most users don't need enable buttons AND parameter knobs directly available at the same time, and they learned that dry/wet knob is the emergency brake in case anything goes wrong.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 28, 2017

After using this for a bit, I agree. Sometimes it is nice to have easy access to the enable switches. I forgot until now that they're still accessible with shift while an effect is focused (with power window functionality -- can we come up with more self-explanatory name for that behavior?). I think the improved consistency makes the behavior easier to understand. Knobs and buttons both control the chain when unfocused and control a single effect when focused.

@uklotzde uklotzde added this to the 2.1.0 milestone Nov 25, 2017
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

@ronso0 I am doubtful the issues with soft takeover you experienced had to do with changes introduced in this branch. That seems like it may be a more general issue with Mixxx's soft takeover implementation. Can we merge this as-is for the beta? I acknowledge the code has gotten a bit hard to follow. I'll work on cleaning it up later.

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Dec 21, 2017

@ronso0 I am doubtful the issues with soft takeover you experienced had to do with changes introduced in this branch.

I didn't think so, too, the issues existed earlier already. I just suspected it was related to components and thought you might fix it here as well.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

Okay, ready for merge then.

@daschuer
Copy link
Copy Markdown
Member

Thank you for working on this.

@daschuer daschuer merged commit d31773d into mixxxdj:master Dec 21, 2017
@Be-ing Be-ing deleted the components_effectunit_buttonparameters branch December 21, 2017 20:29
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants