Skip to content

Effect load metaknob behavior#1574

Merged
Be-ing merged 7 commits intomixxxdj:2.1from
Be-ing:effect_load_metaknob
Apr 3, 2018
Merged

Effect load metaknob behavior#1574
Be-ing merged 7 commits intomixxxdj:2.1from
Be-ing:effect_load_metaknob

Conversation

@Be-ing
Copy link
Copy Markdown
Contributor

@Be-ing Be-ing commented Apr 1, 2018

Follow up to #1517, which I accidentally pressed the merge button for too early

@Be-ing Be-ing added this to the 2.1.0 milestone Apr 1, 2018
Copy link
Copy Markdown
Member

@daschuer daschuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need some more string tweaks.

Comment thread src/effects/effectchainmanager.cpp Outdated
}

bool EffectChainManager::getAdoptMetaknobPosition() const {
bool EffectChainManager::getAdoptMetaknobPositionSetting() const {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setting prefix is unusual in Mixxx.
How about isAdoptMetaknobPositionEnabled
Position can also be missleasing.
IsAdoptMetaknobValueEnabled()

checkBoxAdoptMetaknobPosition->setChecked(m_pConfig->getValue(
ConfigKey("[Effects]", "AdoptMetaknobPosition"), true));
bool effectLoadMetaknobBehavior = m_pConfig->getValue(
ConfigKey("[Effects]", "EffectLoadMetaknobBehavior"), true);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general I prefer a bool config value, according to my comment above AdoptMetaknobValue.
If you think we need a third option in future. We need an enum type, for now with two elements.

<item>
<widget class="QRadioButton" name="radioButtonKeepMetaknobPosition">
<property name="text">
<string>Keep metaknob position</string>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping the position is not the most important thing.
It is that the effect parameter are forced to the metaknob value instead of the default.
That's why I prefer "Adopt metaknob value" or any other short phrase that expresses this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think people who have not been following this discussion will understand those implementation details. What they will see is whether the metaknob moves or not when they switch effects.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A more detailed description might help:
[keep/preserve/respect] metaknob position and [adopt/adjust/apply to] effect parameters
Please choose whatever wording fits best here, since I'm not a native speaker.

Technically it is "loading", but the actual use case is "switching" from one effect to another. "Loading and switching effects" instead of "Load behaviour" might be easier for identifying the use case.

Copy link
Copy Markdown
Contributor Author

@Be-ing Be-ing Apr 3, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those are too many words for the preferences UI:
image
I'd like to keep it how it is here.

comboBoxScreensaver->setCurrentIndex(comboBoxScreensaver->findData(inhibitsettings));

bool effectLoadMetaknobBehavior = m_pConfig->getValue(
ConfigKey("[Effects]", "EffectLoadMetaknobBehavior"), true);
Copy link
Copy Markdown
Contributor

@uklotzde uklotzde Apr 2, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"behavior" is not a good naming for a boolean value.

When switching effects we can only preserve one of the following knob positions without inconsistencies:

  • effect parameters
  • metaknob
  • superknob

You choose one these. The positions of the chosen one and all following in downwards direction are kept/preserved, while the corresponding parameters of all others in upwards direction need to be adjusted/adopted accordingly. Currently I don't see any more possible choices. The ordering with the implications might even give hints how a good user interface for this selection might look like.

Just brainstorming in the morning to help you find a good name.

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 2, 2018

@Be-ing: will you fix the remaining issue or should I?

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Apr 3, 2018

I don't think I'll have time. It's just code cleanup at this point. If you want to take care of that for the release candidate, go ahead but it's no big deal if it doesn't get done.

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 3, 2018

Here it is: Be-ing#18

…ehavior

use isAdoptMetaknobValueEnabled and "[Effects]", "AdoptMetaknobValue"
@Be-ing Be-ing merged commit ac9b40f into mixxxdj:2.1 Apr 3, 2018
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Apr 4, 2018

This broke MetaLinkTest.SuperToMeta_Softtakeover_EffectEnabled

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 4, 2018

I cannot confirm this.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Apr 4, 2018

The build servers, Travis, and AppVeyor are confirming it.

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 4, 2018

Not in the latest 2.1
Feel free to disable the test, if it causes any trouble.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Apr 4, 2018

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 5, 2018

Ok, I was able to reproduce it here. I will push the fix directly to 2.1

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Apr 5, 2018

f2e0e1f

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants