Skip to content
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

WaveformRenderMark: Fix debug assertion for special case #3753

Merged
merged 1 commit into from
Apr 17, 2021
Merged

WaveformRenderMark: Fix debug assertion for special case #3753

merged 1 commit into from
Apr 17, 2021

Conversation

uklotzde
Copy link
Contributor

The debug assertion triggered for samplePosition = sampleEndPosition = 0 (only the first occurrence actually but I fixed both).

The debug assertion triggered for samplePosition = sampleEndPosition = 0
@uklotzde uklotzde added this to the 2.4.0 milestone Mar 27, 2021
@uklotzde uklotzde requested a review from Holzhaus March 27, 2021 13:17
@Holzhaus
Copy link
Member

The debug assertion triggered for samplePosition = sampleEndPosition = 0 (only the first occurrence actually but I fixed both).

When does that happen?
For regular hotcues, sampleEndPosition should be -1. For loop cues, this could happen if and only if we allow zero-length loops. Do we?

@uklotzde
Copy link
Contributor Author

The debug assertion triggered for samplePosition = sampleEndPosition = 0 (only the first occurrence actually but I fixed both).

When does that happen?
For regular hotcues, sampleEndPosition should be -1. For loop cues, this could happen if and only if we allow zero-length loops. Do we?

Happened when loading a track.

@uklotzde
Copy link
Contributor Author

Maybe caused by parsing the Serato tags + custom file handling: Serato export enabled + parsing the file tags unconditionally when loading a track (i.e. updating the Track object with its cues from file tags after loading from the database).

@uklotzde
Copy link
Contributor Author

I noticed another nasty and unintended side-effect: Reimporting the Serato tags resets the BPM of a track, even if it was locked.

@Holzhaus
Copy link
Member

Holzhaus commented Apr 3, 2021

Maybe caused by parsing the Serato tags + custom file handling: Serato export enabled + parsing the file tags unconditionally when loading a track (i.e. updating the Track object with its cues from file tags after loading from the database).

You mean that the change signal fires and leads to a data race where the start position has the new state and the end position has the old state?

@uklotzde
Copy link
Contributor Author

uklotzde commented Apr 3, 2021

I don't know why it happens. But the issue is real.

@Holzhaus Holzhaus merged commit d798212 into mixxxdj:main Apr 17, 2021
@uklotzde uklotzde deleted the waveformrendermark branch April 17, 2021 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants