Bug 9919 - Rethink artwork
: Rethink artwork
Status: NEW
Product: Logitech Media Server
Classification: Unclassified
Component: Artwork
: 7.4.0
: PC Other
: -- normal with 7 votes (vote)
: 8.0.0
Assigned To: Andy Grundman
: new_schema
Depends on:
Blocks: 6451 6723 8317 9087 10442 14221 601 6444 7444 8387 8627 9271 9385 9757 10429 10751 12017 13315 14198 14956
  Show dependency treegraph
 
Reported: 2008-11-06 13:21 UTC by Andy Grundman
Modified: 2011-03-14 12:44 UTC (History)
8 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Grundman 2008-11-06 13:21:14 UTC
Artwork needs a complete rethink.

Some ideas:

Scanner should scan every piece of 'media', including image files.
Store these in the database just like audio files.
Link from album/track to image(s).  This way you could display many images for a single album, such as liner notes, back image, etc.
Comment 1 Jim McAtee 2008-12-22 14:36:44 UTC
(In reply to comment #0)
> Scanner should scan every piece of 'media', including image files.
> Store these in the database just like audio files.

Having that capability would be great, but there will need to be options that can direct the scanner in what and what not to scan.  For images, you'd want at least the following selections:

[ ] All images
[x] Cover artwork only
[ ] None (see bug 10429)

You also then need to distinguish between cover artwork (to be use when browsing and in Now Playing) and any other images that may exist in the folder.  The current option listing file names for cover art probably suffices.  In the database, mark one image as 'cover' or 'primary' for both tracks and albums.

And some type of option such as:

[ ] When cover art is missing, use first image in folder

This would tell the scanner whether or not to use another image from the folder as the cover when one of the listed file names (or embedded art) cannot be found.



Comment 2 Andy Grundman 2008-12-22 15:02:02 UTC
To keep it simple, the scanner should:

* Scan all images
* Use the current filename matches (cover thumb album folder) as the cover image if available.  Maybe not 'thumb'...
* Default to the first alphabetical image if no filename matched.
* UI should provide some way to view the other images.
Comment 3 Jim McAtee 2008-12-22 15:13:27 UTC
Just as some people don't want the overhead of the scanner cataloging and creating thumbnails of any of their artwork, they should also be able to opt out of scanning all the miscellaneous image files that are in your music directory, giving them essentially the current behavior.

> Default to the first alphabetical image if no filename matched.

That could be ugly without some way to turn it off.  You have no idea what people have stored in their folders.
Comment 4 Mike Walsh 2008-12-22 18:22:50 UTC
this bug has the keyword, but this isn't listed as a block on 8303?

personally, i would suggest that if no art is found under the predetermined assigned names, then it should use the BIGGEST artwork file it finds, ie. in KB size.  that way it would use the largest and presumably highest resolution / highest quality one.
Comment 5 Neil Davidson (Funkstar) 2009-01-27 06:42:16 UTC
How about adding 5881 into this bug as well?

https://bugs-archive.lyrion.org/show_bug.cgi?id=5881
Comment 6 Andy Grundman 2009-04-13 09:38:49 UTC
*** Bug 11365 has been marked as a duplicate of this bug. ***
Comment 7 James Richardson 2009-06-24 07:53:44 UTC
*** Bug 9385 has been marked as a duplicate of this bug. ***
Comment 8 Andy Grundman 2009-07-29 14:58:49 UTC
Moving 7.4 bugs to 8.0.
Comment 9 Martin Schwenke 2009-08-19 03:26:50 UTC
One thing that needs to happen as part of this is some normalisation of the DB and the associated cache items

I suspect that most users have 1 piece of artwork per album: the cover.  At the moment if I have 1 piece of artwork for an album it will be cached once per track (at each size that is used, or precached).  There isn't really a need to cache any artwork item more than once at each size if the DB is better normalised.

Can I please request that this is fixed before more features are added?  :-)
Comment 10 Joerg Schwieder 2009-08-19 04:10:54 UTC
I don't fully understand what the issue that needs fixing is.
You do have an album artwork track so whenever a client wants to use only one it can do so.
OK, it would be more convenient if on a track you could find out whether two images are identical so you can show the one exception to that rule you have but that isn't a fundamental issue, isn't it?
Comment 11 Mike Walsh 2009-08-19 21:47:37 UTC
i don't mind adding some features...  but the main problem i see trying to be addressed here is when you have artwork that isn't named the way SC wants it.

in my personal case, i'd like SC to look only for these two things, and nothing else, and i wish i could control it that way via options:

1. use Folder.jpg and only Folder.jpg as the source image for all albums, (and grant SC the priv of resampling/resizing/caching)

2. if Folder.jpg is not found, then use the BIGGEST RESOLUTION image file in the dir, if one exists.

in addition, i'd like the ability to scan ONLY for artwork, and scan but IGNORING artwork.

i know mherger said u can go deep into options and turn off caching, but thats not what i want.  i want to be able to pick those kinds of art only/no art scans right where you manually tell SC to scan your music.
Comment 12 Mike Walsh 2009-08-19 21:55:42 UTC
in addition to what i just said, i want to further clarify that what i meant above is that i wish i could tell SC not to look for other "pre-ranked" filenames EVEN WHEN Folder.jpg is missing.  it just makes the scan take longer.

if it is missing, it should simply use whatever biggest res file is there, if any.  going thru a pre-ranking before or after Folder.jpg is just a waste of time in my case, and potentially worse if it uses "albumartsmall.jpg" which i NEVER want used UNLESS, and only if, Folder.jpg is missing AND its the biggest one in there, (unlikely but not impossible).
Comment 13 Richard Perkin 2009-08-21 02:38:29 UTC
The problem that I have is that SC appears to allocate the first image that it finds as the album art. This leads to the following problem:

- folder.jpg is present
- also, each track contains an embedded image
- SC uses the image from Track 1 as the album art :(

What I'm looking for is a solution which gives priority to folder.jpg (or other recognised filename) as the album art so that the album art displays when browsing by album (which SC current does not), and also allows the display of the embedded track image when playing (which SC currently does).

Sounds straighforward to me - but what do I know. If the change needs to be wrapped up in some larger change, then so be it...

Kind regards
Comment 14 Martin Schwenke 2009-08-21 15:15:17 UTC
(In reply to comment #10)
> I don't fully understand what the issue that needs fixing is.
> You do have an album artwork track so whenever a client wants to use only one
> it can do so.

The problem is that I have over 9000 songs on about 700 albums.  This means I only have 700 pieces of artwork, so I would prefer to only cache 700 items, at each size.  Last time I checked SC would cache 9000 items at each size.

The biggest cache items I have (186x186 PNG for controller) currently consume 80KB each.  If they're cached once per album then that consumes a modest 56MB.  However, if the image is cached for each track then just the images for that size consume 720MB.

From a technical point-of-view there is absolutely no need to cache each image more than once.  The database would look like:

  track(track_id, artwork_id)
  artwork(artwork_id, artwork_filename)

However, last time I look it was something like:

  track(track_id, artwork_filename)

and artwork_filename had the *track_id* encoded in it:

  music/9262/cover_186x186_o.png

If there is only 1 piece of artwork per album then neither track_id nor artwork_filename need to encode track_id.

All I am saying is that each piece of artwork should be cached only once at each size.  That way when the controller displays thumbnails for the album it only needs to request one thumbnail.  When it advances to the next track it already has the full-size image that it used for the previous track.

Why not make artwork_id a hash of the original filename rather than the track-oriented filename requested by the controller?

I run SC on an embedded box with a 4GB system disk.  Cache space is limited...  :-)
Comment 15 Mike Walsh 2009-08-21 20:44:53 UTC
yep, i'd agree that an option to use folder art (if present) over embedded art should be included, for all the reasons said in the last two posts.
Comment 16 Richard Perkin 2009-08-22 02:49:16 UTC
(In reply to comment #15)
> yep, i'd agree that an option to use folder art (if present) over embedded art
> should be included, for all the reasons said in the last two posts.

For clarity, I believe the default actions should be:
- *always* use folder.jpg (or whatever) as album art [this is what SC currently does not do]
- *always* use embedded art (if present) as track art
- if no embedded art, display album art as track art
- if no album art, display default image

Kind regards
Comment 17 James Richardson 2009-09-23 07:32:25 UTC
*** Bug 14198 has been marked as a duplicate of this bug. ***
Comment 18 Mike Walsh 2009-10-15 20:25:21 UTC
add:

bug 2470

bug 4699
Comment 19 Richard Perkin 2009-10-16 14:11:41 UTC
I'm now running 7.4 rather than 7.3.3. From my perspective, things have now got worse.

The actions in 7.4 appear to be:
- take the first image found, and allocate it to the album art
- display this image both as album art and when a track is playing.

In the case where there is both album art (folder.jpg) and embedded art in each track (in the specific case, an album of hit singles, with each track having its own different embedded art), this results in:
- the embedded art from Track 1 is allocated as the album art
- browsing by album art shows the art from Track 1 *not* from folder.jpg
- when tracks from the album are played, the Track 1 art is displayed for *every* track, even though each track has its own different art

Frankly, this makes the SC (sorry, SB Server) artwork display look silly :(

At least in 7.3.3 when a track was playing the correct embedded art specific to that track was displayed, even though the album art was incorrect. With 7.4, they are both wrong - except in the single case when Track 1 is playing. 

Can I suggest again the actions listed in https://bugs-archive.lyrion.org/show_bug.cgi?id=9919#c16
Comment 20 Jim McAtee 2009-10-16 15:37:38 UTC
(In reply to comment #19)
> I'm now running 7.4 rather than 7.3.3. From my perspective, things have now
> got worse.

Richard, I think you want to open a new bug for any artwork problems in 7.4.  This bug is more of a placeholder for future enhancements.  It doesn't appear that any work has been done on this yet, so if you're seeing issues with 7.4 they should be raised separately.
Comment 22 Mike Walsh 2009-10-18 04:43:22 UTC
sorry, forgot 2:

bug 4874

bug 6225
Comment 23 Mike Walsh 2009-10-18 10:26:29 UTC
bug 4631
Comment 24 Jim McAtee 2009-11-03 00:16:28 UTC
For albums, it's planned to have a one-to-many relationship between an album and images.  What's the plan for tracks?  Will it be possible to have more than one image per track as well?

Given all the optimization going on right now for SbS 7.5 and the embedded server to speed up scanning, it seems to me that having some additional artwork cataloging options would be desirable.

I think the option mentioned in comment 1 would be a good start.  There's no need to scan every piece of media unless it's desired by the user.  Even on fast systems, scans will be quicker for users who find this to be of no benefit.

Another artwork option:

Track Artwork
[x] Use album art for tracks in an album
[ ] Permit individual track art

The first selection would prevent the scanner from looking for and cataloging embedded artwork for individual tracks, and would give faster scan times.  If there are no separate files (cover.jpg, folder.jpg, etc.) that qualify as album art, only then would it look for embedded images.  The first embedded image the scanner finds that qualifies as a cover would then be used for both the album and all tracks in the album.

The second selection would permit embedded artwork to override the album art for individual tracks, as requested in previous comments above.
Comment 25 Peter Richardson 2010-01-22 18:25:54 UTC
I(In reply to comment #24)
> For albums, it's planned to have a one-to-many relationship between an album
> and images.  What's the plan for tracks?  Will it be possible to have more than
> one image per track as well?
> 
> Given all the optimization going on right now for SbS 7.5 and the embedded
> server to speed up scanning, it seems to me that having some additional artwork
> cataloging options would be desirable.
> 
> I think the option mentioned in comment 1 would be a good start.  There's no
> need to scan every piece of media unless it's desired by the user.  Even on
> fast systems, scans will be quicker for users who find this to be of no
> benefit.
> 
> Another artwork option:
> 
> Track Artwork
> [x] Use album art for tracks in an album
> [ ] Permit individual track art
> 
> The first selection would prevent the scanner from looking for and cataloging
> embedded artwork for individual tracks, and would give faster scan times.  If
> there are no separate files (cover.jpg, folder.jpg, etc.) that qualify as album
> art, only then would it look for embedded images.  The first embedded image the
> scanner finds that qualifies as a cover would then be used for both the album
> and all tracks in the album.
> 
> The second selection would permit embedded artwork to override the album art
> for individual tracks, as requested in previous comments above.

(In reply to comment #24)
> For albums, it's planned to have a one-to-many relationship between an album
> and images.  What's the plan for tracks?  Will it be possible to have more than
> one image per track as well?
> 
> Given all the optimization going on right now for SbS 7.5 and the embedded
> server to speed up scanning, it seems to me that having some additional artwork
> cataloging options would be desirable.
> 
> I think the option mentioned in comment 1 would be a good start.  There's no
> need to scan every piece of media unless it's desired by the user.  Even on
> fast systems, scans will be quicker for users who find this to be of no
> benefit.
> 
> Another artwork option:
> 
> Track Artwork
> [x] Use album art for tracks in an album
> [ ] Permit individual track art
> 
> The first selection would prevent the scanner from looking for and cataloging
> embedded artwork for individual tracks, and would give faster scan times.  If
> there are no separate files (cover.jpg, folder.jpg, etc.) that qualify as album
> art, only then would it look for embedded images.  The first embedded image the
> scanner finds that qualifies as a cover would then be used for both the album
> and all tracks in the album.
> 
> The second selection would permit embedded artwork to override the album art
> for individual tracks, as requested in previous comments above.

Couldn't agree more  - this is how it should work and would be a big feature for me....
Comment 26 Jim McAtee 2010-05-24 03:21:19 UTC
(In reply to comment #24)
>
> The first selection would prevent the scanner from looking for and cataloging
> embedded artwork for individual tracks, and would give faster scan times.

To reinforce the need for an option to disable the scanning of embedded artwork, see the following forum discussion:

http://forums.slimdevices.com/showthread.php?t=79066

Some people have libraries in which they must embed artwork for other applications (such as iTunes), but they also provide separate cover/folder.jpg images.  All that scanning and resizing the embedded images does is that it slows down their library scans.
Comment 27 Jim McAtee 2011-02-13 16:18:16 UTC
Any plans for 7.6 release of recognizing new or changed artwork when running a new & changed scan?
Comment 28 Michael Newman 2011-03-14 12:44:29 UTC
My number one request for SBS is that embedded artwork from one file never appear as track art for other files. I would like either the default to be...or a user setting that will allow a schema that is as follows:

if
embedded art is found, use it
elseif
folder art is found use that
else
use default SBS art

I'm in favor of a user option that would allow folder art to supersede embedded art.

I have no objection to an option that would allow embedded art to be used for files with no embedded art. But this needs to not be the default.

MOST of the music in my library currently displays incorrect artwork because of the current, illogical default behavior.