どうやら、GIMP 3.0 で、Script-Fu 絡みの仕様に変更が入る模様です。
ですから、来るべき日に備えて、スクリプトを直す必要に迫られました。
皆さんも、お手持ちのスクリプトを確認して見ませんか?。
実は、GNOME の GIMP バグレポートを眺めていて、今回の件に気付きました。
別に、普通に起動していてエラーが起こっているいる訳ではありません。
寧ろ、エラーの起きている方との相違を見付ける為に行った行為が、これに結び付いたのです。
それは --verbose オプション付きでの GIMP の起動です。
冗長 を表すこのオプションは、GIMP 起動時の詳細を把握出来ます。
問題があれば、メッセージが表示されるのですね。
冗長の言葉通り、長い長~い、アウトプットが出ます。
参考用に、C: ドライブにインストールされた GIMP での verbose 付き起動のバッチを、
文末に載せて置きます。
元々、問題解消の為では無いので、その内容を細かく見る事は無く過ごしていたのですが、
ある時、変なメッセージがある事に眼が行きました。
こんな表示です。
(C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\script-fu\script-fu.exe) is installing procedure "script-fu-shiro-high-pass" with a full menu path "/Filters/Enhance/-Sharpen-Soften by High Pass (-Fu)" as menu label, this deprecated and will be an error in GIMP 3.0
Plug-in "script-fu.exe"
and will be an error in GIMP 3.0 とあります。
謂わば、警告! ですね。
何が変わるんだろう?。
そこで、早速、質問を挙げたのです。
https://gitlab.gnome.org/GNOME/gimp/issues/3604
GIMP Maintainer の Michael Natterer さま から ご回答 戴きました。
Dear Michael Natterer, Thanks a lot !
対処方法は、薄々、気付いてはいました。
と言うのは、 Python で書いたものには、このメッセージは出ないからです。
Python でも、メニュー記述に2通りの書き方があったのを思い出していたからです。
私が Script-Fu を書き出した頃に、お手本としたものは、
皆、メニュー登録をひとつの定義文で書いたものでした。
でも、実際には、2通りの書き方があるのです。
その一方が、次期 GIMP 3.0 で通用しなくなる と言うのが、
このメッセージの趣旨なのでしょうね。
正確には、既に、廃止予定のものを、ずっと、サポートし続けて来たが、
GIMP 3.0 移行を機に、旧式の記述は 破棄する と言う事の様です 。
該当するスクリプトに対する 訂正箇所 を纏めます。
従前( GIMP 2.x では許容 GIMP 3.0 廃止予定 ) ひとつで定義
(script-fu-register
"script-fu-test-script-format" ;func name
"<Image>/Script-Fu/Test/Script-Format" ;menu label
"Script-Fu 雛形" ;description
"ShiroYuki_Mot" ;author
"(c) 2015- ShiroYuki_Mot" ;copyright notice
"2015/01/01" ;date created
"" ;image type on the script
;パラメータ
)
将来( GIMP 2.x では許容 GIMP 3.0 でも許容 ) ふたつで定義
(script-fu-register
"script-fu-test-script-format" ;func name
"Script-Format" ;menu label
"Script-Fu 雛形" ;description
"ShiroYuki_Mot" ;author
"(c) 2019- ShiroYuki_Mot" ;copyright notice
"2019/07/10" ;date created
"" ;image type on the script
;パラメータ
)
(script-fu-menu-register "script-fu-test-script-format" "<Image>/Script-Fu/Test")
詰まる所、
(script-fu-register ~ と、(script-fu-menu-register ~ と、ふたつの定義が無い場合、
GIM 3.0 では、エラーになるので、
(script-fu-register ~ では メニュー表示名 のみを、
(script-fu-menu-register ~ では メニューでの場所(階層 or パス)を、
と定義を2分割します。
(script-fu-menu-register ~ の部分は以下の通りです。 *1.
(script-fu-menu-register "<function name>" "<menu path>")
きっと、今回の件に気付かずに、GIMP 3.0 を迎えていたら、
パニックになっていた事でしょう!。 将来の話ですが。 (鬼が笑うか?)
verbose オプションのお陰で、事前に、対処が可能になった訳です。
ありがたい事です。 感謝!。
幸い、時間は、まだ、有りそうですので、
ゆっくり、確実に、自分のスクリプトを直して行く心算です。
以下、参考欄。
verbose バッチ 注:日本語環境下で日本語は文字化けします。 目下、対処法は無し です。.
メモ帳 notepad.exe 等に以下の3行をコピーし、適当な名前に 拡張子 .bat を付けて下さい。
実行後、出力を メモ帳 notepad.exe 等に 文字列コピーし、
文字列検索で an error in GIMP 3.0 を探せば、登録スクリプト名を絞れます。
C:
cd "C:\Program Files\GIMP 2\bin"
gimp-2.10.exe --verbose --console-messages
gimp-2.10.exe --verbose --console-messages > C:\Users\UserA\...\GIMP_Verbose.txt
として、ファイルに落として作業するのも手です。 ファイルパスは直して下さいね。.
でも、 個人用の script folder を開いて、全てチェック(修正)した方が楽かも。
最後に、この verbose 表示で訂正漏れが無いか調べるのがお勧めかも知れません。
[2019/07/05] 構文追記 *1.
0 件のコメント:
コメントを投稿