--- /usr/share/perl5/Slim/Music/Artwork.pm.funky 2008-10-19 10:26:39.000000000 +1100 +++ /usr/share/perl5/Slim/Music/Artwork.pm 2008-10-22 13:07:50.000000000 +1100 @@ -109,7 +109,7 @@ # 2. 50x50_p (small web artwork) # 3. 56x56_o.jpg (Jive artwork - OAR JPG) - my @dims = (50); + my @dims = (50, 96); push @dims, $prefs->get('thumbSize') || 100; for my $dim ( @dims ) { @@ -118,9 +118,17 @@ Slim::Web::Graphics::processCoverArtRequest( undef, 'music/' . $track->id . "/cover_${dim}x${dim}_p" ); }; } + $isDebug && $importlog->debug( "Pre-caching artwork for trackid " . $track->id . " at full size" ); eval { - $isDebug && $importlog->debug( "Pre-caching artwork for trackid " . $track->id . " at size 56x56_o.jpg" ); - Slim::Web::Graphics::processCoverArtRequest( undef, 'music/' . $track->id . "/cover_56x56_o.jpg" ); + Slim::Web::Graphics::processCoverArtRequest( undef, 'music/' . $track->id . "/cover.png" ); + }; + + @dims = (50, 56, 154, 186); + for my $dim ( @dims ) { + $isDebug && $importlog->debug( "Pre-caching artwork for trackid " . $track->id . " at size ${dim}x${dim}_o.jpg" ); + eval { + Slim::Web::Graphics::processCoverArtRequest( undef, 'music/' . $track->id . "/cover_${dim}x${dim}_o.jpg" ); + } }; } } --- /usr/share/perl5/Slim/Utils/Prefs.pm.funky 2008-10-22 13:04:30.000000000 +1100 +++ /usr/share/perl5/Slim/Utils/Prefs.pm 2008-10-22 12:31:19.000000000 +1100 @@ -209,6 +209,7 @@ 'scannerPriority' => 0, 'resampleArtwork' => 1, 'precacheArtwork' => 1, + 'preferTrackArtwork' => 1, # Server Settings - Security 'filterHosts' => 0, 'allowedHosts' => sub { join(',', Slim::Utils::Network::hostAddr()) }, --- /usr/share/perl5/Slim/Control/Queries.pm.funky 2008-10-22 12:08:21.000000000 +1100 +++ /usr/share/perl5/Slim/Control/Queries.pm 2008-10-22 12:36:22.000000000 +1100 @@ -3940,7 +3940,7 @@ # special case: artwork, only if it exists elsif ($key eq 'COVERART' && $artworkExists) { # Bug 7443, check for a track cover before using the album cover - my $coverId = $track->coverArtExists ? $track->id : $val; + my $coverId = ($prefs->get('preferTrackArtwork') && $track->coverArtExists) ? $track->id : $val; $actions = { 'do' => { @@ -4396,7 +4396,7 @@ my $albumObj = $item->album(); # Bug 7443, check for a track cover before using the album cover - my $iconId = $item->coverArtExists ? $id : 0; + my $iconId = ($prefs->get('preferTrackArtwork') && $item->coverArtExists) ? $id : 0; if(defined($albumObj)) { $album = $albumObj->title(); @@ -4916,7 +4916,7 @@ my $iconId; # Bug 7443, check for a track cover before using the album cover - if ( $track->coverArtExists() ) { + if ( $prefs->get('preferTrackArtwork') && $track->coverArtExists() ) { $iconId = $track->id; }