CEPはおいしいのか
ExtendScriptで消耗しているので、消耗ついでにAdobe CEPをハンズオンしていく。CEPでもExtendScriptから逃げられないのは知っている。
VSCode Extensions
-
https://marketplace.visualstudio.com/items?itemName=hennamann.cc-extension-builder
- scaffoldingジェネレータ
- これAdobe製じゃないのか、すごいな
とりあえずtopcoatを選択してプロジェクトを生成した。
.
├── CSXS
│ └── manifest.xml
├── css
│ ├── boilerplate.css
│ ├── styles.css
│ └── topcoat-desktop-dark.min.css
├── icons
│ ├── iconDarkNormal.png
│ ├── iconDarkRollover.png
│ ├── iconDisabled.png
│ ├── iconNormal.png
│ └── iconRollover.png
├── index.html
├── js
│ ├── libs
│ │ ├── CSInterface.js
│ │ └── jquery-2.0.2.min.js
│ ├── main.js
│ └── themeManager.js
└── jsx
└── hostscript.jsx
6 directories, 15 files
勝手にいい感じにAdobe Illustratorの拡張向けのディレクトリに配置してくれている。
asataka@tailmoon com.example.helloworld % pwd
/Users/asataka/Library/Application Support/Adobe/CEP/extensions/com.example.helloworld
asataka@tailmoon com.example.helloworld %
manifest.xml のコメントアウトを外す。これは気づかなかった。英語は読み飛ばしてしまいがち。英語ネイティブが羨ましい。
<!-- Illustrator -->
<Host Name="ILST" Version="[18.0,99.9]" />
これでIllustratorのWindow→Extensionsに作成したプロジェクト名が出てくるので(サボったので Extension Nameになっている)選択して
起動するとウィンドウが表示される。
多分topcoatというのはAdobeのUI風のスタイルということなんだろう。
このコード片を埋め込むとリロードできるようになるらしい。あとで試してみる。
パネルの中に何も表示されないのはおかしいみたいなので、デバッグしていく。ログファイルの場所は https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_8.x/Documentation/CEP 8.0 HTML Extension Cookbook.md#where-are-the-log-files に書かれている。
ログレベルの設定はmacOSの場合は defaults
コマンドで行える。WARNの2で十分だろう。
defaults write com.adobe.CSXS.11 LogLevel 2
tail -f ~/Library/Logs/CSXS/CEP11-ILST.log
2022-01-07 02:37:02:516 : WARN PlugPlugSetup must be called first
2022-01-07 02:37:02:518 : WARN PlugPlugSetup must be called first
2022-01-07 02:37:02:522 : ERROR Headlights service fails to log extension data.
2022-01-07 02:37:02:638 : ERROR PlugPlugUnloadExtension: PlugPlugErrorCode_extensionNotLoaded (SetIsLoaded: Extension <com.example.helloworld> currently not loaded)
2022-01-07 02:37:02:638 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:37:02:638 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:37:02:638 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:37:02:639 : ERROR Unable to terminate CEPHtmlEngine
よくわからなかったのでログレベルを3にした。
2022-01-07 02:48:50:728 : INFO PlugPlugLoadExtension called for extension : com.example.helloworld
2022-01-07 02:48:50:728 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, LoadExtension com.example.helloworld begin.
2022-01-07 02:48:50:728 : INFO RED 50.000000, GREEN 50.000000, BLUE 50.000000, ALPHA 255.000000
2022-01-07 02:48:50:729 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, PrepareLoad begin.
2022-01-07 02:48:50:729 : INFO GetPanel() callback called. Extension : com.example.helloworld
2022-01-07 02:48:50:729 : INFO GetPanel() callback returned: PlugPlugErrorCode_success
2022-01-07 02:48:50:729 : WARN PlugPlugSetup must be called first
2022-01-07 02:48:50:729 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, Init IpcServerEndpoint...
2022-01-07 02:48:50:729 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, Fork client process...
2022-01-07 02:48:50:729 : INFO Environment variable for setting ingest environment not found
2022-01-07 02:48:50:732 : WARN PlugPlugSetup must be called first
2022-01-07 02:48:50:732 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, Set window content...
2022-01-07 02:48:50:734 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, PrepareLoad end.
2022-01-07 02:48:50:734 : INFO TEST-LOADEXTENSION-PERFORMANCE, PLUGPLUG, LoadExtension com.example.helloworld end.
2022-01-07 02:48:50:734 : ERROR Headlights service fails to log extension data.
2022-01-07 02:48:50:734 : INFO Return value of PlugPlugLoadExtension call : PlugPlugErrorCode_success
2022-01-07 02:48:50:878 : INFO PlugPlugUnloadExtension called for extension : com.example.helloworld
2022-01-07 02:48:50:878 : INFO Debug: hideOnClose is set to 0
2022-01-07 02:48:50:878 : ERROR PlugPlugUnloadExtension: PlugPlugErrorCode_extensionNotLoaded (SetIsLoaded: Extension <com.example.helloworld> currently not loaded)
2022-01-07 02:48:50:879 : INFO Return value of PlugPlugUnloadExtension call : PlugPlugErrorCode_extensionNotLoaded
2022-01-07 02:48:50:879 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:48:50:879 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:48:50:879 : ERROR CEPHtmlEngine helper application unexpectedly quit
2022-01-07 02:48:50:879 : ERROR Unable to terminate CEPHtmlEngine
PlugPlugErrorCode_extensionNotLoaded
調べても全然目ぼしい記事はヒットしなかったのだけれど、よくわからないヘッダーファイルを見つけた。
openイベントを受け取っていない状態で何かをさせようとするとこのエラーになるらしい。
よくよく調べたら対象CSXSバージョンのだけ、PlayerDebugModeが有効になっていなかった。CSXS.11で有効にする。
asataka@tailmoon astk-extendscripts % defaults read | less
asataka@tailmoon astk-extendscripts % defaults read | grep CSXS.11 -A2
"com.adobe.CSXS.11" = {
LogLevel = 3;
};
asataka@tailmoon astk-extendscripts % defaults write com.adobe.CSXS.11 PlayerDebugMode 1
asataka@tailmoon astk-extendscripts % defaults read | grep CSXS.11 -A3
"com.adobe.CSXS.11" = {
LogLevel = 3;
PlayerDebugMode = 1;
};
asataka@tailmoon astk-extendscripts %
これで無事表示されてほしいものは表示された。
こんにちは真っ黒な世界🤗