« 簡単なAND検索の方法を | トップページ | Snow Leopardのシングル・ユーザー・モードでは »

2009年9月15日 (火)

Automatorでlame使用のMP3エンコーダのドロップレット その2(邪道編)

以前にAutomatorを使ってlameのMP3エンコーダのドロップレットを作ると、「シェルスクリプトを実行」ではlameが起動してすぐにこけるということを書きましたが、今でも状況は変わっていないみたいです。lameが何らかの形でAutomatorで使用できない部分を含んでいるのかもしれませんがド素人のわたしにはわかりません。実際他のコマンドは問題なく動きます。例えばmpg123を使ってMP3ファイルをWAVにエンコードするドロップレットを下の画像のコードみたいに書くとうまく動きます。

Mpg123

for f in "$@"
do
  cd $(dirname "$f")
  /usr/local/bin/mpg123 -w $(basename "$f" .mp3).wav "$f"
done



すっきりしないながらもしかたがないので「AppleScriptを実行」を導入してその中で「do shell script」を実行し問題を回避しています。lameのオプションは適当な例です。

Lame_automator


on run {input, parameters}
  repeat with obj in input
   set sound_file to POSIX path of obj
   do shell script "/usr/local/bin/lame -V0 --vbr-new " & sound_file & " " & "$(/usr/bin/dirname " & sound_file & ")/" & "$(/usr/bin/basename " & sound_file & " .wav).mp3"
  end repeat
 return input
end run



これはもちろんAppleScriptだけで下の画像みたく書くこともできますが、わたしはSnow LeopardのAutomator実行中に出てくる歯車が気に入っているので敢えてわざわざAutomatorで組んでいます。

Lame_as_2






on open dd_items
  repeat with object in dd_items
   set sound_file to POSIX path of object
   do shell script "/usr/local/bin/lame -V0 --vbr-new " & sound_file & " " & "$(/usr/bin/dirname " & sound_file & ")/" & "$(/usr/bin/basename " & sound_file & " .wav).mp3"
  end repeat
end open

« 簡単なAND検索の方法を | トップページ | Snow Leopardのシングル・ユーザー・モードでは »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/80038/31382206

この記事へのトラックバック一覧です: Automatorでlame使用のMP3エンコーダのドロップレット その2(邪道編):

« 簡単なAND検索の方法を | トップページ | Snow Leopardのシングル・ユーザー・モードでは »

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

最近のトラックバック