Tuesday, 5 February 2008
GrageBand の自動再起動
どうも、EDIROLのPC-50を挿しっぱなしにすると、1日ぐらいで GrageBand との接続が切れるらしい。抜き差しは必要なく、GrageBand を再起動すると認識するみたいなので、GrageBand の問題か? Tell us しても良いんだが...
うっとうしいので、1日毎に再起動してやれってことで、
#!/bin/sh
osascript -e 'tell application "GarageBand"' -e 'quit' -e 'end tell' > /dev/null
sleep 3
osascript -e 'tell application "GarageBand"' -e 'document 1' -e 'end tell' > /dev/null
こんな感じのを作って、crontab -e で突っ込みました。まぁ、別なやり方もあるんだろうけど。
sleep 3 しないとAppleScript が文句言うのはダサイ。GarageBand が立ち上がってないと、quitするために一度立ち上がるものダサ過ぎ。もっとも、それを避けるためのコードを入れる意味はない。
AppleScript の無能さ、遅さ、理解しにくさ、にはうんざりしているので、Apple Event をいじるなんか別な言語でも作るか? 何するにも、AppleScriptStudio で、あれこれ実験って、それはださいよ。起動するだけなのに、document 1 というのしか思い付かなかったのもタコだが。tell/end tell は通らなかったんだよな。
どっちかって言うと、自然言語っぽくするより、Forth みたいなものにして欲しかった。その方がどんなにわかりやすいことか。document 1 とかって、COBOLっぽい発想だと思う。
まぁ、AppleScript でもないよりはましなんだけどさ。Windows ユーザだと、COMをいじる VC++ でも書くのか?
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment