Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 10 of 10
  1. #1
    Junior Member
    Join Date
    Jul 2020
    Posts
    6

    Preferred album artwork

    Just started using LMS and so far enjoying it. Previously I've just been streaming from Poweramp on my phone.

    One thing I'm struggling with is album artwork and the way LMS prioritises different art. I probably have an atypical setup where I keep album artwork stored in the file as folder.jpg. I then embed artwork into files (such as single covers, original album art on compilations). My problem is that LMS prefers to use the embedded art from the first track instead of folder.jpg if both are present. Weirdly, if track 1 doesn't have embedded art it works fine and displays folder.jpg in album view but overrides with the embedded art in track view elsewhere.

    Is there anyway to change the priority order for album artwork to make files preferred to embedded?

  2. #2
    Senior Member
    Join Date
    Feb 2011
    Location
    Cheshire, UK
    Posts
    4,896
    Quote Originally Posted by wickedlemon View Post
    Just started using LMS and so far enjoying it. Previously I've just been streaming from Poweramp on my phone.

    One thing I'm struggling with is album artwork and the way LMS prioritises different art. I probably have an atypical setup where I keep album artwork stored in the file as folder.jpg. I then embed artwork into files (such as single covers, original album art on compilations). My problem is that LMS prefers to use the embedded art from the first track instead of folder.jpg if both are present. Weirdly, if track 1 doesn't have embedded art it works fine and displays folder.jpg in album view but overrides with the embedded art in track view elsewhere.

    Is there anyway to change the priority order for album artwork to make files preferred to embedded?
    Not that I am aware of.
    It is as you say embedded, then folder.jpg
    Because LMS will handle FLAC etc many people opt for zero embedded art and a high quality upto 1000x1000 folder.jpg and use tools to make low res MP3 versions with embedded art for car use etc
    VB2.4 storage QNAP TS419p (NFS)
    Living Room - Joggler & SB3 -> Onkyo TS606 -> Celestion F20s
    Office - Pi3+Sreen -> Sony TAFE320 -> Celestion F10s / Pi2+DAC & SB3 -> Onkyo CRN755 -> Wharfedale Modus Cubes
    Dining Room -> SB Boom
    Kitchen -> UE Radio (upgraded to SB Radio)
    Bedroom (Bedside) - Pi2+DAC ->ToppingTP21 ->AKG Headphones
    Bedroom (TV) - SB Touch ->Sherwood AVR ->Mordaunt Short M10s
    Everything controlled by iPeng

  3. #3
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    I've had a closer look and the database doesn't seem very well designed for this. Cover art is stored in tracks and albums are linked to the track with the cover art. Not the way I'd design a database...

    I've managed to get some way to what I want by modding the scanner code so it only adds album art if it's a file. This works except when every track on an album has embedded art. For the odd exception I've just added a short blank extra track.

  4. #4
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,045
    Quote Originally Posted by wickedlemon View Post
    I've had a closer look and the database doesn't seem very well designed for this. Cover art is stored in tracks and albums are linked to the track with the cover art. Not the way I'd design a database...
    While I also would like to be able to prioritize external files, you comment above seems to make two questionable assumptions:
    - Tracks with cover art always belong to an album (not necessarily true, e.g. missing album tags)
    - All tracks from the same album have the same artwork (not necessarily true, I have albums where each track has it's own artwork)
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  5. #5
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Quote Originally Posted by Roland0 View Post
    - Tracks with cover art always belong to an album (not necessarily true, e.g. missing album tags)
    That's poor library management on the user's part, surely?

    Quote Originally Posted by Roland0 View Post
    - All tracks from the same album have the same artwork (not necessarily true, I have albums where each track has it's own artwork)
    Not at all. Each track can have a unique artwork and each album points to one TRACK for the artwork to represent it. To assume the above you have either misread something or I wasn't making myself clear (probably the latter).

  6. #6
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,045
    Quote Originally Posted by wickedlemon View Post
    That's poor library management on the user's part, surely?
    In a perfect world...

    Not at all. Each track can have a unique artwork and each album points to one TRACK for the artwork to represent it. To assume the above you have either misread something or I wasn't making myself clear (probably the latter).
    Currently, all artwork is stored in the artwork DB. Artwork is referenced both from tracks and albums independently.
    Your approach seems to offer not benefit compared to that, and the following drawbacks:
    - not possible to have independent artwork for an album representing it in e.g. an overview (master->detail)
    - added complexity to handle cases where the track representing the album is deleted or assigned to different album
    - inefficient access to album artwork (album->track->artwork)
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  7. #7
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Quote Originally Posted by Roland0 View Post
    Currently, all artwork is stored in the artwork DB.
    My artwork.db contains a cache table with 227 rows. I have approx 2000 albums with artwork plus tens of thousands of embedded images. Can you elaborate on how LMS links albums in the library.db to the artwork.db please? I'm genuinely interested.

    Quote Originally Posted by Roland0 View Post
    Artwork is referenced both from tracks and albums independently.
    Your approach seems to offer not benefit compared to that, and the following drawbacks:
    - not possible to have independent artwork for an album representing it in e.g. an overview (master->detail)
    The LMS scanner prevents this. It's impossible to allocate artwork to an album that isn't allocated to a track first. Don't blame me - that's the way the scanner code appears to work.

    Quote Originally Posted by Roland0 View Post
    - added complexity to handle cases where the track representing the album is deleted or assigned to different album
    If a track is deleted the scanner rescans the tracks and finds another image that is also linked to a track. You just can't have independent album artwork. If you could it would solve my problems!

    Quote Originally Posted by Roland0 View Post
    - inefficient access to album artwork (album->track->artwork)
    Again, can you explain how albums reference the artwork database please, because it's not obvious looking at the database tables?

  8. #8
    Senior Member
    Join Date
    Apr 2005
    Location
    UK/London
    Posts
    2,726
    Maybe someone can update this with the results of the analysis/discussion
    http://wiki.slimdevices.com/index.ph...abaseStructure
    and
    http://wiki.slimdevices.com/index.php/Album_Artwork
    Paul Webster
    http://dabdig.blogspot.com
    Author of "Now Playing" plugins covering Radio France (FIP etc), KCRW, Supla Finland, ABC Australia, CBC/Radio-Canada and RTE Ireland

  9. #9
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    1,045
    Quote Originally Posted by wickedlemon View Post
    Can you elaborate on how LMS links albums in the library.db to the artwork.db please? I'm genuinely interested.
    library.db: coverid in tracks, artwork in albums
    artwork.db: k
    where:
    Code:
    sub _key { 
    	my $md5 = Digest::MD5::md5_hex($key);                                    	                                                                                                                    
            return hex( substr($md5, 0, 8) ) . hex( substr($md5, 8, 7) );
    }
    Note that LMS currently only stores cached artwork in this DB.

    Quote Originally Posted by wickedlemon View Post
    The LMS scanner prevents this. It's impossible to allocate artwork to an album that isn't allocated to a track first. Don't blame me - that's the way the scanner code appears to work.
    If a track is deleted the scanner rescans the tracks and finds another image that is also linked to a track. You just can't have independent album artwork. If you could it would solve my problems!
    I am talking about the database design, which I thought was clear as this was the comment I replied to:
    Quote Originally Posted by wickedlemon View Post
    I've had a closer look and the database doesn't seem very well designed for this. Cover art is stored in tracks and albums are linked to the track with the cover art. Not the way I'd design a database...
    You are now talking about the application, which isn't the same thing.
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

  10. #10
    Junior Member
    Join Date
    Jul 2020
    Posts
    6
    Quote Originally Posted by Roland0 View Post
    library.db: coverid in tracks, artwork in albums
    artwork.db: k
    where:
    Code:
    sub _key { 
    	my $md5 = Digest::MD5::md5_hex($key);                                    	                                                                                                                    
            return hex( substr($md5, 0, 8) ) . hex( substr($md5, 8, 7) );
    }
    Note that LMS currently only stores cached artwork in this DB.
    That contradicts what you wrote previously.
    Quote Originally Posted by Roland0 View Post
    I am talking about the database design, which I thought was clear as this was the comment I replied to:

    You are now talking about the application, which isn't the same thing.
    Really? You're splitting hairs now. The database is part of the application. They are pretty useless without each other and specifically designed to work as one item.

    I have LMS album view working how I need it with my abominable alterations so I see no point in discussing this further. I've moved on to "fixing" other things to work how I need them for my own personal installation.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •