Skip to content

(fix) Avoid engine freeze when loading a new track while scratching with waveform or spinny#15086

Merged
daschuer merged 1 commit into
mixxxdj:2.5from
ronso0:scratch-load-freeze-fix
Jul 16, 2025
Merged

(fix) Avoid engine freeze when loading a new track while scratching with waveform or spinny#15086
daschuer merged 1 commit into
mixxxdj:2.5from
ronso0:scratch-load-freeze-fix

Conversation

@ronso0
Copy link
Copy Markdown
Member

@ronso0 ronso0 commented Jul 11, 2025

Closes #15082

As proposed there, reset PositionScratchController on track load:

  • release [ChannelN],scratch_position_enable
  • reset the flags m_inertiaEnabled and m_isScratching
  • reset m_rate

How to reproduce / confirm the fix:

  • load a track
  • left-click, move and hold its waveform or spinny to stop the track / start scratching
  • load a track to this deck (Shift+Left or via controller)
  • engine freeze (you click still do stuff in the GUI, eg. seek with in the overview but no sound anymore)
  • closing Mixxx will close the main window but the process will not exit.

Waveform and spinny would still show the drag cursor (hand) but moving it would not scratch.
Though this minor inconvenience is negligible IMO.

Copy link
Copy Markdown
Member

@Swiftb0y Swiftb0y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM. No testing done though.

@ronso0 ronso0 force-pushed the scratch-load-freeze-fix branch from e24e599 to 18f89d2 Compare July 12, 2025 22:09
@ronso0
Copy link
Copy Markdown
Member Author

ronso0 commented Jul 12, 2025

Thanks for taking a look!

I tweaked it a bit (avoid the potential double call in EngineBuffer::ejectTrack()).

And I added repro steps to the description.

Copy link
Copy Markdown
Member

@daschuer daschuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and the issue is fixed.

@daschuer daschuer merged commit beee4bd into mixxxdj:2.5 Jul 16, 2025
15 checks passed
@ronso0 ronso0 deleted the scratch-load-freeze-fix branch July 16, 2025 20:25
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.

3 participants