09/17 Mac Blu-ray Playerをコントロール

友人のBlogで紹介されていて気になっていた「Mac Blu-ray Player」(バージョン1.8.3.0623)。本当に使えるのか? これって本気なのか? シェアウェア登録しちゃって大丈夫なのか? ホームページに開発元の住所が書かれてないけど、訴えられたら逃げる気マンマンなんじゃないのか? などなど……疑問の尽きないソフトウェアですが、ぴよまるソフトウェアの相棒がBlu-rayドライブ(SK-BRP-6U)を買ってつないでみたら「ちゃんと再生できた」とのことだったので、ドライブ+BDソフトを借りて検証してみました。
試してびっくり、なんと驚きのScriptable。AppleScriptエディタにアプリケーションをドラッグ&ドロップしてAppleScript用語辞書が表示され、喫茶店でどよめいてしまいました。

MacBook Air 2011 midモデルにつないで検証。実行にはインターネット接続環境が必須

バスパワー駆動可能なポータブルBlu-rayドライブ「SK-BRP6U」。Panasonicのドライブユニットを採用だとか

起動してみると、ちゃんと日本語でメニューやらボタンやらが表示されています。BDのソフト市場は日本以外ではまともに立ち上がっていないと思われるので、日本語ローカライズは必須の機能と考えられます

MacBook Airでは部分的に描画系のパワー不足を感じたので、MacBook Pro 17インチ 2010にチェンジ。こちらでは不満はまったくありませんでした
Mac Blu-ray Playerが持っているAppleScript用語は、playURL、eject、play、stop、prev、next、forward、backward、volumeUp、volumeDown、mute、fullscreen、snapshotの各コマンド。一応、Standard Suiteのopenとかquitなどの一般的なコマンドも使えるようです。
とりあえず、BDソフトの再生を行いたいところですが……ここで「play」コマンドを実行しても、再生は行われません。
アプリケーションにBDソフトをオープンさせなくてはならないので(このあたり、まだものすごくこなれていない感じが)、いろいろ試行錯誤してみたら……
| スクリプト名:Mac Blu-ray PlayerでBD再生 |
| set aBD to choose folder
tell application “Blu-ray Player” open aBD end tell |
こんな感じで、choose folderでBDのルートフォルダを指定してあげると再生できました。

playコマンドは、一時停止している状態で実行すると受け付けるようですが……じゃあ、その一時停止状態にするためのコマンドは? と、「stop」コマンドを実行してみると……起動直後のBDディスクを認識していない状態に戻ってしまうので、playコマンドはいまのところ使えません(なんだそれ?!)。後述しますが、現状ではplayコマンドは早送り/巻き戻し状態から通常再生モードに戻るためだけに使えるようです。
一般的かつ常識的な意味でのBDソフトの「再生」を行いたい場合には、openコマンドでソフトを指定してください。
pauseコマンドがついてないと、使えないよ〜>誰となく
forwardとかbackwardコマンドは使えるのかと試してみたら、30秒ごとに早送り/逆戻りを行うようです。チャプター間の移動はできません。
で、一回forwardとかbackwardコマンドを発行すると、30秒単位でスキップしながら前または後ろに向けて再生を行うので、通常再生状態に戻したいときにはここで「play」コマンドを実行します(なんだそれ?!!)。
チャプター間の前後移動は「prev」「next」コマンドで行えますが、チャプターのリストを取得するとか、具体的にどのチャプターに移動するとかいうことはできません。GUI Scriptingを使ってメニュー内容からチャプターを取得することは不可能ではないようですが、操作のたびにメニューが表示されるというのはナンセンスです。
volumeUp/VolumeDownコマンドはありますが、具体的に数値を指定して任意の音量レベルに設定することができません(このあたりで遠い目に……)。
BDソフトの再生中に「fullscreen」コマンドを実行するとフルスクリーン再生モードに移行しますが、フルスクリーン再生状態から通常再生に戻る手段がありません。
唯一期待どおりの動作を行ってくれたのがsnapshotコマンド。現在表示中の画面内容をデスクトップに「スナップショット-2011-09-17 at 10_53_55 PM-1120860989.png」といったファイル名でPNG画像で保存します。ファイル名とかファイル形式とか書き出し先のフォルダなどは一切指定できません。
ejectコマンドについても言及しておく必要があるでしょう。ejectコマンドは、とりあえずBDのディスクをマウントした状態であれば実行して大丈夫です。BDソフトの再生中にejectコマンドを実行すると、問答無用でBDディスクがイジェクトされます。せめて再生中はejectできないように管理すべきだと思うのですが……
存在自体がツッコミどころ満載の本ソフト、AppleScriptで操作しようと試みると、さらにツッコミどころ満載ですが……それでも動作していること自体を評価すべきなのかもしれません。
