Como obter o Rhythmbox para sincronizar a arte da capa do álbum no Android?

1

Tenho a sincronização do Rhythmbox muito bem com o meu telefone Android. Ele transcodifica automaticamente de FLAC para M4a e mantém a estrutura de diretórios correta e rastreia nomes de arquivos. Até aí tudo bem.

No entanto, o processo de sincronização não está sendo copiado sobre a capa do álbum. Em cada diretório de álbuns eu tenho um arquivo chamado "cover.jpg", que o Rhythmbox usa muito bem, mas não faz a viagem para o meu cartão SD Android. No Banshee, a arte do álbum é copiada, mas ela tem uma série de outros bugs que me impedem de usá-la como solução.

    
por HDave 05.03.2013 / 04:46

1 resposta

1

Eu tenho uma configuração muito semelhante, com a exceção de que não transcodifico meus arquivos flac. Eu achei que eu precisava incorporar a arte do álbum no próprio arquivo flac usando metaflac:

metaflac --import-picture-from="yourcover.jpg" "suamusicfile.flac"

Você terá que criar um script para esse processo, mas eu tenho um script perl que você pode usar e que precisa ser modificado para corresponder aos locais do seu diretório:

#!/usr/bin/perl

use strict;
use warnings;

my $artist;
my $album;
my $filename;
my $cover_filename;

if($#ARGV != 0)
{
    print("Usage: add_album_art_flac.pl <TOP DIR>\n");
    exit;
}

print("Getting artist album info...\n");
my @flac_album_artist = 'find . -type f -name \"*.flac\" -exec metaflac --with-filename --show-tag=\"Artist\" --show-tag=\"Album\" {} \\;';
print("Got artist album info\n");

foreach my $flac_file (@flac_album_artist)
{
    if($flac_file =~ /^(.+):ARTIST=(.+)$/)
    {
        $filename = ;
        $artist = ;
    }
    elsif($flac_file =~ /^(.+):ALBUM=(.+)$/)
    {
        if($filename ne )
        {
            undef $artist;
            print("ERROR: Failed Sanity Check.  Dying...");
            die;
        }
        elsif(defined $artist)
        {
            $album = ;
            $cover_filename = "/home/fred/.cache/rhythmbox/covers/$artist - $album.jpg";

            print("Fetching $cover_filename...\n");
            system("metaflac --import-picture-from=\"$cover_filename\" \"$filename\"");

            if($? == -1)
            {
                print("Failed to add $cover_filename to $artist - $album\n");
            }
            else
            {
                print("Successfully added $cover_filename to $filename\n");
            }
        }

        undef $artist;
    }
    else
    {
        print("ERROR: Bad line.  Dying...\n");
        die;
    }
}
    
por Fred Thomsen 05.03.2013 / 06:22