-
-
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 assertion in Lp1839669 #2235
Conversation
…ffer::updateIndicators. Fixes lp1839669.
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.
Fix looks good, just a few comment nits for typos. Thanks!
src/engine/enginebuffer.cpp
Outdated
double ratio = m_tempo_ratio_old; | ||
if (ratio == 0.0) { | ||
// In case the track is slowed done to zero we will have INF relaining seconds | ||
// We jump back to a rate of 1.0 to show a useful time. |
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.
inconsistent tabbing in this block
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.
fix typo: "In case the track is slowed done to zero we will have INF remaining seconds.
// We jump back to a rate of 1.0 to show a useful time."
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.
@daschuer Ping
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.
Also fixed
src/engine/enginebuffer.cpp
Outdated
// no track loaded, function not called in this case | ||
return; | ||
if (!m_trackSampleRateOld) { | ||
// this happens if Deck Passthrough is active but no track is loaded |
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.
punctuation: "This happens if Deck Passthrough is active but no track is loaded. We skip indicator updates."
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.
@daschuer Ping
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.
This should also be fixed.
src/util/duration.cpp
Outdated
if (dSeconds < 0.0) { | ||
// negative durations are not supported | ||
if (dSeconds < 0.0 || !isfinite(dSeconds)) { | ||
// negative durations and isnane high values are not supported |
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.
isnane -> isNaN
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.
@daschuer typo still not fixed
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 cannot find this anymore.
Done, thank you for review. |
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.
Test fails because the special case "?" is not handled.
@daschuer Ping |
@daschuer Ping again |
Thank you for the remainder. Done! |
Please merge master and push again. I still see test failures in the AppVeyor Windows build. |
@daschuer Ping |
I'm experiencing another debug assertion. Not sure it is a follow-up error that will be fixed by this PR:
The actual values upon loading a new track:
Looks like uninitialized or bogus values. |
I didn't notice those issues recently, because debug assertions were unintentionally disabled. |
It happens for various files, different formats, at different positions. I will revert back from a CMake build to an SCons build and test again. Update: Issues are independent of the build system. |
Caused by #2196 |
Fix was merged in #2334 |
Still test failures |
On my system the test runs without any issues. Strange the first works the second not. Anyway I need to guard for qint64 max es well. Hopefully the test go though then. |
Builds, all tests pass and the debug assertion no longer occurs when trying to load a track into a deck with passthrough enabled. LGTM. A bit OT: We should really try to improve the passthough UX. I had this issue a while back when the "CH 1 INPUT" hardware switch on my controller was accidently set to "LINE" (which enables passthrough for that deck). I didn't realize that at first and wondered for ~15 minutes why I can load a track into that deck but Mixxx refuses to play it. Can we disable the deck completely (no track loading, grey out all play/pause/cue buttons, replace waveform with a) a live waveform from the input stream or b) a overlay that says "Passthrough")? |
LGTM Ping @ywwg |
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.
This should be ready to merged, or did I miss a comment?
No veto on ping, so let's merge this now! |
This should fix a https://bugs.launchpad.net/mixxx/+bug/1839669.
Unfortunately I can't reproduce the bug by loading a first track only.