SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Adobe Developer Connection(AD)

Photoshop Generatorプラグインの作り方

Photoshopとサードパーティツールとの相互運用性を高める「Generatorテクノロジー」(後編)

  • このエントリーをはてなブックマークに追加

 前回は、サードパーティ製アプリケーションとの相互運用性を高める「Generatorテクノロジー」で何ができるようになったかを、PhotoshopやEdge Reflowを使ったワークフローを交えつつ、具体的に紹介しました。本稿では、node.jsアプリケーションとして実装されているGeneratorプラグインを自作し、機能拡張する方法を詳しく解説します。

  • このエントリーをはてなブックマークに追加

改めてGeneratorとは

 前回の冒頭では概念的にGeneratorの概要を書きましたが、端的に言うとGeneratorはiPhone/AndroidやPhotoshop以外のアプリケーションからTCP/IPを利用してPhotoshopへリモートアクセスを可能にするnode.jsサーバーです。

 従って、Generatorプラグインはnode.jsアプリケーションということになります。Photoshopと接続して状態の変化をイベントとして探知できるので、夢が広がります。本稿では、プラグイン作成の基本的な作法を紹介していきたいと思います。

 なお、本稿で使用するPhotoshop CCは、Adobe Creative Cloudの無償メンバーシップへの登録で30日間の体験版が利用可能です。

コアライブラリの準備

 まず第一にnode.jsをインストールしている必要があります。まだインストールをされていない方は、node.jsよりダウンロードしてインストールを済ませてください。

 node.jsがインストールできたら、Pluginのコアとなるadobe-photoshop/generator-coreをダウンロードもしくはcloneします。

 ダウンロードして展開したファイル一式を、今回はgenerator-core-masterというフォルダに入れます。ここまでできたら、first_pluginのフォルダをターミナル(Mac)もしくはCommand Line(Windows)で開き、下記のコマンドを叩きます。

npm install

 NPMNode Packaged Modulesの略称で、node.jsをインストールすると使えるようになります。上記コマンドを叩くと、開発に必要なモジュール一式がインストールされます。

Photoshopへのリモート接続準備

 [環境設定]-[プラグイン]で「リモート接続を有効にする」にチェックを入れ、任意のサーバー名とパスワードの項目には初期値として「password」とセットします。passwordというパスワードを変更したい場合は、generator-core/app.jsの58行目辺りで設定されているのでここを変更します。

 以上の設定が終わったら、一度Photoshopを再起動します。再起動をしないと接続可能になりませんので注意してください。

自作プラグイン用の構成ファイルを用意する

 generator-core-masterと同階層にpluginsフォルダを用意し、その中に自作のプラグインフォルダを用意します。まずは初めてのプラグインということで「first-plugin」という名前でフォルダを作成し、その中に下記2つのファイルを用意します。

  • main.js
  • package.json

 このファイルがプラグイン作成に必要な最低限のファイルです。なお、現在の自作プラグインフォルダはこのような状態になっています。

package.jsonにプラグイン情報を記述する

 前項のファイルが用意できたら、package.jsonにプラグインの基本情報を記述します。

{
    "name": "first-plugin",
    "version": "1.0.0",
    "description": "はじめてのPhotoshop Generatorプラグイン",
    "main": "main.js"
}

プラグインを実行する

 必要最低限の初期化処理を実装してひとまず実行してみます。main.jsに下記のコードを記述します。初期化の処理でgeneratorオブジェクトが渡ってきますので、変数に入れておきます。

(function() {
    "use strict";

    var PLUGIN_ID = require("./package.json").name;
    var MENU_ID = "fp";

    var _generator;

    function init(generator) {
        _generator = generator;
        console.log("はじめてのPhotoshop Generatorプラグイン");
    }

    exports.init = init;
}());

 以上の準備ができたら、generator-core-masterのフォルダへ行き、以下のコマンドを叩きます。

node app -f ../plugins

 上記のコマンドでgenerator-core-master/app.jsをpluginsフォルダを引数として実行しました。コマンドラインにconsole.logで指定した内容が表示されていれば、ひとまずPhotoshopとプラグインとの接続成功です。

注意事項

 もし、下記のようなエラーが表示されて、Photoshopとの接続が切れてしまう場合は、「Photoshopへのリモート接続準備」の項を再度読み返して、パスワードの設定をしてください。初期パスワードは「password」です。

Communiation error: 1
photoshop communcations error: {"error":"Photoshop communication error: 1"}
Photoshop connection closed
Exiting
Exiting with code 0: generator close event

次のページ
自作プラグインをPhotoshopのメニューに追加する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Adobe Developer Connection連載記事一覧

もっと読む

この記事の著者

又村 洋史(マタムラ ヒロフミ)

株式会社イノーヴWEBクリエイター。キャンペーンサイト・コーポレートサイト・ECサイトを中心に手がける。 土日はWEBの学校クスールで非常勤講師としてJavaScriptなどを教えています。日々学ぶことばかり。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7545 2014/01/22 14:38

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング