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

Cover art support 3 #2

Merged
merged 49 commits into from
Aug 4, 2014
Merged

Cover art support 3 #2

merged 49 commits into from
Aug 4, 2014

Conversation

cardinot
Copy link
Owner

  • 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)

- 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

Conflicts:
	src/library/coverartcache.cpp
…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.
… in the working threads (search and load images)

For more details, see new commented lines...
- 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...
… 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...
…()" 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)
- using qset instead of qlist
- removing qassert
- changing @param and @return of saveCoverArt() and updateCoverArt()
cardinot added a commit that referenced this pull request Aug 4, 2014
@cardinot cardinot merged commit e17ae9b into coverArtSupport_2 Aug 4, 2014
@cardinot cardinot mentioned this pull request Aug 4, 2014
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants