いよいよ、GIMP も 3 の RC が出た事ですし、
今後、そうは大きな変化が無いもの! と仮定し、
そろそろ、
自前の スクリプト群 に手を入れ様かと。
いやぁ、変わりましたねぇ。
GIMP 3 の スクリプト環境!。
従前の GIMP 2 のもの ... 使え無いと思った方が宜しいかと。
X(
ええぇ!、そんなぁ ... と零す声が聞こえてきそうですが ... 。
GIMP 2.99.10 の頃は、
Script-Fu (Scheme) は まぁ 何とか動いていた訳ですが、
Script-Py (Python) は 大幅に書き換えが必要でした。
Core そして API の変化 がそうさせていたのですが、
GIMP 2.99.19 等、GIMP 3 が近付くに連れ、
全貌が現れて来ました。
そして、RC (Release Candidate ) の公開!。
従前の Script-Fu も動くものはありますが、
実は 警告だらけ! の状況です。
無論、従前の Script-Py は 恐らく全滅! の筈。
でも、途中経過の頃に較べれば、少しは 簡素なコード になったかな? の感じ。
書き換え必須! です。
さて、
Script-Fu に関して、少し。
無論、公式添付のもの以外が対象です。
先ずは、
GIMP 自体が変わって来ているので、
前の GIMP を対象に書かれたコードは、
影響を受けています。
単一 Layer を基本として操作していた従前の内容は、
複数 Layers を扱う様に変わっているのが 新時代 の特徴。
API が かなり 変化 していますから、
コード見直し は欠かせません。
其れ以上に感じるのは、
格納場所に見る 変化 でしょうか。
従前は、個人用の所定 Directory(Folder) "script" に入れていたのですが、
Script-Py (Python) 同様、
"plug-ins" に 個別 Sub-Directory(Folder) 形式 で納められています。
此れと並んで、
従前同様、"script" にも入っているのです。
推測ですが、
引き継ぎで問題発生が無いものが script 内 で、
新しい Script-Fu v3 と呼ばれるものが plug-in にと、
区別されている気がします。
差し当たり、昔のものも 動くかも、ですが、
長い目で見た時には、将来、
不都合が表面化するかも知れません。
因みに、機能的に正常動作していても、
Verbose Window には 以下の警告 が表示されます。
自前の 2.99 対応の奴、 script-fu-shiro-layer-shift の例。
procedure_commands_get_display_args: plug-in procedures expecting a single drawable are deprecated!
(script-fu:2776): LibGimpConfig-WARNING **: 16:58:08.563: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::otherImage of type GimpImage
(script-fu:2776): LibGimpConfig-WARNING **: 16:58:08.574: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::drawable of type GimpDrawable
(script-fu:2776): LibGimpConfig-WARNING **: 16:58:08.585: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::otherImage of type GimpImage
(script-fu:2776): LibGimpConfig-WARNING **: 16:58:08.596: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::drawable of type GimpDrawable
gimp_plug_in_destroy_proxies: ERROR: GimpImage proxy with ID 1 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpLayer proxy with ID 2 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpGradient proxy with ID 2055 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpFont proxy with ID 2405 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpGradient proxy with ID 2089 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpPalette proxy with ID 2014 was refed by plug-in, it MUST NOT do that!
同じく、Plug-ins に Sub-Dir を設け入れた場合。
コード自体は全く同じもの。
procedure_commands_get_display_args: plug-in procedures expecting a single drawable are deprecated!
(script-fu-interpreter:11824): LibGimpConfig-WARNING **: 17:16:33.255: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::otherImage of type GimpImage
(script-fu-interpreter:11824): LibGimpConfig-WARNING **: 17:16:33.268: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::drawable of type GimpDrawable
(script-fu-interpreter:11824): LibGimpConfig-WARNING **: 17:16:33.283: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::otherImage of type GimpImage
(script-fu-interpreter:11824): LibGimpConfig-WARNING **: 17:16:33.292: couldn't serialize property GimpProcedureConfigRun-script-fu-shiro-layer-shift::drawable of type GimpDrawable
gimp_plug_in_destroy_proxies: ERROR: GimpImage proxy with ID 1 was refed by plug-in, it MUST NOT do that!
gimp_plug_in_destroy_proxies: ERROR: GimpLayer proxy with ID 2 was refed by plug-in, it MUST NOT do that!
はい。 それをしてはいけません! の警告 なのですね。
なので、良い機会ですから、
動くものも、警告が出無い様に、
書き換えて置いた方が良いと思っています。
言い換えれば、
Script-Fu v2 から v3 へ 移行!。
詰まる処、
み~んな 書き直し! が 必要!。 とほほ。
0 件のコメント:
コメントを投稿