メタデータが見つからないときにCDリッパーが未知のアルバムを上書きしないようにするにはどうすればよいですか?

メタデータが見つからないときにCDリッパーが未知のアルバムを上書きしないようにするにはどうすればよいですか?

私のCDコレクションをリッピングする長いプロセスを始めましょう。 abcdeをインストールしましたが、設定は次のとおりです。ポイントアンドリュー。うまくいくようですが、メタデータの取得に失敗すると、MP3は未知のアーティストと未知のアルバムに記録されます。 2番目のメタデータのインポートが失敗するまで問題はありません。次にトラックを上書きします。理想的には、2枚目のアルバムのタイトルに「Unknown Album 2」などの数字が表示されます。これを達成する方法について提案がありますか?または、ディレクトリの上書きを防ぐ方法は?

答え1

abcdeabcde完了時に呼び出し、「未知のアーティスト/未知のアルバム」ディレクトリがあることを確認するスクリプトを使用してプロセスを自動化できますabcde

テストの結果、ディレクトリが存在するように見える場合は、次のようにして取得できるディスクのCDDB IDを含む名前に名前を変更します。CDツール。このスクリプトは事前にIDを取得します。そうしないと、自動ポップアップにより abcde が完了した後に ID を取得できなくなります。

#!/bin/bash

id=$(cd-discid /dev/cdrom)
abcde $@ || exit 1
if [ -d "Unknown Artist/Unknown Album" ]; then
    mv "Unknown Artist/Unknown Album" \
       "Unknown Artist/Unknown Album $id"
fi

答え2

上記のSergeアイデアを使用して、.abcde.conf設定ファイルでmungefilename機能を編集しました。

ここで提供された設定ファイルから始めました。 Andrew's Cornerには非常に便利なチュートリアルがあります。

cd-discidから返された文字列の最初の数字を追加するように関数を編集しました。

mungefilename ()
    {
        CDDISKIDENT=$(cd-discid "$CDROM")

        FIRSTPARTID=$(echo $CDDISKIDENT | cut -d' ' -f1)
  echo "$@" | sed "s/Unknown\ Album/Unknown\ Album$FIRSTPARTID/" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}

答え3

これにより、ディスクをリッピングするときに親プロセスのPIDが追加されます。これは、リッピングの後、最終コピー中にmungefilenameがファイルごとに実行され、自動イジェクトを設定するとディスクからDiscidをインポートできないためです。親PIDは各ディスクの一意の定数です。

mungefilename ()
{
        echo "$@" | sed "s/Unknown\ Album/Unknown\ Album$PPID/" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}

関連情報