Closed cr7pt0gr4ph7 closed 3 weeks ago
Did you notice #13303? FWIW that PR also cleans up the AutoDJ preferences page, so there are some conflicts to be expected (if that is merged before this PR, which is very likely since #133030 addresses a long standing feature request and targets 2.5 while this PR targets main)
Did you notice #13303? FWIW that PR also cleans up the AutoDJ preferences page, so there are some conflicts to be expected (if that is merged before this PR, which is very likely since #133030 addresses a long standing feature request and targets 2.5 while this PR targets main)
Oh, well, not until your comment :sweat_smile: Both this PR and #13303 solve the same underlying issue #11571 [^1], so only one of these should be merged anyway. The code in this PR was written one month before #13303 appeared (so the latter didn't turn up when I looked for related PRs), but I intentionally waited to see if my changes were stable. You just beat me to the punch :D
Therefore closing this PR for now, feel free to reopen.
[^1]: Albeit in two slightly different ways - resetting to 0 when Auto DJ is disabled vs. resetting to 0 when a crossfade has finished & only one track is playing. Both ways have their pros and cons.
You just beat me to the punch
Well, sorry, actually it was @Eve00000 and I adopted their PR ; ) Anyway, sorry you invested time for this.
In general, especially with significant UX changes like this (even if they'optional) it is best to discuss them first. Either comment on the bug report, open a separate feature request or join the devs on Zulip.
Happy coding!
Well, sorry, actually it was @Eve00000 and I adopted their PR ; ) Anyway, sorry you invested time for this.
No harm done :) I had an immediate, personal pain point which I wanted to solve, so whipping up a bit of code was the quickest way to do it.
In general, especially with significant UX changes like this (even if they'optional) it is best to discuss them first. Either comment on the bug report, open a separate feature request or join the devs on Zulip.
Will do :) If often experiment for myself before going into a discussion, though, so that I'm aware of possible solutions and alternatives - sometimes the experiment actually turns out to be enough of a solution. I'll try to take care not to unnecessarily take up your time with duplicate work in the future. (On another note, I didn't actually consider this UX change to be this significant, though, when implemented in an unobtrusive way).
Update: Closed, see #13303 for a different solution to the same underlying problem (#11571).
What does it do?
Add a simple configuration option for the Auto DJ that always resets the crossfader to neutral (
0.0
) while only one track is playing. This improves the use case of switching back and force between manually loading tracks and using the Auto DJ.Is it tested?
I've been actively using a build that includes these changes for a few weeks now, and so far everything seems to work exactly as expected.
Are there any remaining open questions?
[Auto DJ] ResetFaderToNeutralOnIdle
)The setting's default value is currently
false
, so the non-reset behavior is the default.true
would be best to avoid the "surprise" that I had.For advanced users, the only use case that would be affected by a default value of
true
is:I don't know how common this use case is in practice - maybe one of you has more insight into this?
What Problem Does This Solve?
[^1]: This story happened to me a few times (a part of those live...) before I had figured it out:
So, my expectations as a user are:
For Novice Users: I can use Auto DJ to play a few tracks in full, turn it off, and play a few tracks manually without having to care about anything else.
Which implies: I expect both decks to be playable from (aka. the crossfader to be neutral) when there's no reason (at this moment) for it not to be neutral, and no other visible indicator telling me otherwise.
For Advanced Users: Turning the Auto DJ off while two decks are playing and/or I want to manually control the crossfader does not cause the crossfader to jump.
Three solutions come to my mind, the last of which was implemented here: