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

AsyncImageProvider: Retrieve Cover Art from database instead of file system #4674

Merged

Conversation

Holzhaus
Copy link
Member

@Holzhaus Holzhaus commented Feb 12, 2022

This triggers the following debug assertion:

DEBUG ASSERT: "this->thread() == QThread::currentThread()" in function TrackCollection* TrackCollectionManager::internalCollection() const at /home/jan/Projects/mixxx/src/library/trackcollectionmanager.h:41

Unfortunately, we need something like this to be able to draw waveforms, waveform overviews and coverart in another thread.

Any ideas how to resolve this?

@uklotzde
Copy link
Contributor

Slot/Q_INVOKABLE + QMetaObject::invokeMethod() ensures thread-affinity. But it also requires to handle the result asynchronously in a callback/slot -> hopping between event loop threads.

@uklotzde
Copy link
Contributor

Holzhaus#12

Co-Authored-By: Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de>
@Holzhaus Holzhaus force-pushed the qml-asyncimageprovider-gettrackfromcollection branch from 9cb2aa3 to dfca6f9 Compare February 16, 2022 21:49
@Holzhaus Holzhaus changed the title [DO NOT MERGE] AsyncImageProvider: Demonstrate issue when retrieving tracks in other thread AsyncImageProvider: Retrieve Cover Art from database instead of file system Feb 16, 2022
@Holzhaus Holzhaus marked this pull request as ready for review February 16, 2022 21:51
@uklotzde uklotzde merged commit 19560e2 into mixxxdj:main Feb 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants