AdobeExtensionSDKの最近のブログ記事

今ではCommon Extensibility Platformなんて呼ばれていたりします。基本的にドッカブルなパレットで各アプリケーションを拡張する為の仕組みだと考えればよろしいでしょう。しつこいぐらい書きなぐっていますが当初はAIRランタイムが組み込まれたFlashベースの仕組みで北京で開発が進められていました。CreativeCloudに移行してしばらくした頃の事です。突然HTMLベースの仕組みに移行する事が発表されました。前兆としてAIRから手を引くといった死亡フラグがあったことは以前書きましたので、此処で詳しく書き連ねることは止めておきましょう。Flashベースの物は完全に破棄される事になり、次のCCメジャーリリースでランタイム自体もリムーブされる事が同時に発表されました。もちろんクローズドβ内での連絡なのでこの事を把握しているのは全世界で100人程だったのですが、このメンバーのほぼ全員から激しい反発が起こったのは言うまでもありません。結局、Flashランタイムが完全に破棄されるのは2016年のリリースまで延期される事になります。HTMLベースのプラットフォームの開発は閉鎖された北京の開発拠点からムンバイに移されインドの技術者を中心に進められます。そしていつのまにかCEPという呼称がつき、様々な機能追加が施されていきます。この作業はほぼCCリリースと同期するように行われていますが一部例外があり、CCのリリースにもイレギュラーなものがありますので、ランタイムとアプリケーションの相関関係が若干ぼやけた雰囲気があります。そして、このあたりの情報というのは完全にドキュメント化されていなかったりします。わたし自身も長い付き合いなのですが把握しきれているとは言い切れませんので纏めてみることにしました。

xlsとかxlsxとかodsとか色々あるわけですが、色々と取り回しを考えると嫌になってきたりしますよね? そこでスプレッドシートアプリケーションのネイティブファイルであるxlsx拡張子を持つファイルをパースするエクステンションでも作るかってなりました。ご存知の通りこいつらx付のオフィス系ファイルはバイナリで見ると頭がPKから始まるzip圧縮ファイルで中身がxmlで書かれていたりします。いつもこいつらをzip解凍してmediaフォルダから画像なんかを取り出すのですが、xmlファイルの方を開いて中身を解析する方向で考えたのです。しかしながら手順としては結構しんどいんですよ、これ。zipファイルの解凍だけでも心が折れそうなレベルですw
ですから、まずNPMでなんとかできないものか探ることにしました。CEPエンジンにはnode.js(2015.3以降はio.jsにスイッチされていますが基本的には同じ扱いになります。)当然NodePackageModuleも大半が動くはずなのです。で、一番最初にヒットするxlsxというモジュールを導入してみました。

皆様におかれましてはご清祥の事とお慶び申し上げます。既に納まった方、まだまだ悪あがき中の方といろいろございますでしょう。そんな年の瀬ですがちょっとリリースしたいものがございます。
皆様MetaMemoっていうやつを覚えていますか? Adobe系のドキュメント等XMPメタデータをサポートするファイル類にカスタムメタデータを追加してドキュメントの内容に対して一切干渉しない形でメモや注意書きを書き込んでおける便利な子なんですが、いろんなバージョンに対応させるために色々と諦めていた部分があります。
最近のOS環境の事も勘案してCC2015以降に最適化を行ったものをリリースしようというのが今回の趣旨なのですが、基本的に旧バージョンと違うのはドキュメントの切替に自動的に追随してパネルをアップデートするとかだけです。本来の機能である「カスタムメタデータの操作」に関しては全く変わっていません。ですから以前書いたメモが読めないとか新しいバージョンのもので書かれたメモが古いバージョンで読めないとかはありませんのでご安心下さい。

ある寒い夜、神はオフトゥンを遣わしました。凍てつき震える体を抱えていた人々は歓喜し、神に感謝の祈りを捧げました。オフトゥンに包まれるように眠る人々はもう凍えることはなくなりました。そして長い年月がたちました。冷え込み凍てついた朝、人々はオフトゥンから出てこなくなりました。そうです、人は堕落してしまったのです。
さて話は変わります。先日DreamweaverCC2017がリリースされましたが、このバージョンは大幅に手を加えられてます。一番大きいのはコードビューにBracketsを採用したところでしょう。Brackets自体はIDEとして独自に開発されてきたものですからBrackets自体が機能拡張の仕組みを持ちます。もちろん自分で作ることも可能です。基本的にJavascriptでの記述でいけますから腕に自信のある方はチャレンジしてみて下さいなんですけど、今回はこの内蔵されたBracketsをどうやって拡張するのかを見て頂ければと思うのです。
テンプレートを利用してExtensionを作ってみよう

つい先日まで暖かかったのに突然寒波がやってきました。寒いです。動きたくないです。そうだ、皆さん冬眠しましょう!
こんなに寒いのにウゴケナイヨ...とまあ、寒いの苦手なのはいつものことなのですが、頑張っていってみましょう。
先日のテンプレートですがわりと簡単に編集してしまえるものです。しかしながら、やった事のない人に言ってもぴんと来ないのは世の常です。ですから今回はテンプレートからどのように改変していくとオリジナルエクステンションがつくれるのかっ?って部分に言及してみます。


え〜と、QR Code Maker Proの承認がやっとの事で下りました。なぜ3週間もかけた???
ご利用はAdobe Add Onsサイトからどうぞ。
さて、今回のお話には全く関係ないところから入りましたが、みなさん、ワークスペースってどないしてますか?
アドビ社のアプリケーションって作業毎に使うツールも違えば必要なパネルも違うわけですが、ワークスペース切替も面倒だから大体妥協できる組み合わせて用意している方が大半ではないでしょうか?
例えば選択ツール使っている時に字形パネルとか開いていてもそれは全くのデッドスペースなのです。そんなこんなでわたしがAIで使うワークスペースはだいたい以下の様なものです。常時使うのは3種類
まず汎用です。
workspace0.png
続いてテキスト編集用
workspace2.png
3つめはパス等のアート編集用
workspace1.png
こんな感じですね。
さて、常時切り替えて使うと言いました。これは自動的に切り替わるようにしています。それを可能にするのがWorkspaceSwitcherなわけです。



こんなもん誰も作らんので用意しときました。わたしのgitのぞいてみてね。今回のはこれでもかってぐらいコメントかきこんである親切設計だからね。

https://goo.gl/Uo25d8
テキスト入力とボタンを用意したシンプルなテンプレートです。Configurator等を利用してカスタムパネルを作っていた人等が楽にHTMLエクステンションを作成できるようベーシックな部分だけの構成です。

PropertyExplorerと言うのは各アプリケーションのExtendscript DOMを調査するのに特化したバリバリの開発用エクステンションでございます。詳細は以下のリンクを見ていただくとして
https://creative.adobe.com/addons/products/1170
ちょっと試してみましょう。Illustratorのテキストを選択した状態で「Get Info」ボタンをクリックすると...
propexp001.png
こんな風にそのオブジェクトに関するプロパティと割り当てられている値をリストアップしてくれます。今回のアップデートではそのオブジェクトで使えるメソッドもリストアップ出来るという親切仕様となっています。もちろん、ボタンの上にあるテキストボックスに調べたいオブジェクトを書くのもOKです。
propexp002.png
こ〜んなかんじになります。わたし自身もESTKのデータブラウザ見るよりこちらでチェックしてコーディングする方が楽で、このエクステンションが無いとコーディングする気がおきません。またCodeEditorエクステンションっていうのを用意していてコーディングもアプリケーションから全く離れる必要がなくなりました。引きこもりです。
最新版ではPS/ID/AI等のグラフィック系のアプリケーションだけでなくAE・PR・AU他の動画系のアプリケーションにも対応ししています。
しかし、今回ご紹介する使い方はこ〜んなハードな使い方とは全く関係ないんですが、地味に便利です。


昨夜承認が通ったQR Code Maker Proですが、24時間で70本程のダウンロードで、そこそこの立ち上がりです。
今回のPro版リリースは本当の所、予定していたものではありません。実際にはver.2.0として予定されてたものなのです。
ここに至る紆余曲折について書き始めるといくらでも書いてしまいそうなのですが、一番の問題はAdd Onsのシステム自体がサポートアプリケーションの操作に対応していない事に起因します。

IllustratorSDKの解説に入りたいのは山々ですが、まずはSDK周辺の諸事情について解説しなければ真価を発揮できないと思います。ですから実際にヘッダファイルの解説など先の話になります。
そして今回がAdobeExtensionSDKというエクステンションパネルに関する部分の補足を行うことにします。
アンディ・ホール氏がとてもわかり易いリファレンスを日本語で書いてくれましたから少し理解しやすくなった感じがするAdobeExtensionSDKです。
わたしがちまちま書いたものよりよっぽどわかり易くて大助かりなのですが、カスタムリスナ関連の部分について少々補足しておきます。このあたりについてはネイティブ系とExtendScript及びCEPエンジンを完全にシンクロさせる為に必須の技術となります。この記事は先にEB3フォーラムに投稿したものの翻訳+詳細を付け足したものになります。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちAdobeExtensionSDKカテゴリに属しているものが含まれています。

前のカテゴリはserverです。

次のカテゴリはBridgeです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.12

    follow? twitter...     
    available on exchange