[mythtv-users] MythMusic AlbumArt

Matt Hannan matthannan1 at cox.net
Fri Jan 6 23:58:20 UTC 2006


Brad DerManouelian wrote:
> I was trying to find a script to automatically add album art to my  
> MythMusic directories. I came across the one in this thread: http:// 
> www.gossamer-threads.com/lists/mythtv/users/140895 but it only adds  
> art as you RIP a CD. I have way too many albums already ripped so  
> this wasn't going to work for me.
>
> So I wrote a little script to use in concert with Paul's amazon.pl  
> script. Now I can use the AlbumArt visualization and see most of my  
> collection. I'm posting it here in case anyone's in the same boat as  
> me. The script assumes you have your music organized by musicroot/ 
> artist/album. It will also detect when album art can't be found and  
> skips it if it runs across the album name again during the same run  
> (in the event that you have albums with many artists on a single  
> album and you're strictly organizing by artist/album). It's also  
> smart enough to skip an album if the art is already there (from a  
> previous run). Feel free to mod as needed.
>
> Make sure amazon.pl is in your path, then pass your music directory  
> root as an argument to this script (e.g. ./albumart.pl /mythtv/music/):
>
>
> #!/usr/bin/perl -w
> use strict;
>
> my $musicdir = shift || die( "Specify the music directory root\n" );
> $musicdir =~ s/\/$//g;
> my @albumsnoart;
>
> opendir MYDIR, $musicdir || die( "Couldn't open $musicdir\n" );
> my @artists = grep !/^\.\.?$/, readdir MYDIR;
> closedir MYDIR;
>
> foreach my $artist ( @artists )
> {
>     my $artistdir = $musicdir."/".$artist;
>     if ( -d $artistdir )
>     {
>         next if $artist eq "Compilations";
>         opendir MYDIR, $artistdir || die( "Couldn't open $artistdir 
> \n" );
>         my @albums = grep !/^\.\.?$/, readdir MYDIR;
>         closedir MYDIR;
>         foreach my $album ( @albums )
>         {
>             next if ( grep(/$album/, at albumsnoart) );
>             my $albumdir = $artistdir."/".$album;
>             if ( -d $albumdir )
>             {
>                 print "Grabbing art for $artist - $album...";
>                 if (-f $albumdir."/folder_large.jpg" )
>                 {
>                     print "SKIPPING: I already have art for this  
> album.\n";
>                     next;
>                 }
>                 `amazon.pl "$musicdir/$artist/$album" "$artist"  
> "$album"`;
>                 if ( -f $albumdir."/folder_large.jpg" )
>                 {
>                     print "DONE\n";
>                 }
>                 else
>                 {
>                     print "NOT FOUND: Sorry, no album art found.\n";
>                     push( @albumsnoart, $album );
>                 }
>             }
>         }
>     }
> }
>
>
>
> Also, I had to patch amazon.pl with this so the script won't bail  
> when it can't find any art:
> --- amazon.pl   2006-01-06 18:16:00.000000000 -0500
> +++ /usr/local/bin/amazon.pl    2006-01-06 06:48:22.000000000 -0500
> @@ -116,6 +116,8 @@
>     $titleid++;
>
>     my $image = get $ama_uri if (defined($ama_uri) && $ama_uri ne "");
> +if ( $image )
> +{
>     if ($ama_uri ne "" && length($image) eq "807") {
>        if (defined $opt_d) { printf("# this image is blank\n"); }
>        $ama_uri = "";
> @@ -138,7 +140,7 @@
>     close INFO;
> }
> -
> +}
> #
> # Main Program
> #
>
>
> -Brad
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>   
Must...not...say...anything.
Must...resist.
Tempat...ion too...strong...

Doesn't iTunes do this automatically?
BWAHAAHAHAHAHAHAHAHA!
Sorry, dude. I had to!

Thanks for the script. If I get my mess straight, I will try it out.

Matt


More information about the mythtv-users mailing list