Photoshop UXP action recording サンプル
2024年12月11日 プラグインをアップデートしました。
Photoshop UXPにて25.0よりアクションレコードが追加されました。以前の記事でも紹介しましたが何気に画期的な機能です。なので今回もうちょっと踏み込んで具体的に何が便利なのか触れてみます。
アクションレコードの画期的な部分
メリットとして以下のようなことがあります。
- 通常アクションで作れないような内容もアクションとして登録できる
- プラグイン開発者だけでなくプラグイン使用者の意図も汲み取ったアクションを作れる
- 単体Scriptの実行をアクション化がファイル依存なのに対してこれはプラグイン依存なので実行ファイルのディレクトリーに依存しない。
特に2番が大きいでしょうか。後ほど具体的なサンプルを交えて紹介しますがパネル上のフォームに入力した内容でアクションの内容を変えるような事も可能です。逆にデメリットとして以下のようなことが挙げられます。
- 登録に使用したプラグインがアンインストールされると使えなくなる
- 複雑ではないがアクションの記録のやり方、もしくは仕様についてを説明する必要がある。
- まだ新しいバージョン(25.0以降)にしか対応してないので普及まで時間がかかりそう
です。特に1番が少し厄介ですね。逆に有料プラグインなんかはプラグインの状態が連携してくれるのでメリットでもありますが。
サンプルプラグイン
そんなことでサンプルプラグインを作りました。最後にパッケージ化したものもあるので是非試しに使ってみてください。
内容はガイドをドキュメント上に引くアクションと特定の拡張子で保存するアクションを生成するプラグインです。個別にパネル上から実行もできます。
アクションの登録のやり方
前述の通りプラグインの関数、処理内容をアクションに登録できます。ただしプラグインがアンインストールされると使えなくなるので注意しでください。登録のやり方は以下のようになります。
- アクションパネルからいつも通り新規アクションを作成(既存のアクションに追加もできます)
- 作成したアクションの記録(録画ボタン)をオンにします
- プラグインの方でアクションに記録(今回のサンプルではパネル上の特定のボタンを押すと記録されます)
- 成功するとプラグインアクション….のような感じでアクションに登録されます
アクションが登録されると成功したかどうか通知がアラートで表示されます。通知無しのボタンは通知が起きません。(デフォルトだとこの状態。標準のAPIでは通知を起こせる機能は無い)
尚プラグインパネルから登録するやり方はプラグイン、開発者のプログラムの実装によって異なるのでプラグインの配布元の情報やメモなど個別に参照してください。
以下、個別の機能の紹介です。
ガイドを引く
ドキュメントの端にガイドを引きます。テキストボックスに数値を入力すると入力した数値のピクセル分だけ端から余白をとってガイドをひいてくれます。ガイドを引くボタンは現在のドキュメントにガイドをそのまま引きます。
ガイドアクションを記録ボタンは前述の通りアクションの記録ボタンがオンの状態でボタンを押すとガイドを引くアクションが登録されます。余白の数値もそのまま登録されるので50pxや100px等登録したい数値を入力した状態でアクションに記録してみてください。
ドキュメントを保存
チェックボックス(psd, jpg, tiff)のチェックしたフォーマットで現在アクティブなドキュメントを保存します。複数チェックがついている時は複数の拡張子で保存します。保存関数実行ボタンはそのままアクティブなドキュメントを保存して最後にドキュメントを閉じます。保存アクション記録ボタンは前述の通りアクション記録ボタンオンの状態で押すと保存アクションが記録されます。psd、jpgのように好きな組み合わせで登録してください。
アクションコマンドの取得
ver1.1よりアクションのコマンドの内容を取得するサンプルのパネルを追加しました。選択したアクションセット、アクションからアクションの中身のコマンドを取得して表示します。あくまでコマンドの内容を取得するサンプルなのでそれ以上の内容はありません。
ダウンロード
以下よりダウンロードしてください。
サンプルプラグイン
ファイルをダブルクリックするとインストールできますがAdobe market placeに登録していないので警告が出ると思いますが無視してインストールしてください。成功するとAdobe CC desktop appの”プラグインを管理画面”からも確認できます。尚このプラグインによって生じたいかなる事故も責任は負えません。また今回のプラグインはアクションレコードのサンプルでしかないので細かい動作チェックなどはしていません。