-
-
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
Fix LP1855321 - Prevent jumping to main cue #2593
Fix LP1855321 - Prevent jumping to main cue #2593
Conversation
Apparantly the checks have a different notion of what should happen and when. I will look at that again. |
So I now adapted the tests. It may seem lazy to just remove the code that produces the failing tests but I really do not see the use case here. |
Hello! I am the person who introduced this behaviour. My use case was loading a track that has not been analyzed before. In that case, cue point is placed (or rather moved from 0:00.000) when analysis is finished, which is some time after the track is loaded. That's why I implemented "cue point following" (that is how I call this feature). |
It was introduced here: #1242 |
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.
It looks like we actually need to fix that code.
Would you mind to reset your branch to master and implement the change in a new commit?
Thank you .
I propose we target this to the 2.3 milestone. I don't think it should block the beta release though. |
I disagree. This bug is a major regression and a real annoyance in a basic, regular cue/hotcue workflow. |
...somehow at the same level as unreliable Cue button feedback (although I don't experience since I use a no-blinking mode) |
Can you add a specific test for the procedure that's listed in the original bug? It should be pretty easy to do that with code and confirm that the playhead doesn't jump to the wrong places. |
Hi @ronso0 -- designating a PR as a "non-blocker" simply means that we won't hold up the freeze or final release of 2.3 based on this specific bug. Because this bug is relatively small and specific, it will probably be fixed well before 2.3 is finally released. |
It's small & specific, maybe it's easy, can't telll, but it's not fixed, yet... ;) |
it doesn't make a big difference, really. We could hypothesize a user that encounters this exact bug and decides mixxx sucks, but honestly that's unlikely. People usually run in to issues with: 1: setting up controllers before they even get to a point with an obscure / annoying hotcue bug. We still get over a million downloads a year, and there's no other open source alternative, so Mixxx's long term future is safe :) |
After the discussion/clarification of the first PR, an update:
|
... If the track is not playing or was manual cued in the meantime. The rest sounds good. |
Good Remark... |
How comes that the Travis status is still pending? It finished two days ago... |
There was probably a connection issue when travis tried to notify github. Just click on details, all builds passed. |
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 tested this and noticed one minor issue: if quantization is enabled and Seek on load
is set to Main cue
, track jumps when analysis of track finishes. I'll make a PR against your repo tomorrow.
One minor thing: method isTrackAtZeroPos()
is also unused and can be removed.
Just created a PR with a fix for the issue I mentioned yesterday: https://github.com/goddisignz/mixxx/pull/1 |
…ayposition_jump_to_cue
I just saw that the EngineBufferE2ETest.ScratchTestStart now fails for OSX with cmake. Is this something I/someone should investigate? Because I do not have a Mac to reconstruct this. |
does it still pass with master? or is it just this branch? It's possible to look at the waveforms and see what's wrong |
I experienced this also occasionally on Linux. This isn't reproducible reliably - when you simply rerun the tests they usually all pass. This could indicate that there is some race condition in the engine scratch code somewhere. I restarted the build - let's see if this work now. In that case the issue is unrelated. Nevertheless, we should investigate the issue. |
Although the test passed now, how can I do that? Does the Travis build and test generate any data that I can download? IIRC, the test failed and there was something in the log about the faad library missing at the same place. Can't tell if this is relevant or not. |
LGTM |
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 tested this with both preanalyzed and non-preanalyzed tracks. It works pretty good. Toggling quantize also shifts the position only if I didn't seek manually. The additional test that checks the new behaviour looks good and passes. The code also LGTM.
The test was added in mixxxdj#2593 but the Track::setSampleRate method was removed in didn't help detecting this in this case.
This PR fixes https://bugs.launchpad.net/mixxx/+bug/1855321.
The code I removed (or its functionality) should only be executed when a track is loaded and not when its hot cues or other cue points are updated. Even if we are at playposition 0:00 and change a cue point this is not equivalent to a track load.
Checked if jumping to main cue, intro start, and track start still work as before -> yes they do.