見出し画像

【projectItemRenamer.jsx】UI 生成再構築 48【開発記】


今回の概略

ExtendScript って今でも ES3 なのね🙄

#jsx #開発記
#ExtendScript #AfterEffects

作業準備
忘却分実装
定義新式化
Event,EventTarget
ライブラリ調整
一次調整
UI 定義 obj 調整
UI 生成再構築 ←今ココ
二次調整
UI 追加
結果一覧 CSV
ラベル対応
第2層改装
ローカライズ対応
OTSParser 改
総合試験
最終調整
公開準備

----備忘録
optname と options をもっと上位で定義してその参照に置き換える
「いくない」(及び要修正)の排除
動作中の stat 更新
MAIN,EXE の配置再考
背面に送れない…?
plist を MAIN プロパティに足す
jsx 再実行で閉じれない
ボタンタイトルクリック及びショートカットESCによる終了の実装
_debug とかのグローバル変数消す
obj の参照方法をやめたい
obj.tmp.prop は想定通りの動作をしているが余り美しい定義構成になっていない(むしろ混線(スパゲティ)型で危険
UI オブジェクトの登録方法が忘れるとどうにもならないのでもう少し高級化したい
UI 生成方法の改善
 環境読込でパネルを表示してから状態復帰する件
 テキスト一発ぽんなので addItem 方式で1つずつ生成したい
UI を一気に文字列で登録するやり方は汎用性が低いのでappendChildの再帰呼出で何とかしたい
UI とかの app 固有は collect みたいな BridgeTalk の振り分け
BridgeTalk.appName をどこか共通で使える場所に確保( global 参照と関連)
global に定義した UI の参照いくない
nameReplacer が candidate を呼ぶ為の options 設定を UI 設定側と一元化
PrefsRestorater と NRHistories の連携が取りにくい
restoreList のクラス化
インスタンス参照可能にしている辞書を辞める
 escapeDic のインスタンス参照廃止
 tokenTypeDic のインスタンス参照廃止
 FileState.errCode のインスタンス参照廃止
 FileState.errDic のインスタンス参照廃止
所属ライブラリの調整
ファイル系は PREF から FILE へ
obj.tmp.prop 系は Node へ
STAT,INFO のテキストコールバック生成の統合
イベント駆動型でスコープ外変数の参照を減らす
ラベルカラー対応
第2層 3D レイヤー
ソロスイッチ
機能ボタン配置 ( ver 20230317_00 で断念した margine 問題)
第2層ラジオボタン化
listToCsv
ローカライズテキスト対応?
ローカライズの書式を一般的な物に修正したい
OTSParser 改
OTSPElement の property の幾つかが [PNAME.????] になってるので直値にする
 全部やる必要は無いけど nodeValue とかは直の名前なので統一するという意図

UI 定義用 obj の整備が終わったらいよいよ UI 定義の方法の変更に着手しようかな🤔
これは確か addItem とかでやろうとしてたけどうまく行かなくて今の方法で定義していた筈なので修正にはかなりの時間を要する事が予想されるかな😞
この定義の元になるデータを汎用 Node で持たせる様にして再帰呼出で一発ぽん…いやそれは厳しいかな?まぁ目標って事で🤤
題目は「 UI 生成再構築」🤤
ここの整備をしたなら candidate で読むオプション設定の一元化も目処が立つと思うけど状況次第ではこれは次の所での調整になるかも?🤔


前回の粗筋

plist.prop は保存する UI オブジェクトのプロパティ名の辞書🤔



ExtendScript

ちょっと C++ でのプラグインの事について調べていて分かった事が😑
(唐突な「の前に」の開始)

Adobe ExtendScript をJavaScript ES6で記述する
https://qiita.com/yukkuriesu/items/95ec37307348b71ec28f

Adobe ExtendScriptはES3という非常に古い文法しか使えません。

2021年10月29日

After Effectsに求めること (妄想)
https://baku89.com/2016/07/08/ae-features-i-wish

ExtendScript, ES6とCommonJSのサポート

2016.Jul.8

てっきり CC で ES5 とか ES6 が使えるようになったり UI に HTML 使える様になった段階で jsx でも ES6 が使えるようになったとばっかり思ってたんだけど…😭
この CS6 で使われる化石の ES3 式のスクリプトで頑張る開発記、ちらほら見る人が居てなんでだろうと思ってたんだけど、どうやら ES3 準拠の記述にはまだ需要が有ったって気がついたお🙄

上記記事にも出てるけど ES3 は 1999年12月 に勧告が出たらしいシロモノなので、この記事を書いている、実に24年近く前の実装って事になるぽ?😞マジカヨ
CC で ES6 使える様になったって聞いて、 Event のコンストラクタを apply で呼んだり Array.from 使ったり Array 継承したり Object.create とかテンプレートリテラルとか ...残余引数 展開とか jsx で使えるって夢見てたのに…😭
Array.from も Array.indexOf もツカエナイ…😞
継承で Object.create() も使えない…🙄
アローは勿論、糖衣構文の class も使えない…😑
いや、アローや class は使えなくてもいいや、 prototype 式の記述大好きだから🤪

うーん…そうすると、今までは自分がわかる記録に留めていたけど、今までよりも多めに肝っぽいコードの掲載とかをすべき…?🙄
一時期旺盛だった AEP 用のスクリプトのサイトも更新する人がほぼ途絶えてしまってたりで今の時代に ExtendScript の記事を更新しているのは貴重だというのはわかるんだけど見てる人は実際には凄い数が少ないのでやっても仕方ない感じがしないでもない😑


どう思う?🤤


次回は

本題に戻るお🤤
横道に逸れてばっかじゃんって言われそうだけど🙄

この記事が気に入ったらサポートをしてみませんか?