2024年8月20日火曜日

GIMP Foggify.py の変化 2024/08 現在

同じ GIMP 2.99.19 でも、
GIMP 3.0.0 RC1 を控えて、
同じ番号で、続々と手が入った為、全くの 別物 に育っています。
では、Python Script を見て見ましょうね。


既に、RC1 への 準備も着々と進み、
開発版 の Nightly では、
Installer が展開する Sub Directory (Folder) 名 に、
3.0 が見え隠れしていますね。
未だ、2.99 ですから、TOP は 其れを呼称していますが、
来る日には 3.0 または 3 を名乗る 新しい入れ物 が用意される筈です。
そう、 新しい場所 が割り当てられるでしょう。

さて、今回は、
以前 書いた様に、
Python Script の変化を追って見ます。

  尚、
  前回
  Factory Defaults は Code 内に記述された初期値。
    でも、色は変更されていません、現在は。
    別途、問い合わせ中です。
  と書いた部分は 反映 される様に GIMP 本体が訂正されています。

本来は RC1 が出てからが、
正確なのでしょうが、
暫く Script に動きは無いので、
暫定的ですが、現状での 動き を追います。

C:¥Program Files¥GIMP 2.99¥lib¥gimp¥3.0¥plug-ins¥foggify

2024-08-16
GIMP_dist-installer-weekly-master-31df873d_Pipe718596-Job4181494.zip
(dist-installer-weekly-master-31df873d.zip)


--- F:¥GIMP¥GIMP3_Scripting¥foggify_GIMP29919_20240318.py 2024-03-18 09:33:50.000000000 +0900
+++ F:¥GIMP¥GIMP3_Scripting¥foggify_GIMP29919_20240816.py 2024-08-16 14:41:52.000000000 +0900
@@ -33,15 +33,2 @@ def _(message): return GLib.dgettext(Non
 def foggify(procedure, run_mode, image, n_drawables, drawables, config, data):
-    Gegl.init(None)
-
-    _color = Gegl.Color.new("black")
-    _color.set_rgba(0.94, 0, 0, 1.0)
-
-    # Work around not being able to set default color by only setting it
-    # when color in our config is None. This won't help when resetting to
-    # factory default. This also fixes a critical when running without
-    # changing the color away from None.
-    color = config.get_property('color')
-    if color is None:
-        config.set_property('color', _color)
-
     if run_mode == Gimp.RunMode.INTERACTIVE:
@@ -107,28 +94,2 @@ def foggify(procedure, run_mode, image,
 class Foggify (Gimp.PlugIn):
-    ## Parameters ##
-    __gproperties__ = {
-        "name": (str,
-                 _("Layer _name"),
-                 _("Layer name"),
-                 _("Clouds"),
-                 GObject.ParamFlags.READWRITE),
-        "turbulence": (float,
-                       _("_Turbulence"),
-                       _("Turbulence"),
-                       0.0, 7.0, 1.0,
-                       GObject.ParamFlags.READWRITE),
-        "opacity": (float,
-                    _("O_pacity"),
-                    _("Opacity"),
-                    0.0, 100.0, 100.0,
-                    GObject.ParamFlags.READWRITE),
-    }
-    # I use a different syntax for this property because I think it is
-    # supposed to allow setting a default, except it doesn't seem to
-    # work. I still leave it this way for now until we figure this out
-    # as it should be the better syntax.
-    color = GObject.Property(type =Gegl.Color, default=None,
-                             nick =_("_Fog color"),
-                             blurb=_("Fog color"))
-
     ## GimpPlugIn virtual methods ##
@@ -141,2 +102,7 @@ class Foggify (Gimp.PlugIn):
     def do_create_procedure(self, name):
+        Gegl.init(None)
+
+        _color = Gegl.Color.new("black")
+        _color.set_rgba(0.94, 0.71, 0.27, 1.0)
+
         procedure = Gimp.ImageProcedure.new(self, name,
@@ -156,6 +122,11 @@ class Foggify (Gimp.PlugIn):
 
-        procedure.add_argument_from_property(self, "name")
-        procedure.add_argument_from_property(self, "color")
-        procedure.add_argument_from_property(self, "turbulence")
-        procedure.add_argument_from_property(self, "opacity")
+        procedure.add_string_argument ("name", _("Layer _name"), _("Layer name"),
+                                       _("Clouds"), GObject.ParamFlags.READWRITE)
+        procedure.add_color_argument ("color", _("_Fog color"), _("Fog color"),
+                                      True, _color, GObject.ParamFlags.READWRITE)
+        procedure.add_double_argument ("turbulence", _("_Turbulence"), _("Turbulence"),
+                                       0.0, 7.0, 1.0, GObject.ParamFlags.READWRITE)
+        procedure.add_double_argument ("opacity", _("O_pacity"), _("Opacity"),
+                                       0.0, 100.0, 100.0, GObject.ParamFlags.READWRITE)
+
         return procedure



何かの参考になれば ... 。



0 件のコメント:

コメントを投稿