2021年11月27日土曜日

GIMP script 2.x to 2.99(3.0) 移行補助プログラム 其の弐

さてさて、溢し混じりの 進捗報告 を。
そんなの 無謀な! の 気持ち半分 で始めた、
GIMP script 2.x to 2.99(3.0) 移行補助プログラム。
少し、冷却期間を置こうかと。


件の ですが、
そう、 件とは、
GIMP script 2.x to 2.99(3.0) 移行補助プログラム。

どんなものかと言えば、
https://shiroyuki-mot-says.blogspot.com/2021/09/gimp-script-migration-program.html
に書いた通り。

実は、糞 暑い 時期に手を付けるのはどうか? と思いつつ、
書き続けて、幾らか形を整えつつあります。

先の 投稿のリンク先のもの よりは少しは進捗してはいます。
Python に関して、
朧げ乍ら、出口が見えて来た処です。
其れに較べれば、Script-Fu (Scheme) は 楽であった 気がします。

  8月に v.0.8.1.15 だったものが、
  11月中旬現在、v.0.8.1.21 に迄、進んでいます。

しかし、此の 実に厄介な 代物 !。
一気に作り上げて、其の後、GIMP 自体の 変化に追従可能なのか?、
と ふと 思えば、 ... 自信がありません。

殊に、
実際に、Python で Script を書いて見れば分かるのですが、
GIMP 2.x の時代の PF_xxx を代替するには 駒不足 な気もします。
そう、 現行の 開発途上版 の Script Dialog UI は 未完成 とも思えるのです。
きっと、GIMP 3.0 の前に、手が入る! ... 。
そんな 妄想 に襲われます。
そうなれば、
こちらのものにも手を入れざるを得ない訳でして ... 。
慣れぬ C# で書き乍ら、
更に、
未知の GIMP 3 API と Python の Gio での困惑。
頭が狂って来そうな日々でした。
でも、
此れを書いていたお陰で、多少は、理解が進みました。

恐らく、GIMP 本体あの辺りに手が入るのだろうと 推測 もしています。


UI に直結する部分がどうも、すっきりと理解出来ていないのです、私。
なので、 書くのを止めます。  (中断 或いは 保留)


徒労の様な、文字列置換の繰り返しになっている 私のプログラム ... 。
其れが、今、書いている 奴 です。


UI 絡みの 記述 を残して 此処で ホールド! と致します。



おっとぉ~、 筆を置く、じゃぁ無かった~、中断する前に、
積み残しは 多少なり共、消化して置きたい処ですね。

  実際の処、 頭は パンク寸前 迄 行っています。
  でも、しかし、
  詰まる処、 直ぐには、作業を放り投げられ無い ... 。
  所謂、 鉄は熱いうちに打て! と同じで、
  頭の中に、作業項目が、朧でもハッキリしているうちに、目途を付けて置きたいですから。
  時間が経過して仕舞うと、
  Code を追うのも大変な位の 分量 を既に書いていますから。
  そう、何時もの こんがらがりスパゲッティ 状態!。
  継ぎ足し継ぎ足しの 迷宮状態!。
  再開時に、何処に手を入れれば良いか が、後から分かり易い様に、気を配る事も大事!。
  でも、 大丈夫かしらん? と 一抹の不安 ... 。

積み残し とは、
 PF_??? 置換に関する 条件分岐の下準備 と、
 pdb Call の 新 API 対応 と、
です。

pdb Call の 新 API に関しては、
実際、動かすには、引数群の確認が必要になりますが、
其処迄は 面倒見切れないので、機械的に処理する 心算 です。
丁度、 Enum の見直しが事後に必要なのと似ているかも知れません。



尚、 現状では、
自動生成した Code の UI 部分定義に手を入れる事で、
GIMP 2.99.8 上で動くケースもあります。

  現状、   不明なのは、対象以外の image や layer を引数で必要とするケース。
  不確かなのは、ComboBox を必要とする OPTION のケース。  int 定義で代用は可。
  不足するのは、SPINNER や SLIDER の Element 。  int や float 定義で代用は可。
  其れ以外にもあるとは思うのですが、 概ね、基本的には 動かす事が可能 です。
  
  下図はそうして動かしたもの。
     自分の Python Code は 複雑なもの が多いので、
     此の Program 用に かなり単純化 したものを用意したのでした。
     目的別に 何種類か作ったもののひとつ です。
  GIMP 2.10 用の Code を読み込み、[ Chk Menu ] > [ Try Mig ] と進めて、Code を自動生成しています。
  本来、出力先を指定してファイルを Folder(Directory) に収めて出力しますが、
  今回のテストでは、右枠をコピペして、メモ帳で編集の上、CrLf で UTF-8 保存しています。
  Lf のみに拘らなくても、動く様です。
  尚、 右枠内で編集も可能ですが、少しは機能の多いメモ帳上で熟しました。





0 件のコメント:

コメントを投稿