【Adobe InDesign】動画・音声の再生をショートカットで


はじめに

この記事は、いつも良質なアウトプットで好奇心を刺激してくれるめんたいこ(kickbase)さんの始めた活動(fac)に共感を覚え微力ながら力になれればと思い書いたものです。

技術的には特に目新しいことはなく、アプローチを変えて課題を解決したという話です。

メディア

あまり馴染みのない方もいらっしゃるかもしれませんが(私も仕事では扱ったことがありません)、InDesignは画像ファイルだけでなく、動画や音声ファイルを配置することができます。

上のスクリーンショットはmp3ファイルを配置したものです。スピーカーのアイコンが見えていますが、InDesignファイルのままではクリックしても再生されません。
そこでウインドウメニューからインタラクティブメディアでパネルを表示します。(動画だとスピーカーではなくサムネイルが表示されます)

スピーカーが表示されてもどんな音声が再生されるかはわかりません。確認するには、三角のプレイボタンを押すのですが、まあ小さい。

配置ファイルの確認するために、フレームを選択して再生ボタン。フレームを選択して再生ボタン。フレームを選択して再生ボタン………。
その都度マウス移動するので数が多いと確認作業も大変です。この再生ボタンを押すのをキーボードショートカットでできればずいぶん効率化できます。

さて、Adobeのアプリケーションのスクリプトを書いた方はお分かりだと思いますが、パネルはスクリプトからの制御が難しく今回のメディアパネルも再生ボタンを押すようなものは用意されていません。

最初に考えたアプローチは『メディアパネルの位置を取得してそこから再生ボタンの位置を計算してクリックさせる』というものでしたが、System Events側からも位置はおろかパネルのカウントすらできず断念。

Keyboard Maestroにはキャプチャした画像を元に画像解析して処理をさせるような機能があるのですが私自身まだやったことがなくこの時点では思い至らず……

やっぱりできないのかなと何気なくコンテキストメニューを出して見ていると

元データを編集なるものが、そしてさらにその下には編集ツールがあり

QuickTimeで編集が可能なことがわかりました。

コード

そうとわかれば話は簡単。GUI Scriptで機能を呼び出し、QuickTimeで再生させるだけです。

tell application "Adobe InDesign CC 2019"
    activate
    tell application "System Events"
        tell process "Adobe InDesign CC 2019"

            tell menu bar 1
                click menu bar item 4

                delay 0.1
                click menu item "編集ツール" of menu 1 of menu bar item 4

                delay 0.1
                click menu item "QuickTime Player.app 10.4" of menu 1 of menu item 24 of menu 1 of menu bar item 4
            end tell

        end tell
    end tell
end tell


tell application "QuickTime Player"
    delay 1
    tell document 1
        set delayTiem to duration + 1
        play
        delay delayTiem
        close
    end tell
    quit
end tell

上記コードをAutomatorでサービスで作り、ショートカットを設定すれば目的達成です。

ファイルを閉じるのにdurationで再生時間を取得し、+1秒経過してから閉じるような処理にしています。

GUI Scriptは処理間でdelayを挟んだりとちょっと扱いに注意が必要なことがありますが、それでも手作業のわずらわしさを考えれば状況に応じて使っていきたいところ。

まとめ

さて、今回の課題はファイルを再生させることです。
メディアパネルの再生はそのための手段の一つにすぎず、そこに固執してしまうと、手段が目的化してしまい行き詰まってしまうことがあるので原点に立ち返り、別のアプローチを考えてみましょうというのが今回のまとめです。