試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

ThunarのアクションでFLACファイルのタグ情報と内蔵Cuesheetをインポート/エクスポートなど

metaflacコマンドの

  • --import-tags-from=file
  • --export-tags-to=file
  • --import-cuesheet-from=file
  • --export-cuesheet-to=file

オプションを使用して、読み込んでの表示と、ファイルへの書き出し/ファイルからの読み込みをThunarファイルマネージャのコンテキストメニューから実行させる「アクション」からできるようにしてみる。
更に、

  • --remove-all-tags
  • --remove --block-type=CUESHEET,SEEKTABLE
  • --add-replay-gain

タグと内蔵CueSheet+シークテーブルの全削除と、リプレイゲインスキャンを追加。リプレイゲインスキャンは、複数ファイルを指定した場合、アルバム音量とトラック音量を別々に保存してくれるが、サンプリングレートやチャンネル数が同一でなくてはならない。
タイトルやアーティスト名などのタグ編集に関しては、EasyTAGなどのタグ編集アプリケーションを使用したほうが楽な気がする。

今回もzenityを使用している。設定ファイル(${HOME}/.config/Thunar/uca.xml)については「ファイルマネージャThunarのコンテキストメニューのアクションを作る」を参照。</action>のある後ろに張り付ける(定義済みアクションが無い場合は<actions>と</actions>の間へ)。
ファイル名: ~/.config/Thunar/uca.xml

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのタグ情報を表示(_F)</name><command>metaflac --export-tags-to=- %f | zenity --text-info --title &apos;%n のタグ情報&apos; --width=500 --height=350</command><description>metaflacコマンドでFLACファイルのタグ情報を表示</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのCueSheetを表示(_C)</name><command>metaflac --export-cuesheet-to=- %f | zenity --text-info --title &apos;%nのCueSheet&apos; --width 500 --height 350</command><description>metaflacコマンドでFLACファイルの内蔵CueSheetを表示</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのタグ情報をエクスポート(_E)...</name><command>o=$(zenity --file-selection --title &apos;出力ファイル名&apos; --filename=$(echo %n | sed -e &apos;s/\(^.*\)\.[^.]*$/\1/&apos;)-tags.txt --save); if [ $? ]; then metaflac --export-tags-to=$o %f; fi</command><description>metaflacコマンドでFLACファイルのタグ情報をファイルに保存</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのCueSheetをエクスポート(_S)...</name><command>o=$(zenity --file-selection --title &apos;出力ファイル名&apos; --filename=$(echo %n | sed -e &apos;s/\(^.*\)\.[^.]*$/\1/&apos;).cue --save); if [ $? ]; then metaflac --export-cuesheet-to=$o %f; fi</command><description>metaflacコマンドでFLACファイルの内蔵CueSheetをファイルに保存</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのタグ情報をファイルから取り込み(_I)...</name><command>o=$(zenity --file-selection --title &apos;タグ情報の書かれたファイルを選択&apos;); if [ $? ]; then metaflac --import-tags-from=$o %f || zenity --error; fi</command><description>metaflacコマンドで、指定したファイルからタグ情報を選択ファイルへインポート</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのCueSheetをファイルから取り込み(_M)...</name><command>o=$(zenity --file-selection --title &apos;CueSheetファイルを選択&apos;); if [ $? ]; then metaflac --import-cuesheet-from=$o %f || zenity --error; fi</command><description>metaflacコマンドで、指定したファイルから選択ファイルへCueSheetをインポート</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルの全てのタグ情報を削除(_D)...</name><command>zenity --question --title &apos;確認&apos; --text &apos;本当に全てのタグ情報を削除しますか?&apos; &amp;&amp; metaflac --remove-all-tags %f</command><description>metaflacコマンドで全てのタグ情報を削除</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのCueSheetとシークテーブルを削除(_S)...</name><command>zenity --question --title &apos;確認&apos; --text &apos;本当にCueSheetとシークテーブルを削除しますか?&apos; &amp;&amp; metaflac --remove --block-type=CUESHEET,SEEKTABLE %f</command><description>metaflacコマンドで内蔵CueSheetとシークテーブルを削除</description><patterns>*.flac</patterns><audio-files/>
</action>

<action>
<icon>gnome-mime-audio</icon><name>FLACファイルのリプレイゲインをスキャン(_G)</name><command>metaflac --add-replay-gain %F || zenity --error</command><description>[複数可]metaflacコマンドで選択されたファイルのリプレイゲインをスキャン</description><patterns>*.flac</patterns><audio-files/>
</action>