Show cover art for tracks in Library

Bug #661459 reported by RJ Skerry-Ryan on 2010-10-15
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Marcos Cardinot

Bug Description

This is a UI feature that will make people perceive us as in-line with competition. I don't understand why people find this important to DJing, but I think it would improve our standing and the look of our UI if we showed cover art.

RJ Skerry-Ryan (rryan) on 2010-10-15
Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist

Some people recall things visually. I've always done so with my CDs and records and am actually finding it more difficult to remember the name or artist of a track than the cover art (and where in my case/crates the disc is located) in the heat of the moment.

DJ Kaboodle (djkaboodle) wrote :

I think this would be most useful if the art is clickable, and takes you straight to the album, and not just some art that shows up when you enter a album's or artists's folder (as some programs do). A really simple image browser, like qiv or feh on Linux would be the ideal starting point, where one can use the arrow keys (or mouse actions or whatever) to scroll through the visual library, stop on a cover, and click (or take some other action, like load the whole album into the crate). No bells or whistles, just the art.

To work properly, though, this is going to need a database full of album art, which is going to take up a lot of space for large collections - and images may need to be resized so that one does not go from viewing a 2MB png file that fills the screen to a 5kb gif that is pixelated and murky.

I've felt that DJing on a computer has missed this important element of vinyl DJing; the fun of flicking through the crate and saying "Oh wow, I forgot about this!" If this could be made to work, it would be fantastic.

RJ Skerry-Ryan (rryan) on 2011-11-02
tags: added: library metadata
Walter Lapchynski (wxl) wrote :

The idea of flicking through the collection has me PUMPED, especially if this can be used with the crates.

Daniel Schürmann (daschuer) wrote :

I am working on the integration of parts of the clementine-player into Mixxx.
I not sure in which direction it will lead, bud I have at least cover arts in my Mixxx from lp:~daschuer/mixxx/daschuers_trunk.
Ideas are welcome :-)

You may comment also bug #911743

RJ Skerry-Ryan (rryan) wrote :

Is the cover art just in the clementine view or in all of Mixxx?

Daniel Schürmann (daschuer) wrote :

Today I have only cover arts in the clementine library view in Mixxx. Until now its more like a studie what might be way for the future. The big question on that way are:
* How should the Mixxx library look like?
* How and If we will use clementine code in Mixx?

Daniel Schürmann (daschuer) wrote :
mutil (mutil) on 2012-05-16
Changed in mixxx:
assignee: nobody → mutil (mutil)
status: Confirmed → In Progress
Daniel Schürmann (daschuer) wrote :

Hi multi,

I glad that someone picks this bug up, Thank you mutil!

Can you please give a brief description which parts and how you want to implement it?

I think this bug has strong dependencies to the library re-layout discussion and to my external tagreader project.
Bug #728197

mutil (mutil) wrote :

Hi Daniel,
Attaching a screenshot of how I have implemented it until now.

Actually, I don't think it has to be related to a library redesign, but can positioned at the bottom of the sidebar, refreshing when selecting a track in the tableview (searching for an image file in the path of the track for now, no tablib) and having a toggleable state.

Personally, I am not very of font of a 3 column layout as I can't see many use cases and it will reduce the available space. I prefer having a playlist at the right of the library which can be hidden or pinned (a simplified autodj view) a la virtual dj. From the other hand I would like very much to see a clementine view as in your screenshot, as clementine is my main music organizer/player and I find its library very easy to use and find what you are looking for.

I am waiting for your comments and thoughts on this.

mutil (mutil) wrote :

Here is a first patch to test and share your opinions.

mutil (mutil) wrote :

...and the icons needed for res/images/library

Daniel Schürmann (daschuer) wrote :

Just for reference: Bug #890421 depends on this bug.

Daniel Schürmann (daschuer) wrote :

Hi mutil,

I think your Ideas are a good starting point when we want to introduce cover arts to Mixxx.

I have made a new library design mock-up based on the work of Max (Bug #986704). I have tried to Include my cover art Ideas and
I am looking forward to your critics.

On the subject of cover art back-end you should have a close look to the Clementine source code.
I am not sure if its a good Idea to just copy and fork their solution, but at least of the technical point of view it should be possible.
So I hope this will save you a lot of work.

My results with Clementine can be evaluated in lp:~daschuer/mixxx/features_clementine
Its currently not well documented, so do not hesitate to ask in case of any problem.

What are your Ideas, where to store the covers?



mutil (mutil) wrote :

Hi Daniel,
I generally like yours and Max's new design in the library layout bug (especially the conbined autodj/library view) and I will soon make some comments in lp:986704 when I take a closer look at the mockup.

But, as I see it, there are 4 different bugs/wishlists:
1) cover art in library when navigating through table tracks (this bug, the attached patch partially solves it)
2) cover art in spinny (bug lp:890421)
3) cover art in treeview (like clementine) -- relates to library layout redesign or implementing clementine view as in your branch
4) navigating through cover view -- relates to library layout redesign

The patch in this bug doesn't store covers.
It scales and generates them on the fly, after searching the directory of selected track. I don't think it's too CPU intensive.

I understand the need to have a more organized and global cover policy, but I also believe that the library redesign will be a difficult task and will take time.

So I propose removing this bug from the 3-column blueprint and see if we can improve this patch and commit.

As for the clementine branch, the build fails(something with avcodec related) and I would like to give me some help for building this branch. Are you on IRC with a different nickname than daschuer or should I contact you with email?

Daniel Schürmann (daschuer) wrote :

Hi mutil,

I have just patched lp:~daschuer/mixxx/daschuers_trunk with you patch and Hurray! there are cover arts.

I think this patch is useful to state in a comparison list:
"Able to display cover arts -> yes"
and its a good first step.

For improving DJing by cover arts, two important features are missing
* Browsing by cover
* Tapping different cover sources to have cover arts for almost all tracks.

I would prefer to publish a complete cover arts solution at once.
What do the others think about it?

mutil (mutil) wrote :

I have linked a branch (lp:~mutil/mixxx/librarycover) for anyone who wants to give it a try.
After some testing/feedback, and once we are past 1.11, I will propose it for merging.

As for tapping covers from internet, in my opinion, it's not so significant. Most DJs have already covers in their folders, and I think there are better and most focused apps for doing this work. I, for example, would never use such feature as when I run mixxx I prefer to turn off wifi. I am not against it, but I don't consider it a must-have feature.

I have also filled a new bug (lp:1015894) to separate displaying covers from navigating through them.

mutil (mutil) on 2014-01-13
Changed in mixxx:
assignee: mutil (mutil) → nobody
status: In Progress → Confirmed
k bashar (k.bashar) wrote :

I've made a mock for showing Cover art in MIXXX.
I'm posting here cause i see discussion on cover art in MIXXX is going on here for a long time. so at the end whenever MIXXX is going to implement cover art feature it will be easy to compile all discussion at one place.

I wanted to keep it simple as well as useful as it is intended to be or should be.
In my design MIXXX is showing cover art along with other properties in Library Table.
Why in library table view?
Our hard drive is  a collection of thousands of songs of different album and artist. Not a “record collection” organized in a shelf. So it's really hard to recall every song from only a cover art(and typically all song from one album has same art).
There is a thing, At a time we can't keep eye on two object.
So if we place the Cover art other than in library table with title/artist/... I think it wont be as intuitive as it is should be.
So I'm proposing to place it in library and before title.

And there should be a option for user to chose whether cover art should be shown or not. Well this option we need cause sometime we have plenty of songs without cover art(and user doesn't care to download it from Internet) than it's really boring to look at all those empty cells. And other than that user can choose to not use this feature for no reason, we can't complain :) . so I have added an option to switch between views(with cover art and without cover art).

Anyway I've seen column hiding feature in MIXXX table view but in case of cover art we just don't hide this better don't load this if we don't need. So I think option for showing or not showing cover art is necessary.

Now how about design?
Covert art will be shown in way that will seem to be organized one above other. To be honest I'm inspired in this case from TRAKTOR. And I think it's okay with MIXXX. To have this affect we just need to do some gradient work on image and showing only a portion(like 20% or something like that) of the image.
To have a feel like sorting out songs from your record box, When mouse hover on image (or traverse on the corresponding row) we can show cover art a little bit more(like 40% or something like that). To have this affect we just need to resize the corresponding row.
And when dragging song in deck, To have a real feel of placing record on vinyl we can show cover art with (or without) dragging icon. And this time we show the whole cover art.

Note: sorry in my mock you won't get the feel as stated above, Just have started using Inkspace for this mock. I'll update the mock as early as possible.

Please give your feedback and comments. If design is okay I'll move forward to implementation related discussion.

k bashar (k.bashar) wrote :

updated mock with effect

Max Linke (max-linke) wrote :

Using a cropped image like Traktor is fine. I'm not sure if we really need anything more then just ordinary column hiding, you should check the Qt documentation if column elements are still loaded/rendered if they are hidden.

As well you should think about how covers are stored by users, how mixxx will internally manage covers. I wrote more about that on the mailing list

Changed in mixxx:
assignee: nobody → Marcos CARDINOT (mcardinot)
status: Confirmed → Fix Committed
RJ Skerry-Ryan (rryan) on 2015-12-31
Changed in mixxx:
status: Fix Committed → Fix Released
RJ Skerry-Ryan (rryan) on 2015-12-31
Changed in mixxx:
milestone: none → 2.0.0
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints