河野真治 @ 琉球大学情報工学です。

どうも、EDIROLのPC-50を挿しっぱなしにすると、1日ぐらいで GrageBand
との接続が切れるらしい。抜き差しは必要なく、GrageBand を再
起動すると認識するみたいなので、G rageBand の問題か? 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++ でも書くのか? 

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科