mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.43k stars 1.27k forks source link

UI freezes when applying actions on multiple/many tracks #8480

Closed mixxxbot closed 2 years ago

mixxxbot commented 2 years ago

Reported by: sblaisot Date: 2016-02-20T17:11:24Z Status: Fix Released Importance: High Launchpad Issue: lp1547916 Tags: gui, library, metadata


I just discovered a bug in Mixxx 2.0.0 (64 bits on win 10 64b).

If you select a (rather) large number of tracks in the library, open right-click menu and select BPM->Reset tempo and beatgrid, the interface freezes until mixxx has finish resetting tempo and beatgrid on all these tracks.

I've just seen that with 1000 tracks selected.

This should probably be done in another low-priority thread.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-04-18T17:42:47Z


https://github.com/mixxxdj/mixxx/pull/1624

I'll keep this bug and not mark it as a duplicate, because this one actually describes one of the issues with the current analysis architecture. Unrelated to multi-threading.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-04-18T17:43:55Z


Sorry, Sebastien, that I didn't notice this earlier!

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-04-23T07:34:19Z


This is not a duplicate, but a known issue! In fact the new issue recently reported by Sean is a duplicate of this issue:

https://bugs.launchpad.net/mixxx/+bug/1765528

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-04-23T07:38:26Z


We don't need a separate worker thread. I already have an idea in my mind how such a reactive, event-loop-driven TrackActionScheduler can be implemented efficiently:

Some parts of the new TrackAnalysisScheduler might be reusable.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-09-29T14:43:32Z


Unassigning myself, because I don't plan any major changes on the current software design of the UI. Even the mentioned reactive and multi-threaded redesign of the analysis has not been merged, yet.

Instead we should think about decoupling the backend from the frontend and eventually replace the frontend with QML components.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2020-04-21T07:32:33Z


Proof of concept using a modal progress dialog that can be aborted:

https://github.com/mixxxdj/mixxx/pull/2656

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2021-02-24T18:05:59Z


The workaround is in place. Further improvements would require substantial changes to the architecture.

mixxxbot commented 2 years ago

Issue closed with status Fix Released.