Как заставить Rhythmbox синхронизировать обложку альбома на Android?

У меня Rhythmbox достаточно хорошо синхронизируется с моим телефоном на Android. Он автоматически транскодирует из FLAC в M4a и сохраняет правильную структуру каталогов и отслеживает имена файлов. Пока все хорошо.

Однако процесс синхронизации не копируется поверх обложки альбома. В каждом каталоге альбомов у меня есть файл с названием "cover.jpg", который Rhythmbox использует довольно хорошо, но он не делает путешествие на мою Android SD-карту. На Banshee обложка альбома скопирована, но у нее есть неприятный ряд других ошибок, которые мешают мне использовать ее в качестве обходного пути.

1
задан 5 March 2013 в 07:46

1 ответ

У меня очень похожая настройка за исключением того, что я не транскодирую свои файлы flac. Я обнаружил, что мне нужно встроить обложку альбома в сам файл flac, используя metaflac:

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

You Мне нужно будет создать скрипт для этого процесса, но у меня есть Perl-скрипт, который вы можете использовать, который просто нужно изменить, чтобы он соответствовал расположению ваших каталогов:

#!/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 = $1;
        $artist = $2;
    }
    elsif($flac_file =~ /^(.+):ALBUM=(.+)$/)
    {
        if($filename ne $1)
        {
            undef $artist;
            print("ERROR: Failed Sanity Check.  Dying...");
            die;
        }
        elsif(defined $artist)
        {
            $album = $2;
            $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;
    }
}
0
ответ дан 5 March 2013 в 07:46

Другие вопросы по тегам:

Похожие вопросы: