AppleがKeynote/Pages/Numbersのv10.2アッップデートを公開しました。このv10.2から対象OSがmacOS 10.15以降になり、macOS 10.14では最新のKeynote v10.2を使えなくなったことになります。
Keynote v10.2のAppleScript系の機能の差分チェックを(sdefファイルベースで)行ってみたところ、iWorkアプリケーション中でKeynoteのみ機能追加されたことがわかりました。
Keynoteにムービー書き出し機能のAppleScriptオプション機能が追加される
exportコマンドのexport optionsで「movie codecs」と「movie framerates」の指定ができるように機能追加されています。
movie codecs enum h.264 : H.264 AppleProRes422 : Apple ProRes 422 AppleProRes4444 : Apple ProRes 4444 AppleProRes422LT : Apple ProRes 422LT AppleProRes422HQ : Apple ProRes 422HQ AppleProRes422Proxy : Apple ProRes 422Proxy HEVC : HEVC movie framerates enum FPS12 : 12 FPS FPS2398 : 23.98 FPS FPS24 : 24 FPS FPS25 : 25 FPS FPS2997 : 29.97 FPS FPS30 : 30 FPS FPS50 : 50 FPS FPS5994 : 59.94 FPS FPS60 : 60 FPS
風の噂によるとどうもARM Macはムービー書き出しが高速なようなので、そのあたりをアピールするためにもムービー書き出し系の機能の拡充は必要ということなのでしょう。
KeynoteのAppleScript用語辞書に構文確認をパスできないバグ持ち予約語が存在
同時に、「こんなんAppleScriptの処理系でコンパイル(構文確認)通るわけないやん、メーカーが何やってますのん?」という予約語がsdef内に書かれていることが一目でわかりました。
「h.264?」
この「h.264」の予約語はexportコマンドのexport optionsのmovie codecsのEnum内に書かれています。
<enumeration name="movie codecs" code="Knmc"> <enumerator name="h.264" code="Kmc1" description="H.264"> <cocoa string-value="AVVideoCodecTypeH264" /> </enumerator>
macOS 10.15.6上で確認したところ、見事に構文確認時にエラーになります。
Apple製のアプリケーションのAppleによるスクリプティング定義内容がまともに動きません。こうした事態は理解に苦しむものがあります。100%動作確認していないとしか思えません。
ここは、記号入りの予約語では言語処理系的に構文確認すらパスできないので、「h.264」ではなく記号を含まない「h264」ないし「H264」という予約語にすべきです。AppleScript系の機能を追加していただくのは前向きでよいと思いますが、メーカーとして一度も動作確認しないで機能をリリースするというのはいかがなものでしょう?
そんなところに凝っていないで、選択中のオブジェクトを取れる属性「selected objects」とか、テキストオブジェクトの縦書き制御属性「vertical」などをつけたほうが実用性があって助かります。機能追加自体はたいした作業ではありませんが、ぜひ動作確認した上でリリースしていただきたいところです。
AppleScript名:keynote movie export test |
–Works with Keynote v10.2 or later set aTagFile to ((path to desktop) as string) & "testOut.m4v" tell application "Keynote" set exOpt to {compression factor:1.0, movie format:native size, class:export options} –set exOpt to {compression factor:1.0, movie format:native size, movie codec:h.264, class:export options}–this cause error export document 1 to file aTagFile as QuickTime movie with properties exOpt end tell |
日頃からMac App Storeのレビューアーの血も涙もない(でも、ツッコミどころ満載の)リジェクトに遭っている身からすれば、こんなのリジェクト案件です。
個人的には信頼度の問題からmacOS 10.15は「パス」なので、macOS 11.0 Big SurがRelease時にコケないことを祈るのみです(メールが消えるとかいう話が一番OSの信頼度を下げる)。macOS 10.13, “Vista”という史上最悪・最低の大失敗をやらかして以来、「Release版のOSがBetaよりも低品質」という昨今のmacOS。10.13もBetaの時にはよかったのに、Release版で大崩壊を起こして見るも無残な姿に成り果てました。10.14もBetaの段階でGUI Scriptingの認証系でひどいバグがあって、「とても使えない」と判断。10.14.6まで待ってようやく手を出す気になったほど。
macOS 11.0, Big SurはBeta段階でも珍しく好印象で(GUIまわりの仕様はコロコロ変わるけど)、macOS 10.15みたいにBeta段階で「もう、これはダメ!」という話も聞きません(Relase時に紹介記事を書かなかったOSは10.15がはじめてです。10.15の崩壊度はひどかった)。macOS 11.0, Big Surには、macOS 10.13のような「Release版の大崩壊」を起こしてほしくないものです。