-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose [BPM],sync_lock_algorithm option in deck preferences. #11828
Conversation
Unfortunately this is still required to have a reliable transition with non const beat-grids like in 2.3.
// and editing code is committed and we no longer need the lock bpm fallback option. | ||
enum SyncLockAlgorithm { | ||
// New behavior, which should work if beatgrids are reliable. | ||
PREFER_SOFT_LEADER, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if I'm missing something, but isn't it irrelevant if the leader is implicit/soft or explicit?
PREFER_SOFT_LEADER, | |
PREFER_LEADER, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The explicit leader (full crown symbol) is always preferred. This feature is about the automatically selected soft leader.
"Shall the follower follow a dynamic tempo or should both follow a steady tempo?"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently this preferences option is designed to be extensible for more features that will come on the table once we have rhythm detection implemented.
Does it make sense to decouple it?
Initial description and screenshot updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just some twekas. Still not a native speaker, but it feels a bit better.
Co-authored-by: ronso0 <[email protected]>
const EngineSync::SyncLockAlgorithm syncLockAlgorithm = | ||
static_cast<EngineSync::SyncLockAlgorithm>(m_pConfig->getValue<int>( | ||
ConfigKey(BPM_CONFIG_GROUP, SYNC_LOCK_ALGORITHM_CONFIG_KEY), | ||
EngineSync::SyncLockAlgorithm::PREFER_SOFT_LEADER)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seeing this snippet while starting the review a couple weeks ago was the entire reason for why I implemented #11883 😅
Please update this and the snippet below when merging to main
.
The manual can be found here: mixxxdj/manual#589 |
1549eda
to
dcfc9e2
Compare
dcfc9e2
to
783c041
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just a proposal for the tooltip.
Co-authored-by: ronso0 <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
previous comments still apply as well, lgtm otherwise.
This is ready for merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
src/defs_urls.h
Outdated
@@ -53,6 +53,8 @@ | |||
MIXXX_MANUAL_URL "/chapters/preferences.html#library" | |||
#define MIXXX_MANUAL_CUE_MODES_URL \ | |||
MIXXX_MANUAL_URL "/chapters/user_interface.html#using-cue-modes" | |||
#define MIXXX_MANUAL_SYNC_MODES_URL \ | |||
MIXXX_MANUAL_URL "/chapters/user_interface.html#sync-and-rate-controls" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that ___ has been merged, we should link to https://manual.mixxx.org/2.4/chapters/djing_with_mixxx#sync-lock-with-dynamic-tempo
Btw, when I click the (?) link I end up at https://manual.mixxx.org/2.4/chapters/user_interface.html#sync-and-rate-controls + X * PageDown (at the effects section)
Thank you! |
Unfortunately this is still required to have a reliable transition with non const beat-grids like in 2.3.
This has been a hidden preferences option introduced here: #3698 as a workaround until unstable / dynamic outro tempos have been fixed, which never happens.
Details have been discussed here: https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/sync.20lock.20with.20variable.20tempo.20tracks
With the later improvements we have already introduced and #11831 applied this works now very good for me. You can pick "Follow implicit leader" if you have only a few tracks with non const beat grids, or "Use steady Tempo" if all are non const. This way are safe from messed up transitions. Both modes allow to change that behaviour on the fly by making the on of the tracks or the internal clock the explicit leader.
The tooltips are: