forked from mixxxdj/mixxx
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Cover art support 3 #2
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Owner
cardinot
commented
Jul 16, 2014
- add cover_art column in Library feature
- add cover_art column in AutoDJ feature
- add cover_art column in Analyze feature
- add cover_art column in Playlists feature
- add cover_art column in Crates feature
- adjust cover art size
- delay cover loading when the user is scrolling fast
- batch updates (avoiding doing many writes in a short time)
…over arts in the tableview
- it will be useful for CoverArtDelegate
- CoverDelegate will not use these signals, so it is important not swell up the qt queue.
…into coverArtSupport_3
…ot draw default covers on tableview
…into coverArtSupport_3
…+ using constant strings
…rs + using constant strings of librarytable
…into coverArtSupport_3 Conflicts: src/library/coverartcache.cpp
…into coverArtSupport_3
…rdelegate::paint() If the CoverDelegate is locked, it must not try to load and search covers. It means that in this cases it will just draw covers which are already in the pixmapcache.
…when the user is scrolling fast
… in the working threads (search and load images) For more details, see new commented lines...
…into coverArtSupport_3
… get it just once
… member to get it just once from CoverCache
- getting coverLocation and md5 column just once; - ordering calls in a better way; After some analysis with valgrind, I noticed that fieldIndex() takes a long time and that we could call it just once (in the construction).
…er that is already stored in db - it avoids calling 'updates' when there is nothing to update...
- it should be done in a single query...
… database at once - sqlite can only do about 50 writes per second, so it is important to collect all new covers and write them at once.
- It is doing the same thing that the signal "tracksAdded" does. - However, it makes the code more readable (considering the purpose)...
- md5 calculation might be a very slow process for big covers
…value got previously in the db - it will be essential to identify if Mixxx is just searching for an embedded cover that was previously loaded. Avoiding recalculate the md5 hash...
…into coverArtSupport_3
…()" calls The method getCoverInfo() can be called hundreds or even thousands times (correctly - it will depends on the library size) mainly in cases when the user is scrolling fast in a new library. I noticed that it were doing many "indexOf" calls in order to get the column numbers and as each "indexOf" call will do a new loop and this was resulting in a considerable loss of performance... just to do unnecessary things...
- After some analysis with valgrind, I noticed that fieldIndex() can takes a long time... - (see commented lines)
27 tasks
cardinot
pushed a commit
that referenced
this pull request
Sep 29, 2014
Don't use pixel values for fonts
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.