表題どおり。
一部のCanon Eos 5D mark2などの一眼レフのカメラは、USBでコンピュータと接続して、純正のアプリケーション Eos Utility.appを使うことで、コンピュータからカメラのシャッターや露出、インターバル撮影、動画撮影を行うことができる。
この機能を利用して、AppleScriptとAutomator.appを使ってアプリケーション(Eos Utility.app)を操作して、カメラ制御+動画撮影+Youtube/Flickrアップロードを自動で行おうと思っていろいろと作業していたところでハマったときのTips。
Automatorのいいところは、マウス操作を記録してそれを実行してくれるところなんだけど、そうやって記録したワークフローも、時によってはWindowサイズだったり、”Dockを自動的に隠す”をONにしているときだったり、メニューバーの選択だったりでうまく選択されない時やクリックが機能しない時がある。このもどかしさは筆舌にしがたい。
MacBookのGUI操作をAutomatorで記録して自動化する
Eos Utilityのカメラ操作でも露出制御やフォーカスの制御のところのONボタンを押してくれないというのがあって、うわって感じになった。
この動作しない問題なんなんだろうなーと思いながらググりつつ、記録したワークフローをドラッグして移動させているときに(ビジュアルプログラミングっぽい感じだなぁ)とか思って、ワークフローを予期せず記録画面の外にドラッグアンドドロップしたら、AppleScriptになってたので驚いた。これ便利やね。
状況によってはこのスクリプトが機能しないのも確認できたんだけど、とりあえず僕がハマってたところは抜けだしたのでよしとする。ちょっと変だったのが、記録したワークフローをそのまま再生だと機能しなくて、ドラッグアンドドロップしてAppleScriptに変換したものを実行するとクリックが機能するっていうのが興味深いというかバッドノウハウ感が高かった。
AppleScript化すると、ちょっといいところはマウスの操作してるような動きが表示されない所。記述されているAppleScriptを読む限り、移動の座標ではなくて、押されたボタンの名前を書いてるからそうなんだろうと思う。GUI操作で作ってるのに、出来上がったものにマウスの動きがないので、コードで制御してますよ!!って感じが滲み出てて、人に見せるときとかは騙せていい感じだと思う。
あと、ワークフローにAppleScriptを追加するTipsはあるんだけど、逆の情報ってググッてもそんなに出てこなかったので書きました。