カテゴリー:UXP 一覧
UXPのドキュメントを読んでいくとfsというモジュールらしきものがちらほら出てきます。 これはfileSystemの頭文字をとってfsなのでしょうが厄介なのがこのfsという似て非なるものが三つも存在する事です。 ネタのような話でわりかし精通していない開発者の壁となりやすい箇所なので解説します。 Node.jsのfs 一般的にJavaScriptでfsと言ったらNode.jsのネイティブモジュールのfsです。 ファイルシステム関係のモジュールでローカルのファイルにアクセスします。公式ドキュメントはこちら。 グーグル先生に尋ねると大体これ関係の記事がヒットするのでここであまり語ることもありませんが
Read more
今年も大幅アップデートの季節が来ました。皆さん各種アプリケーションの新機能を触っていますが私はそっちの新機能そっちのけでUXP Scriptばかり触っています。ただ現状IllustratorでCEPが使えなくなるとかなりの不都合があるので当分IllustratorのCEPが廃止されないように祈るだけです。 それでIllustratorは置いといてUXPですが今回のアップデートでついにローカルファイルへのアクセスがダイアログ無しでできるようになりました。Node.jsチックなファイルシステムが大幅に追加されたので触ってみます。まず実際に触る前にmanifestの設定をローカルアクセスできるように
Read more
React関連のぼやきをTwitterで呟いたら外国のアカウントから返信が色々きて驚いた最近です。Adobe Spectrumの挙動など外国の方から教えてもらって今回その事を主に取り上げたいと思います。 まず何度も申し上げてますがUXPはブラウザーに似ているようで異なるシステムの上に成り立っています。CEPはChromeのシステムがベースになっていたのでブラウザーで動く事はおおよそその通りの仕様で動くようになっています。しかしUXPは細かい仕様が異なるのでつまづく箇所がそこそこ出てきます。そこで最近何度かつまづいた箇所を(主にSpectrum関連)をまとめておきます。 manifest5よりパ
Read more
Photoshopのマイナーバージョンアップ(23.5)と共にmanifest.jsonやパネルUIを必須としないScriptingが使えるようになりました。これは従来のExtendScriptの代替のようなものでScriptファイル単体でUXPScriptが実行可能となります。以下ざっくりした特徴になります。 基本はUXP Pluginの仕様に準拠。(ES2015が使えたりローカルファイルへのアクセスが制限されていたり) psjsという特殊な拡張子を使用。 実行自体ファイル -> スクリプト -> 参照からpsjsファイルを選ぶだけ。 manifestもUIも必須ではない。ただしScript
Read more
またまたPhotoshop UXPです。過去にPhotoshop UXPからExtendScriptを無理矢理実行するでstorageとfileSystem Tokenの話題をちょこっと出したのですがもう少し整理しようかと思って今回の記事になります。今回主にローカルのファイルパスを取得してその取得したEntry型のファイルパスをstorageを通して一時的に保存して再度取り出す、という一連の流れとそれに関連した話題になります。 ファイルパスについて 何度も過去に言及している通りUXPにおけるファイルパスはEntry型のオブジェクトとして取得しないと実際にローカルのファイルにアクセスできません(
Read more
Photoshopの調整レイヤー、当たり前のように使う機能ですのでどなたにとっても必須の機能でしょう。しかしこの調整レイヤーですがscriptで調整しようとするとオブジェクトモデルに該当のオブジェクトがなかったりと悩みの種でもありました。今回その調整レイヤーをUXPで調整する方法がPhotoshop UXPのdeveloperコミュニティーに投稿されていたのでこちらを参照して行ってみました。 必要な知識 今回UXPのbatchPlayから調整するのでbatchPlayの知識が必要です。batchPlayに関してはPhotoshopUXP batchPlayでPhotoshopの特定の処理を実行
Read more
Photoshopが23.3にバージョンアップしました。いわゆるメジャーアップデートではありませんがUXPも少しだけ更新されています。いくつかのAPIの機能の追加、それとmanifestのver5にアップデートに伴う機能などが更新。 *5月20日manifestの項目を少し更新しました。 manifestで最新のバージョンにする。 まずはmanifestでプラグインの環境を最新の状態にしてみましょう。minversionを23.3(23.3以降にしか対応しないという意味)にapiVersionを2に、します。そしてmanifestVersionを5にしますがmanifestのバージョンを上げる
Read more
振り返ったらPhotoshop UXPとNode.jsについてまとまった記事を書いていない事に気づいたので書くことにしました。まあ結論から言うとUXP上でNode.jsは使えないです。しかし下記のコードを見ると誰しもがNode.jsベースで動いたコードと思ってしまうとは思います。 requireでPhotoshopモジュールを呼び出してPhotoshop関係のメソッドを実行しています。見た目そのままNode.jsではありますがそれでは以下はどうでしょうか。 結果は以下。 pathモジュールもfsモジュールも一見使えそうではあります。そのpathモジュールのメソッド、例えばextnameやdir
Read more
Photoshop UXP開発において欠かすことのできないプラグイン、JaroslavBereza氏のAlchemist。 そのAlchemistの新しいバージョンにはSorcererという新しいパネル(機能)が追加されました。これは簡単なPluginならほとんどの要素を自動で生成してくれる優れものです。Alchemistって何?という方は過去の記事を参照してください。以下いろんなリンクを先に紹介しておきます。 Alchemist Plugin github 今回参考にしたSorcererのチュートリアルのvideo(英語) Alchemistでbatch play用のコードを取得するチュート
Read more
Photoshop UXPが導入されて巷ではどちらかというと今までCEPやExtendScriptで出来たことが出来なくなって悲鳴の方が大きい気がします。なのでUXPで出来ない事(ダイアログを呼び出さずにファイルを指定のパスに保存、特定のファイルを開く等)をやるためにどうにかExtendScriptを実行できないかみたいな話題も出てきています。そして結論から言うと通常の機能ではできません。そして今回それを無理矢理やろうという話です。 *5月31日storageに関する記述を修正。secureStorageは今回使用する必要がありませんでした。 そもそもUXPで出来ない事とは あまり公式ドキュメ
Read more