Electron アプリScriptDictionary

Electron, ExtendScript

ExtendScript用のXML解読アプリケーション作りました。ExtendScriptではExtendScript Toolkitに用付属しているXMLにExtendScriptのオブジェクトモデルが書いてあります。
場所はMacなら /Library/Application Support/Adobe/Scripting Dictionaries CC
WinならC:\Program Files (x86)\Common Files\Adobe\Scripting Dictionaries CC
尚PremiereだけC:\Users\username\AppData\Roaming\Adobe\ExtendScript Toolkit\4.0にありました(Winのみ確認)。
ExtendScript Toolkitではこれの内容を見やすく表示していたのですがExtendScript Toolkitはご存知の通り現役のアプリケーションではありません。WinならともかくMacでは立ち上げることすらできません。勿論直接開いてもいいのですがいざ見てみるとかなり読みづらいです。
というわけで作りました。UI上で表示するアプリケーションを。

使い方

立ち上がったらダイアログが表示されるので読み込ませたいXMLを選択してください。選択して読み込みが無事終わるとXMLの中身がリストでアプリケーション上に表示されます。左側のリストは各種class名のリストです。右側が各種classの中身の詳細が書かれています。左側のリストはクリックすると各種classにスクロールを飛ばしてくれます。上部に検索用フォームがありますので検索した文字列を入れてボタンをクリックすると該当の箇所まで飛びます。

classの詳細

各種classにはご存知の通りpropertyとmethodがあります。(オブジェクトによっては片方がなかったりする)
この中にpropertyの詳細、methodの場合は引数の詳細が書かれていたりします。それは値の型だったりアクセスの種類、読み込みか書き込みだったりします。しかし中を調べると規則があるようで種類によっては多少異なる部分があったりして結局完全に理解できませんでした。一応大体の概要は書いておきますが全て当てはまるわけではないのでご了承ください。

  • name

    そのまんま該当のclassなどの名前でしょう。

  • shortdesc

    おそらくshort descriptionの略。
    該当の箇所、classやpropertyなどに関する簡単な説明が記載されていることが多いです。

  • dataType

    dataType以下type,valueと続くことが多くデータの型に関することが記載されていることが多い、number、stringなど。

  • rwaccess

    各種プロパティへのアクセスに関する記載でしょう。
    readonlyなら読み込みのみ。でもreadonlyしか見たことない。

  • enumeration

    多分列挙の可否。

  • optional

    おそらく省略の可否の項目でないでしょうか。trueだったら省略可能とか。

ご使用にあたって注意

実際に以下のアプリケーションのXMLで読み込みのチェックをしました。

  • Illustrator 2024, 2023
  • Photoshop 2015?多分
  • Bridge 2022, 2019
  • CommonFiles, 共通のJavaScritpのXMLとScriptUIのXML

その他のinDesignとかAfterEffetcやPremiereのようなアプリケーションですがどうも新しいアプリケーションにXMLは同梱されていないようでまだ試していません。古いバージョンに同梱されているとは思うのですがご存知の通りAdobeは最新より一つ前のバージョンは全て削除してしまうのでダウンロードできません。現在どうにか試せないか調査中です。

一応念入りにXMLの構造を調べて全て列挙できるようにしたつもりです。
ただXMLの構造は複雑でさらにアプリケーションによって少し違うのでどうしても漏れはある可能性は否定できないのでご了承ください。
またXMLですがInDesignとAfterEffectsだけは見つかりませんでした。調査中ですがもしかしたら最新のバージョンには付属していない?

ダウンロード

Git Hubよりコピーしてご使用ください。

git clone, npm install, npm run build すればコードが生成されます。
その後 npm startでアプリケーションが立ち上がります。
パッケージする場合はnpm run makeでできます。

再配布とかしなければご使用は自由です。

参考

Illustratorスクリプトの開発資料

Beer 寄付してサイトを応援する。