Skip to content

Preferences fixes#1377

Merged
daschuer merged 28 commits intomixxxdj:masterfrom
Be-ing:preferences_cleanup
Dec 22, 2017
Merged

Preferences fixes#1377
daschuer merged 28 commits intomixxxdj:masterfrom
Be-ing:preferences_cleanup

Conversation

@Be-ing
Copy link
Copy Markdown
Contributor

@Be-ing Be-ing commented Nov 12, 2017

  • Split bottom sections of Interface preference pane into new Deck pane
  • Fix Interface and Deck panes so settings are only applied when pressing Apply button
  • Fix loading of rate range from empty profile https://bugs.launchpad.net/mixxx/+bug/1676140

@Be-ing Be-ing force-pushed the preferences_cleanup branch from 5f9a243 to 29ef9d1 Compare November 12, 2017 05:55
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Nov 12, 2017

Yikes there were a lot of dusty cobwebs in that code! I didn't take care of all of them, but it should be more manageable now. Please test and make sure nothing broke.

Copying @ywwg's checklist for testing preference changes:

  • Restore defaults should work
  • change some values, hit cancel, reenter pane. Changes should have been cancelled
  • change some values, hit apply, close and reenter pane. Changes should have been accepted
  • change some values, apply, see that Mixxx actually obeys the changes.
  • change some values, apply, exit mixxx, restart. Changes should still be reflected.

This whole checklist should be tested for every option in both the Interface and Decks panes.

m_pControlsButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);

m_pDecksButton = new QTreeWidgetItem(contentsTreeWidget, QTreeWidgetItem::Type);
m_pDecksButton->setIcon(0, QIcon(":/images/preferences/ic_preferences_decks.png"));
Copy link
Copy Markdown
Contributor Author

@Be-ing Be-ing Nov 12, 2017

Choose a reason for hiding this comment

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

Note that this icon for the new Decks preference pane does not exist yet. @ronso0 or @esbrandt would you like to make it?

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.

Something like a Play icon should do.

ic_preferences_decks

ic_preferences_decks2

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.

What's your preference? I like the boxed Play more because I asscociate it with a container rather than behaviour

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.

You can take them from the comment, they are not altered/compressed.

Comment thread src/preferences/dialog/dlgprefdeck.cpp Outdated
@@ -0,0 +1,623 @@
/***************************************************************************
dlgprefcontrols.cpp - description
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.

dlgprefdeck.cpp ?

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.

Good catch, thanks. That comment could be removed entirely.

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.

Yes

@daschuer
Copy link
Copy Markdown
Member

If you change to auto scaling the default skin is loaded and not the configured skin.

How about moving the waveform options into root?

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Nov 12, 2017

If you change to auto scaling the default skin is loaded and not the configured skin.

I'll look into this.

How about moving the waveform options into root?

Yep, I am planning on it.

@sblaisot
Copy link
Copy Markdown
Member

Can you please provide before/after screenshots in UI related PRs? this way, one doesn't have to compile/install a version including this PR to see what changed.

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Nov 15, 2017

Bug 1731774 could be fixed here as well.
Do you plan to do so? If yes, do we have vector sources for those images somewhere?
I can help with that, it's a matter of minutes once we agreed on an appropriate bg color.

@Pegasus-RPG
Copy link
Copy Markdown
Member

I second the inclusion of before & after screen shots.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Nov 16, 2017

Not much has changed with the GUI. I'm mostly looking for people to test to make sure nothing broke.

Before:
image

After:
image
image

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Nov 16, 2017

Looks nice!

Now that the Interface section is cleaned up, what about displaying the skin <description>
below skin drop-down like we have for controllers?

…ng Apply

somehow DlgPrefInterface::slotApply is shown when closing the
Preferences window even if the Interface pane is never shown and the
Okay button is used to close the window.

Also, configuration values should never be set outside of the
preferences code!
Comment thread src/skin/skinloader.cpp
configSkin = getDefaultSkinName();
}
m_pConfig->set(ConfigKey("[Config]", "ResizableSkin"),
ConfigValue(configSkin));
Copy link
Copy Markdown
Contributor Author

@Be-ing Be-ing Nov 20, 2017

Choose a reason for hiding this comment

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

It should not be possible to set configuration values outside of the preferences code! The whole preferences system could really use a thorough cleanup. It's very brittle.

This order is somewhat arbitrary. I am trying to put it in order
of what I think is most important for users to configure first.
@daschuer
Copy link
Copy Markdown
Member

The numeric value of the ramping pitch band slider is somehow meaningless.
It would be nice to set it to set the slider in relation to the fin an coarse values below.
Can we mark the slider ends reasonable?

@daschuer
Copy link
Copy Markdown
Member

In 50% scaling is the Deere parallel waveforms are too high

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 18, 2017

Okay, I think this is done. Please test.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

Ping. The rate range bug must be fixed for the beta release.

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Dec 21, 2017

Anything specific to test?

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

Refer to the checklist above

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Dec 21, 2017

I started without a config file.
In all categories I checked, individual settings persist.

Sound Hardware: works

Library: works

Controllers: enabled mapping for USB mouse, setting persists. Restore Defaults won't uncheck it though

AutoDJ: works

Decks: Restore Defaults doesn't work, they appear to be applied in Preferences but aren't in skin. When going back to Preferences all my individual settings are back. Same after restart.

Interface: same issue

Waveforms: initially waveform zoom was set to 33% (started with Shade). Restore Defaults sets this to 20%, but individual setting Synchronize Zoom is always re-checked when opening Prefs again

Equalizer: deck-specific EQ/QuickEffect settings don't persist a restart, instead this is reset and individual settings from deck1 are applied

Crossfader: works

Live Broadcasting: don't now if it's intended, "Turn on Live..." is reset to Off after disconnecting Broadcast in the menu. No further testing

Normalization: Apply ReplayGain is re-checked after restart, replay gain mode persists

Recording: defaults don't persist after resetting from individual settings

Beat Detection: works

Key Detection: works

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 21, 2017

Regarding restoring defaults, I was under the impression that clicking that button should not immediately apply the defaults and the Apply button should need to be pressed to get them to apply. @ronso0 are you saying that is not intuitive? Should Restore to Defaults also apply immediately?

@ronso0
Copy link
Copy Markdown
Member

ronso0 commented Dec 21, 2017

No, Restore Defaults sets all options and Apply ..well applies them unless one hits Cancel.
I saw the check list just after reporting my results, and considering the results, I didn't repeat the tests without Apply ;)

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 22, 2017

So should we merge this as-is or should I make the Reset to Defaults buttons in the Interface and Decks panes immediately apply the defaults?

@daschuer
Copy link
Copy Markdown
Member

Reset do defaults should not imply Apply. A user may whish to just check the default value for a few items without applying all.

How is the state of my findings? I think we need a Launchpad bugs if they are not addressed here.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Dec 22, 2017

If I change the Cue mode, from Pioneer to Mixxx, the play button keeps blinking. It stops blinking after using it.

I cannot reproduce this.

The numeric value of the ramping pitch band slider is somehow meaningless.
It would be nice to set it to set the slider in relation to the fin an coarse values below.
Can we mark the slider ends reasonable?

With what? "Low" and "High"? Which label belongs on which side?

In 50% scaling is the Deere parallel waveforms are too high

I'm not sure what you mean, but that doesn't sound like a bug with the preferences. It sounds like a bug in the waveforms or skin.

All other notes addressed.

@daschuer
Copy link
Copy Markdown
Member

Ah okay, so the PR related things are done.
Good work, thank you!

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.

6 participants