[gimp] libgimp, plug-ins: use the new macros everwhere



commit 9cabc8c8d0a079aa2cbf20541024f235d2a7cedf
Author: Michael Natterer <mitch gimp org>
Date:   Mon Aug 19 10:02:07 2019 +0200

    libgimp, plug-ins: use the new macros everwhere
    
    Except for gimp_param_spec_string() which is on its way back to the
    core.

 libgimp/gimpbrushselect.c                    | 110 ++++++-----
 libgimp/gimpfileprocedure.c                  |  13 +-
 libgimp/gimpfontselect.c                     |  24 ++-
 libgimp/gimpgradientselect.c                 |  47 +++--
 libgimp/gimpimageprocedure.c                 |  37 ++--
 libgimp/gimploadprocedure.c                  |  11 +-
 libgimp/gimppaletteselect.c                  |  36 ++--
 libgimp/gimppatternselect.c                  |  84 ++++-----
 libgimp/gimpprogress.c                       |  50 +++--
 libgimp/gimpsaveprocedure.c                  |  26 +--
 plug-ins/common/colormap-remap.c             |  48 +++--
 plug-ins/common/file-gbr.c                   |  12 +-
 plug-ins/common/file-gif-load.c              |  50 +++--
 plug-ins/common/file-gih.c                   | 106 +++++------
 plug-ins/common/file-png.c                   | 109 ++++++-----
 plug-ins/common/file-ps.c                    | 269 ++++++++++++---------------
 plug-ins/common/file-svg.c                   | 118 ++++++------
 plug-ins/common/film.c                       | 123 ++++++------
 plug-ins/common/mail.c                       |  62 +++---
 plug-ins/common/plugin-browser.c             |  13 +-
 plug-ins/common/procedure-browser.c          |  13 +-
 plug-ins/common/unit-editor.c                |  13 +-
 plug-ins/file-ico/ico.c                      |  50 +++--
 plug-ins/file-psd/psd.c                      |  50 +++--
 plug-ins/file-raw/file-darktable.c           |  51 +++--
 plug-ins/file-raw/file-rawtherapee.c         |  24 ++-
 plug-ins/file-sgi/sgi.c                      |  14 +-
 plug-ins/file-tiff/file-tiff.c               |  38 ++--
 plug-ins/fractal-explorer/fractal-explorer.c | 260 ++++++++++++--------------
 plug-ins/help-browser/help-browser.c         |  92 +++++----
 plug-ins/help/help.c                         |  93 +++++----
 plug-ins/pagecurl/pagecurl.c                 |  70 ++++---
 plug-ins/print/print.c                       |  11 +-
 plug-ins/screenshot/screenshot.c             |  94 +++++-----
 plug-ins/script-fu/script-fu.c               | 116 ++++++------
 35 files changed, 1082 insertions(+), 1255 deletions(-)
---
diff --git a/libgimp/gimpbrushselect.c b/libgimp/gimpbrushselect.c
index 7132a976e3..be8f490ace 100644
--- a/libgimp/gimpbrushselect.c
+++ b/libgimp/gimpbrushselect.c
@@ -85,63 +85,59 @@ gimp_brush_select_new (const gchar          *title,
                                   (GDestroyNotify)
                                   gimp_brush_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("brush-name",
-                                                    "Brush name",
-                                                    "The brush name",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_double ("opacity",
-                                                    "Opacity",
-                                                    NULL,
-                                                    0.0, 1.0, 1.0,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("spacing",
-                                                 "Spacing",
-                                                 NULL,
-                                                 -1, 1000, 20,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_enum ("paint-mode",
-                                                  "Paint mode",
-                                                  NULL,
-                                                  GIMP_TYPE_LAYER_MODE,
-                                                  GIMP_LAYER_MODE_NORMAL,
-                                                  G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-width",
-                                                 "Brush width",
-                                                 NULL,
-                                                 0, 10000, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-height",
-                                                 "Brush height",
-                                                 NULL,
-                                                 0, 10000, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-len",
-                                                 "Mask length",
-                                                 "Length of brush "
-                                                 "mask data",
-                                                 0, G_MAXINT, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_uint8_array ("mask-data",
-                                                            "Mask data",
-                                                            "The brush mask "
-                                                            "data",
-                                                            G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_boolean ("closing",
-                                                     "Closing",
-                                                     "If the dialog was "
-                                                     "cloaing",
-                                                     FALSE,
-                                                     G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "brush-name",
+                        "Brush name",
+                        "The brush name",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_DOUBLE (procedure, "opacity",
+                        "Opacity",
+                        NULL,
+                        0.0, 1.0, 1.0,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "spacing",
+                     "Spacing",
+                     NULL,
+                     -1, 1000, 20,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_ENUM (procedure, "paint-mode",
+                      "Paint mode",
+                      NULL,
+                      GIMP_TYPE_LAYER_MODE,
+                      GIMP_LAYER_MODE_NORMAL,
+                      G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-width",
+                     "Brush width",
+                     NULL,
+                     0, 10000, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-height",
+                     "Brush height",
+                     NULL,
+                     0, 10000, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-len",
+                     "Mask length",
+                     "Length of brush mask data",
+                     0, G_MAXINT, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_UINT8_ARRAY (procedure, "mask-data",
+                             "Mask data",
+                             "The brush mask data",
+                             G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_BOOLEAN (procedure, "closing",
+                         "Closing",
+                         "If the dialog was closing",
+                         FALSE,
+                         G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimpfileprocedure.c b/libgimp/gimpfileprocedure.c
index ac011e4871..729452bcbf 100644
--- a/libgimp/gimpfileprocedure.c
+++ b/libgimp/gimpfileprocedure.c
@@ -69,13 +69,12 @@ gimp_file_procedure_constructed (GObject *object)
 
   G_OBJECT_CLASS (parent_class)->constructed (object);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_enum ("run-mode",
-                                                  "Run mode",
-                                                  "The run mode",
-                                                  GIMP_TYPE_RUN_MODE,
-                                                  GIMP_RUN_NONINTERACTIVE,
-                                                  G_PARAM_READWRITE));
+  GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                      "Run mode",
+                      "The run mode",
+                      GIMP_TYPE_RUN_MODE,
+                      GIMP_RUN_NONINTERACTIVE,
+                      G_PARAM_READWRITE);
 }
 
 static void
diff --git a/libgimp/gimpfontselect.c b/libgimp/gimpfontselect.c
index f81b2b5a01..325b25a409 100644
--- a/libgimp/gimpfontselect.c
+++ b/libgimp/gimpfontselect.c
@@ -76,19 +76,17 @@ gimp_font_select_new (const gchar         *title,
                                   (GDestroyNotify)
                                   gimp_font_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("font-name",
-                                                    "Font name",
-                                                    "The font name",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_boolean ("closing",
-                                                     "Closing",
-                                                     "If the dialog was "
-                                                     "closing",
-                                                     FALSE,
-                                                     G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "font-name",
+                        "Font name",
+                        "The font name",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_BOOLEAN (procedure, "closing",
+                         "Closing",
+                         "If the dialog was closing",
+                         FALSE,
+                         G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimpgradientselect.c b/libgimp/gimpgradientselect.c
index 2b8c5e0111..f043a9b75a 100644
--- a/libgimp/gimpgradientselect.c
+++ b/libgimp/gimpgradientselect.c
@@ -79,31 +79,28 @@ gimp_gradient_select_new (const gchar             *title,
                                   (GDestroyNotify)
                                   gimp_gradient_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("gradient-name",
-                                                    "Gradient name",
-                                                    "The gradient name",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("gradient-width",
-                                                 "Gradient width",
-                                                 "The gradient width",
-                                                 0, G_MAXINT, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_float_array ("gradient-data",
-                                                            "Gradient data",
-                                                            "The gradient "
-                                                            "data",
-                                                            G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_boolean ("closing",
-                                                     "Closing",
-                                                     "If the dialog was "
-                                                     "closing",
-                                                     FALSE,
-                                                     G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "gradient-name",
+                        "Gradient name",
+                        "The gradient name",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "gradient-width",
+                     "Gradient width",
+                     "The gradient width",
+                     0, G_MAXINT, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_FLOAT_ARRAY (procedure, "gradient-data",
+                             "Gradient data",
+                             "The gradient data",
+                             G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_BOOLEAN (procedure, "closing",
+                         "Closing",
+                         "If the dialog was closing",
+                         FALSE,
+                         G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimpimageprocedure.c b/libgimp/gimpimageprocedure.c
index c300bf1e07..382dbc6300 100644
--- a/libgimp/gimpimageprocedure.c
+++ b/libgimp/gimpimageprocedure.c
@@ -74,25 +74,24 @@ gimp_image_procedure_constructed (GObject *object)
 
   G_OBJECT_CLASS (parent_class)->constructed (object);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_enum ("run-mode",
-                                                  "Run mode",
-                                                  "The run mode",
-                                                  GIMP_TYPE_RUN_MODE,
-                                                  GIMP_RUN_NONINTERACTIVE,
-                                                  G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "Image",
-                                                         "The input image",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_drawable_id ("drawable",
-                                                            "Drawable",
-                                                            "The input drawable",
-                                                            FALSE,
-                                                            G_PARAM_READWRITE));
+  GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                      "Run mode",
+                      "The run mode",
+                      GIMP_TYPE_RUN_MODE,
+                      GIMP_RUN_NONINTERACTIVE,
+                      G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_IMAGE (procedure, "image",
+                       "Image",
+                       "The input image",
+                       FALSE,
+                       G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_DRAWABLE (procedure, "drawable",
+                          "Drawable",
+                          "The input drawable",
+                          FALSE,
+                          G_PARAM_READWRITE);
 }
 
 static void
diff --git a/libgimp/gimploadprocedure.c b/libgimp/gimploadprocedure.c
index 0b1259d387..d21908e48b 100644
--- a/libgimp/gimploadprocedure.c
+++ b/libgimp/gimploadprocedure.c
@@ -96,12 +96,11 @@ gimp_load_procedure_constructed (GObject *object)
                                                        NULL,
                                                        GIMP_PARAM_READWRITE));
 
-  gimp_procedure_add_return_value (procedure,
-                                   gimp_param_spec_image_id ("image",
-                                                             "Image",
-                                                             "Output image",
-                                                             FALSE,
-                                                             GIMP_PARAM_READWRITE));
+  GIMP_PROC_VAL_IMAGE (procedure, "image",
+                       "Image",
+                       "Output image",
+                       FALSE,
+                       GIMP_PARAM_READWRITE);
 }
 
 static void
diff --git a/libgimp/gimppaletteselect.c b/libgimp/gimppaletteselect.c
index 2ffe8a42b8..4153f8d0bd 100644
--- a/libgimp/gimppaletteselect.c
+++ b/libgimp/gimppaletteselect.c
@@ -77,25 +77,23 @@ gimp_palette_select_new (const gchar            *title,
                                   (GDestroyNotify)
                                   gimp_palette_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("palette-name",
-                                                    "Palette name",
-                                                    "The palette name",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("num-colors",
-                                                 "Num colors",
-                                                 "Number of colors",
-                                                 0, G_MAXINT, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_boolean ("closing",
-                                                     "Closing",
-                                                     "If the dialog was "
-                                                     "closing",
-                                                     FALSE,
-                                                     G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "palette-name",
+                        "Palette name",
+                        "The palette name",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "num-colors",
+                     "Num colors",
+                     "Number of colors",
+                     0, G_MAXINT, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_BOOLEAN (procedure, "closing",
+                         "Closing",
+                         "If the dialog was closing",
+                         FALSE,
+                         G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimppatternselect.c b/libgimp/gimppatternselect.c
index 8b5437248e..5b30b38bd2 100644
--- a/libgimp/gimppatternselect.c
+++ b/libgimp/gimppatternselect.c
@@ -80,50 +80,46 @@ gimp_pattern_select_new (const gchar            *title,
                                   (GDestroyNotify)
                                   gimp_pattern_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("pattern-name",
-                                                    "Pattern name",
-                                                    "The pattern name",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-width",
-                                                 "Mask width",
-                                                 "Pattern width",
-                                                 0, 10000, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-height",
-                                                 "Mask height",
-                                                 "Pattern height",
-                                                 0, 10000, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-bpp",
-                                                 "Mask bpp",
-                                                 "Pattern bytes per pixel",
-                                                 0, 10000, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_int ("mask-len",
-                                                 "Mask length",
-                                                 "Length of pattern "
-                                                 "mask data",
-                                                 0, G_MAXINT, 0,
-                                                 G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_uint8_array ("mask-data",
-                                                            "Mask data",
-                                                            "The pattern mask "
-                                                            "data",
-                                                            G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_boolean ("closing",
-                                                     "Closing",
-                                                     "If the dialog was "
-                                                     "cloaing",
-                                                     FALSE,
-                                                     G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "pattern-name",
+                        "Pattern name",
+                        "The pattern name",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-width",
+                     "Mask width",
+                     "Pattern width",
+                     0, 10000, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-height",
+                     "Mask height",
+                     "Pattern height",
+                     0, 10000, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-bpp",
+                     "Mask bpp",
+                     "Pattern bytes per pixel",
+                     0, 10000, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_INT (procedure, "mask-len",
+                     "Mask length",
+                     "Length of pattern mask data",
+                     0, G_MAXINT, 0,
+                     G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_UINT8_ARRAY (procedure, "mask-data",
+                             "Mask data",
+                             "The pattern mask data",
+                             G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_BOOLEAN (procedure, "closing",
+                         "Closing",
+                         "If the dialog was cloaing",
+                         FALSE,
+                         G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimpprogress.c b/libgimp/gimpprogress.c
index f168f07cf8..cfa7a119ce 100644
--- a/libgimp/gimpprogress.c
+++ b/libgimp/gimpprogress.c
@@ -106,32 +106,30 @@ gimp_progress_install_vtable (const GimpProgressVtable *vtable,
                                   (GDestroyNotify)
                                   gimp_progress_data_free);
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_enum ("command",
-                                                  "Command",
-                                                  "The progress command",
-                                                  GIMP_TYPE_PROGRESS_COMMAND,
-                                                  GIMP_PROGRESS_COMMAND_START,
-                                                  G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("text",
-                                                    "Text",
-                                                    "The progress text",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_double ("value",
-                                                    "Vakue",
-                                                    "The progress value",
-                                                    0.0, 1.0, 0.0,
-                                                    G_PARAM_READWRITE));
-
-  gimp_procedure_add_return_value (procedure,
-                                   g_param_spec_double ("value",
-                                                        "Vakue",
-                                                        "The progress value",
-                                                        0.0, 1.0, 0.0,
-                                                        G_PARAM_READWRITE));
+  GIMP_PROC_ARG_ENUM (procedure, "command",
+                      "Command",
+                      "The progress command",
+                      GIMP_TYPE_PROGRESS_COMMAND,
+                      GIMP_PROGRESS_COMMAND_START,
+                      G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "text",
+                        "Text",
+                        "The progress text",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_DOUBLE (procedure, "value",
+                        "Vakue",
+                        "The progress value",
+                        0.0, 1.0, 0.0,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_VAL_DOUBLE (procedure, "value",
+                        "Vakue",
+                        "The progress value",
+                        0.0, 1.0, 0.0,
+                        G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/libgimp/gimpsaveprocedure.c b/libgimp/gimpsaveprocedure.c
index 964860f4e2..b31665f105 100644
--- a/libgimp/gimpsaveprocedure.c
+++ b/libgimp/gimpsaveprocedure.c
@@ -76,19 +76,19 @@ gimp_save_procedure_constructed (GObject *object)
 
   G_OBJECT_CLASS (parent_class)->constructed (object);
 
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "Image",
-                                                         "The image to save",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_drawable_id ("drawable",
-                                                            "Drawable",
-                                                            "The drawable "
-                                                            "to save",
-                                                            FALSE,
-                                                            G_PARAM_READWRITE));
+  GIMP_PROC_ARG_IMAGE (procedure, "image",
+                       "Image",
+                       "The image to save",
+                       FALSE,
+                       G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_DRAWABLE (procedure, "drawable",
+                          "Drawable",
+                          "The drawable "
+                          "to save",
+                          FALSE,
+                          G_PARAM_READWRITE);
+
   gimp_procedure_add_argument (procedure,
                                gimp_param_spec_string ("uri",
                                                        "URI",
diff --git a/plug-ins/common/colormap-remap.c b/plug-ins/common/colormap-remap.c
index 99662955ff..f0336df9e8 100644
--- a/plug-ins/common/colormap-remap.c
+++ b/plug-ins/common/colormap-remap.c
@@ -141,19 +141,16 @@ remap_create_procedure (GimpPlugIn  *plug_in,
                                       "Mukund Sivaraman <muks mukund org>",
                                       "June 2006");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-colors",
-                                                     "Num colors",
-                                                     "Length of 'map' "
-                                                     "argument",
-                                                     1, 256, 1,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_uint8_array ("map",
-                                                                "Map",
-                                                                "Remap array "
-                                                                "for the colormap",
-                                                                G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "num-colors",
+                         "Num colors",
+                         "Length of 'map' argument",
+                         1, 256, 1,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_UINT8_ARRAY (procedure, "map",
+                                 "Map",
+                                 "Remap array for the colormap",
+                                 G_PARAM_READWRITE);
     }
   else if (! strcmp (name, PLUG_IN_PROC_SWAP))
     {
@@ -178,20 +175,17 @@ remap_create_procedure (GimpPlugIn  *plug_in,
                                       "Mukund Sivaraman <muks mukund org>",
                                       "June 2006");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_uchar ("index1",
-                                                       "Index 1",
-                                                       "First index in the "
-                                                       "colormap",
-                                                       0, 255, 0,
-                                                       G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_uchar ("index2",
-                                                       "Index 2",
-                                                       "First (other) index "
-                                                       "in the colormap",
-                                                       0, 255, 0,
-                                                       G_PARAM_READWRITE));
+      GIMP_PROC_ARG_UCHAR (procedure, "index1",
+                           "Index 1",
+                           "First index in the colormap",
+                           0, 255, 0,
+                           G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_UCHAR (procedure, "index2",
+                           "Index 2",
+                           "Second (other) index in the colormap",
+                           0, 255, 0,
+                           G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/file-gbr.c b/plug-ins/common/file-gbr.c
index ed2eaca7b0..664dc41d4f 100644
--- a/plug-ins/common/file-gbr.c
+++ b/plug-ins/common/file-gbr.c
@@ -155,12 +155,12 @@ gbr_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_handles_uri (GIMP_FILE_PROCEDURE (procedure),
                                            TRUE);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("spacing",
-                                                     "Spacing",
-                                                     "Spacing of the brush",
-                                                     1, 1000, 10,
-                                                     GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "spacing",
+                         "Spacing",
+                         "Spacing of the brush",
+                         1, 1000, 10,
+                         GIMP_PARAM_READWRITE);
+
       gimp_procedure_add_argument (procedure,
                                    gimp_param_spec_string ("description",
                                                            "Description",
diff --git a/plug-ins/common/file-gif-load.c b/plug-ins/common/file-gif-load.c
index 6779eaa498..dad1594023 100644
--- a/plug-ins/common/file-gif-load.c
+++ b/plug-ins/common/file-gif-load.c
@@ -216,33 +216,29 @@ gif_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-width",
-                                                         "Image width",
-                                                         "Width of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-height",
-                                                         "Image height",
-                                                         "Height of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-width",
+                         "Image width",
+                         "Width of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-height",
+                         "Image height",
+                         "Height of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/file-gih.c b/plug-ins/common/file-gih.c
index 8bc6750044..c0c3cb97ef 100644
--- a/plug-ins/common/file-gih.c
+++ b/plug-ins/common/file-gih.c
@@ -198,12 +198,12 @@ gih_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_handles_uri (GIMP_FILE_PROCEDURE (procedure),
                                            TRUE);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("spacing",
-                                                     "Spacing",
-                                                     "Spacing of the brush",
-                                                     1, 1000, 10,
-                                                     GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "spacing",
+                         "Spacing",
+                         "Spacing of the brush",
+                         1, 1000, 10,
+                         GIMP_PARAM_READWRITE);
+
       gimp_procedure_add_argument (procedure,
                                    gimp_param_spec_string ("description",
                                                            "Description",
@@ -212,55 +212,51 @@ gih_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            "GIMP Gihtern",
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("cell-width",
-                                                     "Cell width",
-                                                     "Width of the brush cells",
-                                                     1, 1000, 10,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("cell-height",
-                                                     "Cell height",
-                                                     "Height of the brush cells",
-                                                     1, 1000, 10,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("display-cols",
-                                                     "Display columns",
-                                                     "Display column number",
-                                                     1, 1000, 1,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("display-rows",
-                                                     "Display rows",
-                                                     "Display row number",
-                                                     1, 1000, 1,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("dimension",
-                                                     "Dimension",
-                                                     "Dimension of the "
-                                                     "brush pipe",
-                                                     1, 4, 1,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_uint8_array ("rank",
-                                                                "Rank",
-                                                                "Ranks of the "
-                                                                "dimensions",
-                                                                GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("dimension",
-                                                     "Dimension",
-                                                     "Dimension of the "
-                                                     "brush pipe",
-                                                     1, 4, 1,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_string_array ("sel",
-                                                                 "Sel",
-                                                                 "Selection modes",
-                                                                 GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "cell-width",
+                         "Cell width",
+                         "Width of the brush cells",
+                         1, 1000, 10,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "cell-height",
+                         "Cell height",
+                         "Height of the brush cells",
+                         1, 1000, 10,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "display-cols",
+                         "Display columns",
+                         "Display column number",
+                         1, 1000, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "display-rows",
+                         "Display rows",
+                         "Display row number",
+                         1, 1000, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "dimension",
+                         "Dimension",
+                         "Dimension of the brush pipe",
+                         1, 4, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_UINT8_ARRAY (procedure, "rank",
+                                 "Rank",
+                                 "Ranks of the dimensions",
+                                 GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "dimension",
+                         "Dimension",
+                         "Dimension of the brush pipe",
+                         1, 4, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING_ARRAY (procedure, "sel",
+                                  "Sel",
+                                  "Selection modes",
+                                  GIMP_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/file-png.c b/plug-ins/common/file-png.c
index dd1b9371fa..71877d9b91 100644
--- a/plug-ins/common/file-png.c
+++ b/plug-ins/common/file-png.c
@@ -326,62 +326,59 @@ png_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_extensions (GIMP_FILE_PROCEDURE (procedure),
                                           "png");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("interlace",
-                                                         "Interlace",
-                                                         "Use Adam7 interlacing?",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("compression",
-                                                     "Compression",
-                                                     "Deflate Compression "
-                                                     "factor (0..9)",
-                                                     0, 9, 9,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("bkgd",
-                                                         "bKGD",
-                                                         "Write bKGD chunk?",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("gama",
-                                                         "gAMA",
-                                                         "Write gAMA chunk?",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("offs",
-                                                         "oFFs",
-                                                         "Write oFFs chunk?",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("phys",
-                                                         "pHYs",
-                                                         "Write pHYs chunk?",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("time",
-                                                         "tIME",
-                                                         "Write tIME chunk?",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("comment",
-                                                         "Comment",
-                                                         "Write comment?",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("save-trans",
-                                                         "Save trans",
-                                                         "Preserve color of "
-                                                         "transparent pixels?",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
+      GIMP_PROC_ARG_BOOLEAN (procedure, "interlace",
+                             "Interlace",
+                             "Use Adam7 interlacing?",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "compression",
+                         "Compression",
+                         "Deflate Compression factor (0..9)",
+                         0, 9, 9,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "bkgd",
+                             "bKGD",
+                             "Write bKGD chunk?",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "gama",
+                             "gAMA",
+                             "Write gAMA chunk?",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "offs",
+                             "oFFs",
+                             "Write oFFs chunk?",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "phys",
+                             "pHYs",
+                             "Write pHYs chunk?",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "time",
+                             "tIME",
+                             "Write tIME chunk?",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "comment",
+                             "Comment",
+                             "Write comment?",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "save-trans",
+                             "Save trans",
+                             "Preserve color of transparent pixels?",
+                             TRUE,
+                             G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/file-ps.c b/plug-ins/common/file-ps.c
index 36b02ced33..5fdcfdcd5e 100644
--- a/plug-ins/common/file-ps.c
+++ b/plug-ins/common/file-ps.c
@@ -410,64 +410,53 @@ ps_create_procedure (GimpPlugIn  *plug_in,
       gimp_load_procedure_set_thumbnail_loader (GIMP_LOAD_PROCEDURE (procedure),
                                                 LOAD_PS_THUMB_PROC);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("resolution",
-                                                     "Resolution",
-                                                     "Resolution to interpret "
-                                                     "image (dpi)",
-                                                     MIN_RESOLUTION,
-                                                     MAX_RESOLUTION,
-                                                     100,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("width",
-                                                     "Width",
-                                                     "Desired width",
-                                                     1, GIMP_MAX_IMAGE_SIZE,
-                                                     826,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("height",
-                                                     "Height",
-                                                     "Desired height",
-                                                     1, GIMP_MAX_IMAGE_SIZE,
-                                                     1170,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("check-bbox",
-                                                         "Check bbox",
-                                                         "FALSE: Use width/height, "
-                                                         "TRUE: Use BoundingBox",
-                                                         TRUE,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("pages",
-                                                        "Pages",
-                                                        "Pages to load "
-                                                        "(e.g.: 1,3,5-7)",
-                                                        "1",
-                                                        GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("coloring",
-                                                     "Coloring",
-                                                     "4: b/w, "
-                                                     "5: grey, "
-                                                     "6: color image, "
-                                                     "7: automatic",
-                                                     4, 7, 6,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("text-alpha-bits",
-                                                     "Text alpha bits",
-                                                     "1, 2 or 4",
-                                                     1, 4, 1,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("graphoc-alpha-bits",
-                                                     "Graphic alpha bits",
-                                                     "1, 2 or 4",
-                                                     1, 4, 1,
-                                                     GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "resolution",
+                         "Resolution",
+                         "Resolution to interpret image (dpi)",
+                         MIN_RESOLUTION, MAX_RESOLUTION, 100,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "width",
+                         "Width",
+                         "Desired width",
+                         1, GIMP_MAX_IMAGE_SIZE, 826,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "height",
+                         "Height",
+                         "Desired height",
+                         1, GIMP_MAX_IMAGE_SIZE, 1170,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "check-bbox",
+                             "Check bbox",
+                             "FALSE: Use width/height, TRUE: Use BoundingBox",
+                             TRUE,
+                             GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "pages",
+                            "Pages",
+                            "Pages to load (e.g.: 1,3,5-7)",
+                            "1",
+                            GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "coloring",
+                         "Coloring",
+                         "4: b/w, 5: grey, 6: color image, 7: automatic",
+                         4, 7, 6,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "text-alpha-bits",
+                         "Text alpha bits",
+                         "1, 2 or 4",
+                         1, 4, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "graphoc-alpha-bits",
+                         "Graphic alpha bits",
+                         "1, 2 or 4",
+                         1, 4, 1,
+                         GIMP_PARAM_READWRITE);
     }
   else if (! strcmp (name, LOAD_PS_THUMB_PROC))
     {
@@ -492,19 +481,17 @@ ps_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
     }
   else if (! strcmp (name, SAVE_PS_PROC) ||
            ! strcmp (name, SAVE_EPS_PROC))
@@ -557,84 +544,68 @@ ps_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_handles_uri (GIMP_FILE_PROCEDURE (procedure),
                                            TRUE);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("width",
-                                                        "Width",
-                                                        "Width of the image in "
-                                                        "PostScript file "
-                                                        "(0: use input image "
-                                                        "size)",
-                                                        0, GIMP_MAX_IMAGE_SIZE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("height",
-                                                        "Height",
-                                                        "Height of the image in "
-                                                        "PostScript file "
-                                                        "(0: use input image "
-                                                        "size)",
-                                                        0, GIMP_MAX_IMAGE_SIZE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("x-offset",
-                                                        "X offset",
-                                                        "X-offset to image "
-                                                        "from lower left corner",
-                                                        -GIMP_MAX_IMAGE_SIZE,
-                                                        GIMP_MAX_IMAGE_SIZE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("y-offset",
-                                                        "Y offset",
-                                                        "Y-offset to image "
-                                                        "from lower left corner",
-                                                        -GIMP_MAX_IMAGE_SIZE,
-                                                        GIMP_MAX_IMAGE_SIZE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("unit",
-                                                     "Unit",
-                                                     "Unit for "
-                                                     "width/height/offset. "
-                                                     "0: inches, "
-                                                     "1: millimeters",
-                                                     0, 1, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("keep-ratio",
-                                                         "Keep ratio",
-                                                         "FALSE: use width/height, "
-                                                         "TRUE: keep aspect ratio",
-                                                         TRUE,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("rotation",
-                                                     "Rotation",
-                                                     "0, 90, 180, 270",
-                                                     0, 270, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("eps-flag",
-                                                         "EPG flag",
-                                                         "FALSE: PostScript, "
-                                                         "TRUE: Encapsulated "
-                                                         "PostScript",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("preview",
-                                                     "Preview",
-                                                     "0: no preview, "
-                                                     ">0: max. size of preview",
-                                                     0, GIMP_MAX_IMAGE_SIZE, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("level",
-                                                     "Level",
-                                                     "1: PostScript Level 1, "
-                                                     "2: PostScript Level 2",
-                                                     1, 2, 2,
-                                                     G_PARAM_READWRITE));
+      GIMP_PROC_ARG_DOUBLE (procedure, "width",
+                            "Width",
+                            "Width of the image in PostScript file "
+                            "(0: use input image size)",
+                            0, GIMP_MAX_IMAGE_SIZE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "height",
+                            "Height",
+                            "Height of the image in PostScript file "
+                            "(0: use input image size)",
+                            0, GIMP_MAX_IMAGE_SIZE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "x-offset",
+                            "X offset",
+                            "X-offset to image from lower left corner",
+                            -GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "y-offset",
+                            "Y offset",
+                            "Y-offset to image from lower left corner",
+                            -GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "unit",
+                         "Unit",
+                         "Unit for width/height/offset. "
+                         "0: inches, 1: millimeters",
+                         0, 1, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "keep-ratio",
+                             "Keep ratio",
+                             "FALSE: use width/height, TRUE: keep aspect ratio",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "rotation",
+                         "Rotation",
+                         "0, 90, 180, 270",
+                         0, 270, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "eps-flag",
+                             "EPG flag",
+                             "FALSE: PostScript, TRUE: Encapsulated PostScript",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "preview",
+                         "Preview",
+                         "0: no preview, >0: max. size of preview",
+                         0, GIMP_MAX_IMAGE_SIZE, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "level",
+                         "Level",
+                         "1: PostScript Level 1, 2: PostScript Level 2",
+                         1, 2, 2,
+                         G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/file-svg.c b/plug-ins/common/file-svg.c
index fe4dac2355..2edf5cbb16 100644
--- a/plug-ins/common/file-svg.c
+++ b/plug-ins/common/file-svg.c
@@ -172,45 +172,34 @@ svg_create_procedure (GimpPlugIn  *plug_in,
       gimp_load_procedure_set_thumbnail_loader (GIMP_LOAD_PROCEDURE (procedure),
                                                 LOAD_THUMB_PROC);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("resolution",
-                                                        "Resolution",
-                                                        "Resolution to use for "
-                                                        "rendering the SVG",
-                                                        GIMP_MIN_RESOLUTION,
-                                                        GIMP_MAX_RESOLUTION,
-                                                        90,
-                                                        GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("width",
-                                                     "Width",
-                                                     "Width (in pixels) to load "
-                                                     "the SVG in. "
-                                                     "(0 for original width, "
-                                                     "a negative width to "
-                                                     "specify a maximum width)",
-                                                     -GIMP_MAX_IMAGE_SIZE,
-                                                     GIMP_MAX_IMAGE_SIZE, 0,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("height",
-                                                     "Height",
-                                                     "Height (in pixels) to load "
-                                                     "the SVG in. "
-                                                     "(0 for original heght, "
-                                                     "a negative width to "
-                                                     "specify a maximum height)",
-                                                     -GIMP_MAX_IMAGE_SIZE,
-                                                     GIMP_MAX_IMAGE_SIZE, 0,
-                                                     GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("paths",
-                                                     "Paths",
-                                                     "(0) don't import paths, "
-                                                     "(1) paths individually, "
-                                                     "(2) paths merged",
-                                                     0, 2, 0,
-                                                     GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_DOUBLE (procedure, "resolution",
+                            "Resolution",
+                            "Resolution to use for rendering the SVG",
+                            GIMP_MIN_RESOLUTION, GIMP_MAX_RESOLUTION, 90,
+                            GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "width",
+                         "Width",
+                         "Width (in pixels) to load the SVG in. "
+                         "(0 for original width, a negative width to "
+                         "specify a maximum width)",
+                         -GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "height",
+                         "Height",
+                         "Height (in pixels) to load the SVG in. "
+                         "(0 for original heght, a negative width to "
+                         "specify a maximum height)",
+                         -GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "paths",
+                         "Paths",
+                         "(0) don't import paths, (1) paths individually, "
+                         "(2) paths merged",
+                         0, 2, 0,
+                         GIMP_PARAM_READWRITE);
     }
   else if (! strcmp (name, LOAD_THUMB_PROC))
     {
@@ -235,33 +224,30 @@ svg_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-width",
-                                                         "Image width",
-                                                         "Width of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-height",
-                                                         "Image height",
-                                                         "Height of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
+
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-width",
+                         "Image width",
+                         "Width of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-height",
+                         "Image height",
+                         "Height of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/film.c b/plug-ins/common/film.c
index 1ae2b69bae..d4ee1949e3 100644
--- a/plug-ins/common/film.c
+++ b/plug-ins/common/film.c
@@ -237,71 +237,64 @@ film_create_procedure (GimpPlugIn  *plug_in,
                                       "Peter Kirchgessner (peter kirchgessner net)",
                                       "1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("film-height",
-                                                     "Film height",
-                                                     "Height of film (0: fit "
-                                                     "to images)",
-                                                     0, GIMP_MAX_IMAGE_SIZE, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_rgb ("film-color",
-                                                        "Film color",
-                                                        "Color of the film",
-                                                        TRUE, NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("number-start",
-                                                     "Number start",
-                                                     "Start index for numbering",
-                                                     G_MININT, G_MAXINT, 1,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("number-font",
-                                                        "Number font",
-                                                        "Font for drawing numbers",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_rgb ("number-color",
-                                                        "Number color",
-                                                        "Color for numbers",
-                                                        TRUE, NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("at-top",
-                                                         "At top",
-                                                         "Draw numbers at top",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("at-bottom",
-                                                         "At bottom",
-                                                         "Draw numbers at bottom",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-images",
-                                                     "Num images",
-                                                     "Number of images to "
-                                                     "be used for film",
-                                                     1, MAX_FILM_PICTURES, 1,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_int32_array ("image-ids",
-                                                                "Image IDs",
-                                                                "num-images "
-                                                                "image IDs to "
-                                                                "be used for "
-                                                                "film",
-                                                                G_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("new-image",
-                                                                 "New image",
-                                                                 "Outout image",
-                                                                 FALSE,
-                                                                 G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "film-height",
+                         "Film height",
+                         "Height of film (0: fit to images)",
+                         0, GIMP_MAX_IMAGE_SIZE, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_RGB (procedure, "film-color",
+                         "Film color",
+                         "Color of the film",
+                         TRUE, NULL,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "number-start",
+                         "Number start",
+                         "Start index for numbering",
+                         G_MININT, G_MAXINT, 1,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "number-font",
+                            "Number font",
+                            "Font for drawing numbers",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_RGB (procedure, "number-color",
+                         "Number color",
+                         "Color for numbers",
+                         TRUE, NULL,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "at-top",
+                             "At top",
+                             "Draw numbers at top",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "at-bottom",
+                             "At bottom",
+                             "Draw numbers at bottom",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "num-images",
+                         "Num images",
+                         "Number of images to be used for film",
+                         1, MAX_FILM_PICTURES, 1,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT32_ARRAY (procedure, "image-ids",
+                                 "Image IDs",
+                                 "num-images image IDs to be used for film",
+                                 G_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "new-image",
+                           "New image",
+                           "Outout image",
+                           FALSE,
+                           G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/mail.c b/plug-ins/common/mail.c
index d49b47d3bf..43441f3ed0 100644
--- a/plug-ins/common/mail.c
+++ b/plug-ins/common/mail.c
@@ -214,39 +214,35 @@ mail_create_procedure (GimpPlugIn  *plug_in,
                                       "Spencer Kimball and Peter Mattis",
                                       "1995-1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("filename",
-                                                        "Filename",
-                                                        "The name of the file "
-                                                        "to save the image in",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("to-address",
-                                                        "To address",
-                                                        "The email address "
-                                                        "to send to",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("from-address",
-                                                        "From address",
-                                                        "The email address "
-                                                        "for the From: field",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("subject",
-                                                        "Subject",
-                                                        "The subject",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("comment",
-                                                        "Comment",
-                                                        "The comment",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
+      GIMP_PROC_ARG_STRING (procedure, "filename",
+                            "Filename",
+                            "The name of the file to save the image in",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "to-address",
+                            "To address",
+                            "The email address to send to",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "from-address",
+                            "From address",
+                            "The email address for the From: field",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "subject",
+                            "Subject",
+                            "The subject",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "comment",
+                            "Comment",
+                            "The comment",
+                            NULL,
+                            G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/plugin-browser.c b/plug-ins/common/plugin-browser.c
index a788a74520..0ff6bd6b1c 100644
--- a/plug-ins/common/plugin-browser.c
+++ b/plug-ins/common/plugin-browser.c
@@ -184,13 +184,12 @@ browser_create_procedure (GimpPlugIn  *plug_in,
                                       "Andy Thomas",
                                       "1999");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/procedure-browser.c b/plug-ins/common/procedure-browser.c
index e4861a663f..a4cc8d27f6 100644
--- a/plug-ins/common/procedure-browser.c
+++ b/plug-ins/common/procedure-browser.c
@@ -132,13 +132,12 @@ browser_create_procedure (GimpPlugIn  *plug_in,
                                       "Thomas Noel",
                                       "23th june 1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/common/unit-editor.c b/plug-ins/common/unit-editor.c
index 9fc1c99d69..49e7e54304 100644
--- a/plug-ins/common/unit-editor.c
+++ b/plug-ins/common/unit-editor.c
@@ -191,13 +191,12 @@ editor_create_procedure (GimpPlugIn  *plug_in,
                                       "Michael Natterer <mitch gimp org>",
                                       "2000");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/file-ico/ico.c b/plug-ins/file-ico/ico.c
index 6e13a8385b..8414eed516 100644
--- a/plug-ins/file-ico/ico.c
+++ b/plug-ins/file-ico/ico.c
@@ -164,33 +164,29 @@ ico_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-width",
-                                                         "Image width",
-                                                         "Width of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-height",
-                                                         "Image height",
-                                                         "Height of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-width",
+                         "Image width",
+                         "Width of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-height",
+                         "Image height",
+                         "Height of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
     }
   else if (! strcmp (name, SAVE_PROC))
     {
diff --git a/plug-ins/file-psd/psd.c b/plug-ins/file-psd/psd.c
index 95965358de..076721023a 100644
--- a/plug-ins/file-psd/psd.c
+++ b/plug-ins/file-psd/psd.c
@@ -194,33 +194,29 @@ psd_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-width",
-                                                         "Image width",
-                                                         "Width of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-height",
-                                                         "Image height",
-                                                         "Height of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-width",
+                         "Image width",
+                         "Width of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-height",
+                         "Image height",
+                         "Height of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
     }
   else if (! strcmp (name, SAVE_PROC))
     {
diff --git a/plug-ins/file-raw/file-darktable.c b/plug-ins/file-raw/file-darktable.c
index e16210b685..894575815a 100644
--- a/plug-ins/file-raw/file-darktable.c
+++ b/plug-ins/file-raw/file-darktable.c
@@ -247,33 +247,30 @@ darktable_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-width",
-                                                         "Image width",
-                                                         "Width of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
-      gimp_procedure_add_return_value (procedure,
-                                       g_param_spec_int ("image-height",
-                                                         "Image height",
-                                                         "Height of the "
-                                                         "full-sized image",
-                                                         1, GIMP_MAX_IMAGE_SIZE, 1,
-                                                         GIMP_PARAM_READWRITE));
+
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-width",
+                         "Image width",
+                         "Width of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_INT (procedure, "image-height",
+                         "Image height",
+                         "Height of the full-sized image",
+                         1, GIMP_MAX_IMAGE_SIZE, 1,
+                         GIMP_PARAM_READWRITE);
     }
   else
     {
diff --git a/plug-ins/file-raw/file-rawtherapee.c b/plug-ins/file-raw/file-rawtherapee.c
index bb9dfff69d..2dbdc33cf1 100644
--- a/plug-ins/file-raw/file-rawtherapee.c
+++ b/plug-ins/file-raw/file-rawtherapee.c
@@ -198,19 +198,17 @@ rawtherapee_create_procedure (GimpPlugIn  *plug_in,
                                                            FALSE, TRUE, FALSE,
                                                            NULL,
                                                            GIMP_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("thumb-size",
-                                                     "Thumb Size",
-                                                     "Preferred thumbnail size",
-                                                     16, 2014, 256,
-                                                     GIMP_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Thumbnail image",
-                                                                 FALSE,
-                                                                 GIMP_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "thumb-size",
+                         "Thumb Size",
+                         "Preferred thumbnail size",
+                         16, 2014, 256,
+                         GIMP_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Thumbnail image",
+                           FALSE,
+                           GIMP_PARAM_READWRITE);
     }
   else
     {
diff --git a/plug-ins/file-sgi/sgi.c b/plug-ins/file-sgi/sgi.c
index 6d8b51af2e..dc0d3d8d91 100644
--- a/plug-ins/file-sgi/sgi.c
+++ b/plug-ins/file-sgi/sgi.c
@@ -181,15 +181,11 @@ sgi_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_extensions (GIMP_FILE_PROCEDURE (procedure),
                                           "sgi,rgb,rgba,bw,icon");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("compression",
-                                                     "Compression",
-                                                     "Compression level "
-                                                     "(0 = none, "
-                                                     "1 = RLE, "
-                                                     "2 = ARLE)",
-                                                     0, 2, 1,
-                                                     G_PARAM_STATIC_STRINGS));
+      GIMP_PROC_ARG_INT (procedure, "compression",
+                         "Compression",
+                         "Compression level (0 = none, 1 = RLE, 2 = ARLE)",
+                         0, 2, 1,
+                         G_PARAM_STATIC_STRINGS);
     }
 
   return procedure;
diff --git a/plug-ins/file-tiff/file-tiff.c b/plug-ins/file-tiff/file-tiff.c
index 1fbe378080..ec61f7ca09 100644
--- a/plug-ins/file-tiff/file-tiff.c
+++ b/plug-ins/file-tiff/file-tiff.c
@@ -205,30 +205,20 @@ tiff_create_procedure (GimpPlugIn  *plug_in,
       gimp_file_procedure_set_extensions (GIMP_FILE_PROCEDURE (procedure),
                                           "tif,tiff");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("compression",
-                                                     "Compression",
-                                                     "Compression type: "
-                                                     "{ NONE (0), "
-                                                     "LZW (1), "
-                                                     "PACKBITS (2), "
-                                                     "DEFLATE (3), "
-                                                     "JPEG (4), "
-                                                     "CCITT G3 Fax (5), "
-                                                     "CCITT G4 Fax (6) }",
-                                                     0, 6, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("save-transp-pixels",
-                                                         "Save transp pixels",
-                                                         "Keep the color data "
-                                                         "masked by an alpha "
-                                                         "channel intact "
-                                                         "(do not store "
-                                                         "premultiplied "
-                                                         "components)",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "compression",
+                         "Compression",
+                         "Compression type: { NONE (0), LZW (1), PACKBITS (2), "
+                         "DEFLATE (3), JPEG (4), CCITT G3 Fax (5), "
+                         "CCITT G4 Fax (6) }",
+                         0, 6, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "save-transp-pixels",
+                             "Save transp pixels",
+                             "Keep the color data masked by an alpha channel "
+                             "intact (do not store premultiplied components)",
+                             TRUE,
+                             G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/fractal-explorer/fractal-explorer.c b/plug-ins/fractal-explorer/fractal-explorer.c
index a54602c366..97f831e9e7 100644
--- a/plug-ins/fractal-explorer/fractal-explorer.c
+++ b/plug-ins/fractal-explorer/fractal-explorer.c
@@ -246,150 +246,122 @@ explorer_create_procedure (GimpPlugIn  *plug_in,
                                       "www.multimania.com/cotting)",
                                       "December, 1998");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("fractal-type",
-                                                     "Fractal type",
-                                                     "0: Mandelbrot; "
-                                                     "1: Julia; "
-                                                     "2: Barnsley 1; "
-                                                     "3: Barnsley 2; "
-                                                     "4: Barnsley 3; "
-                                                     "5: Spider; "
-                                                     "6: ManOWar; "
-                                                     "7: Lambda; "
-                                                     "8: Sierpinski",
-                                                     0, 8, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("xmin",
-                                                        "X min",
-                                                        "xmin fractal image "
-                                                        "delimiter",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("xmax",
-                                                        "X max",
-                                                        "xmax fractal image "
-                                                        "delimiter",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("ymin",
-                                                        "Y min",
-                                                        "ymin fractal image "
-                                                        "delimiter",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("ymax",
-                                                        "Y max",
-                                                        "ymax fractal image "
-                                                        "delimiter",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("iter",
-                                                        "Iter",
-                                                        "Iteration value",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("cx",
-                                                        "CX",
-                                                        "cx value (only Julia)",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("cy",
-                                                        "CY",
-                                                        "cy value (only Julia)",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("color-mode",
-                                                     "Color mode",
-                                                     "0: Apply colormap as "
-                                                     "specified by the "
-                                                     "parameters below; "
-                                                     "1: Apply active gradient "
-                                                     "to final image",
-                                                     0, 1, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("red-stretch",
-                                                        "Red stretch",
-                                                        "Red stretching factor",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("green-stretch",
-                                                        "Green stretch",
-                                                        "Green stretching factor",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_double ("blues-tretch",
-                                                        "Blue stretch",
-                                                        "Blue stretching factor",
-                                                        -G_MAXDOUBLE,
-                                                        G_MAXDOUBLE, 0,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("red-mode",
-                                                     "Red mode",
-                                                     "Red application mode "
-                                                     "(0:SIN;1:COS;2:NONE)",
-                                                     0, 2, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("green-mode",
-                                                     "Green mode",
-                                                     "Green application mode "
-                                                     "(0:SIN;1:COS;2:NONE)",
-                                                     0, 2, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("blue-mode",
-                                                     "Blue mode",
-                                                     "Blue application mode "
-                                                     "(0:SIN;1:COS;2:NONE)",
-                                                     0, 2, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("red-invert",
-                                                         "Red invert",
-                                                         "Red inversion mode",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("green-invert",
-                                                         "Green invert",
-                                                         "Green inversion mode",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("blue-invert",
-                                                         "Blue invert",
-                                                         "Blue inversion mode",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("n-colors",
-                                                     "N volors",
-                                                     "Number of Colors "
-                                                     "for mapping",
-                                                     2, 8192, 512,
-                                                     G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "fractal-type",
+                         "Fractal type",
+                         "0: Mandelbrot; 1: Julia; 2: Barnsley 1; "
+                         "3: Barnsley 2; 4: Barnsley 3; 5: Spider; "
+                         "6: ManOWar; 7: Lambda; 8: Sierpinski",
+                         0, 8, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "xmin",
+                            "X min",
+                            "xmin fractal image delimiter",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "xmax",
+                            "X max",
+                            "xmax fractal image delimiter",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "ymin",
+                            "Y min",
+                            "ymin fractal image delimiter",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "ymax",
+                            "Y max",
+                            "ymax fractal image delimiter",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "iter",
+                            "Iter",
+                            "Iteration value",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "cx",
+                            "CX",
+                            "cx value (only Julia)",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "cy",
+                            "CY",
+                            "cy value (only Julia)",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "color-mode",
+                         "Color mode",
+                         "0: Apply colormap as specified by the parameters "
+                         "below; 1: Apply active gradient to final image",
+                         0, 1, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "red-stretch",
+                            "Red stretch",
+                            "Red stretching factor",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "green-stretch",
+                            "Green stretch",
+                            "Green stretching factor",
+                            -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_DOUBLE (procedure, "blues-tretch",
+                            "Blue stretch",
+                            "Blue stretching factor",
+                            -G_MAXDOUBLE,G_MAXDOUBLE, 0,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "red-mode",
+                         "Red mode",
+                         "Red application mode (0:SIN; 1:COS; 2:NONE)",
+                         0, 2, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "green-mode",
+                         "Green mode",
+                         "Green application mode (0:SIN; 1:COS; 2:NONE)",
+                         0, 2, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "blue-mode",
+                         "Blue mode",
+                         "Blue application mode (0:SIN; 1:COS; 2:NONE)",
+                         0, 2, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "red-invert",
+                             "Red invert",
+                             "Red inversion mode",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "green-invert",
+                             "Green invert",
+                             "Green inversion mode",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "blue-invert",
+                             "Blue invert",
+                             "Blue inversion mode",
+                             FALSE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "n-colors",
+                         "N volors",
+                         "Number of Colors for mapping",
+                         2, 8192, 512,
+                         G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/help-browser/help-browser.c b/plug-ins/help-browser/help-browser.c
index bb9e637fa4..643b7cf2b0 100644
--- a/plug-ins/help-browser/help-browser.c
+++ b/plug-ins/help-browser/help-browser.c
@@ -132,35 +132,34 @@ help_browser_create_procedure (GimpPlugIn  *plug_in,
                                       "Henrik Brix Andersen",
                                       "1999-2008");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-domain-names",
-                                                     "Num domain names",
-                                                     "Num domain names",
-                                                     0, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_string_array ("domain-names",
-                                                                 "Domain names",
-                                                                 "Domain names",
-                                                                 G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-domain-uris",
-                                                     "Num domain URIs",
-                                                     "Num domain URIs",
-                                                     0, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_string_array ("domain-uris",
-                                                                 "Domain URIs",
-                                                                 "Domain URIs",
-                                                                 G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "num-domain-names",
+                         "Num domain names",
+                         "Num domain names",
+                         0, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING_ARRAY (procedure, "domain-names",
+                                  "Domain names",
+                                  "Domain names",
+                                  G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "num-domain-uris",
+                         "Num domain URIs",
+                         "Num domain URIs",
+                         0, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING_ARRAY (procedure, "domain-uris",
+                                  "Domain URIs",
+                                  "Domain URIs",
+                                  G_PARAM_READWRITE);
     }
 
   return procedure;
@@ -217,24 +216,23 @@ temp_proc_install (GimpPlugIn *plug_in)
                                   "Henrik Brix Andersen",
                                   "1999-2008");
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-domain",
-                                                    "Help domain",
-                                                    "Help domain to use",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-locales",
-                                                    "Help locales",
-                                                    "Language to use",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-id",
-                                                    "Help ID",
-                                                    "Help ID to open",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "help-domain",
+                        "Help domain",
+                        "Help domain to use",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "help-locales",
+                        "Help locales",
+                        "Language to use",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "help-id",
+                        "Help ID",
+                        "Help ID to open",
+                        NULL,
+                        G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/plug-ins/help/help.c b/plug-ins/help/help.c
index 61a945837d..7c568ac2b1 100644
--- a/plug-ins/help/help.c
+++ b/plug-ins/help/help.c
@@ -136,28 +136,27 @@ help_create_procedure (GimpPlugIn  *plug_in,
                                       "Sven Neumann, Michael Natterer & Henrik Brix Andersen",
                                       "1999-2008");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-domain-names",
-                                                     "Num Domain Names",
-                                                     "Num domain names",
-                                                     0, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_string_array ("domain-names",
-                                                                 "Domain Names",
-                                                                 "Domain names",
-                                                                 G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("num-domain-uris",
-                                                     "Num Domain URIs",
-                                                     "Num domain URIs",
-                                                     0, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   gimp_param_spec_string_array ("domain-uris",
-                                                                 "Domain URIs",
-                                                                 "Domain URIs",
-                                                                 G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "num-domain-names",
+                         "Num Domain Names",
+                         "Num domain names",
+                         0, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING_ARRAY (procedure, "domain-names",
+                                  "Domain Names",
+                                  "Domain names",
+                                  G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "num-domain-uris",
+                         "Num Domain URIs",
+                         "Num domain URIs",
+                         0, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING_ARRAY (procedure, "domain-uris",
+                                  "Domain URIs",
+                                  "Domain URIs",
+                                  G_PARAM_READWRITE);
     }
 
   return procedure;
@@ -225,33 +224,33 @@ help_temp_proc_install (GimpPlugIn *plug_in)
                                   "Sven Neumann <sven gimp org>, "
                                   "Michael Natterer <mitch gimp org>"
                                   "Henrik Brix Andersen <brix gimp org",
-                                  "Sven Neumann, Michael Natterer & Henrik Brix Andersen",
+                                  "Sven Neumann, Michael Natterer & "
+                                  "Henrik Brix Andersen",
                                   "1999-2008");
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-proc",
-                                                    "The procedure of the browser to use",
-                                                    "The procedure of the browser to use",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-domain",
-                                                    "Help domain to use",
-                                                    "Help domain to use",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-locales",
-                                                    "Language to use",
-                                                    "Language to use",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_string ("help-id",
-                                                    "Help ID to open",
-                                                    "Help ID to open",
-                                                    NULL,
-                                                    G_PARAM_READWRITE));
+  GIMP_PROC_ARG_STRING (procedure, "help-proc",
+                        "The procedure of the browser to use",
+                        "The procedure of the browser to use",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "help-domain",
+                        "Help domain to use",
+                        "Help domain to use",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "help-locales",
+                        "Language to use",
+                        "Language to use",
+                        NULL,
+                        G_PARAM_READWRITE);
+
+  GIMP_PROC_ARG_STRING (procedure, "help-id",
+                        "Help ID to open",
+                        "Help ID to open",
+                        NULL,
+                        G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/plug-ins/pagecurl/pagecurl.c b/plug-ins/pagecurl/pagecurl.c
index 608a112550..9aeb54e708 100644
--- a/plug-ins/pagecurl/pagecurl.c
+++ b/plug-ins/pagecurl/pagecurl.c
@@ -234,43 +234,39 @@ pagecurl_create_procedure (GimpPlugIn  *plug_in,
                                       "Federico Mena Quintero and Simon Budig",
                                       PLUG_IN_VERSION);
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("colors",
-                                                     "Colors",
-                                                     "FG- and BG-Color (0), Current gradient (1), Current 
gradient reversed (2)",
-                                                     CURL_COLORS_FG_BG,
-                                                     CURL_COLORS_LAST,
-                                                     CURL_COLORS_FG_BG,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("edge",
-                                                     "Edge",
-                                                     "Edge to curl (1-4, clockwise, starting in the lower 
right edge)",
-                                                     CURL_EDGE_LOWER_RIGHT,
-                                                     CURL_EDGE_UPPER_RIGHT,
-                                                     CURL_EDGE_LOWER_RIGHT,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("orientation",
-                                                     "Orientation",
-                                                     "Vertical (0), Horizontal (1)",
-                                                     CURL_ORIENTATION_VERTICAL,
-                                                     CURL_ORIENTATION_HORIZONTAL,
-                                                     CURL_ORIENTATION_VERTICAL,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_boolean ("shade",
-                                                         "Shade",
-                                                         "Shade the region under the curl",
-                                                         TRUE,
-                                                         G_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_layer_id ("curl-layer",
-                                                                 "Curl layer",
-                                                                 "The new layer with the curl.",
-                                                                 FALSE,
-                                                                 G_PARAM_READWRITE));
+      GIMP_PROC_ARG_INT (procedure, "colors",
+                         "Colors",
+                         "FG- and BG-Color (0), Current gradient (1), "
+                         "Current gradient reversed (2)",
+                         CURL_COLORS_FG_BG, CURL_COLORS_LAST, CURL_COLORS_FG_BG,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "edge",
+                         "Edge",
+                         "Edge to curl (1-4, clockwise, starting in the "
+                         "lower right edge)",
+                         CURL_EDGE_LOWER_RIGHT, CURL_EDGE_UPPER_RIGHT,
+                         CURL_EDGE_LOWER_RIGHT,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "orientation",
+                         "Orientation",
+                         "Vertical (0), Horizontal (1)",
+                         CURL_ORIENTATION_VERTICAL, CURL_ORIENTATION_HORIZONTAL,
+                         CURL_ORIENTATION_VERTICAL,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_BOOLEAN (procedure, "shade",
+                             "Shade",
+                             "Shade the region under the curl",
+                             TRUE,
+                             G_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_LAYER (procedure, "curl-layer",
+                           "Curl layer",
+                           "The new layer with the curl.",
+                           FALSE,
+                           G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/print/print.c b/plug-ins/print/print.c
index c6338eaebf..9e66bc1e54 100644
--- a/plug-ins/print/print.c
+++ b/plug-ins/print/print.c
@@ -533,12 +533,11 @@ print_temp_proc_install (gint32  image_ID)
                                   "Sven Neumann",
                                   "2008");
 
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "Image",
-                                                         "The image to save",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
+  GIMP_PROC_ARG_IMAGE (procedure, "image",
+                       "Image",
+                       "The image to notify about",
+                       FALSE,
+                       G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);
diff --git a/plug-ins/screenshot/screenshot.c b/plug-ins/screenshot/screenshot.c
index eeae115d70..50969dbf3b 100644
--- a/plug-ins/screenshot/screenshot.c
+++ b/plug-ins/screenshot/screenshot.c
@@ -179,57 +179,49 @@ screenshot_create_procedure (GimpPlugIn  *plug_in,
                                       gdk_pixbuf_new_from_inline (-1, screenshot_icon,
                                                                   FALSE, NULL));
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_NONINTERACTIVE,
-                                                      G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("shoot-type",
-                                                     "Shoot type",
-                                                     "The shoot type "
-                                                     "{ SHOOT-WINDOW (0), "
-                                                     "SHOOT-ROOT (1), "
-                                                     "SHOOT-REGION (2) }",
-                                                     0, 2, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("x1",
-                                                     "X1",
-                                                     "Region left x coord "
-                                                     "for SHOOT-WINDOW",
-                                                     G_MININT, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("y1",
-                                                     "Y1",
-                                                     "Region top y coord "
-                                                     "for SHOOT-WINDOW",
-                                                     G_MININT, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("x2",
-                                                     "X2",
-                                                     "Region right x coord "
-                                                     "for SHOOT-WINDOW",
-                                                     G_MININT, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("y2",
-                                                     "Y2",
-                                                     "Region bottom y coord "
-                                                     "for SHOOT-WINDOW",
-                                                     G_MININT, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-
-      gimp_procedure_add_return_value (procedure,
-                                       gimp_param_spec_image_id ("image",
-                                                                 "Image",
-                                                                 "Output image",
-                                                                 FALSE,
-                                                                 G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_NONINTERACTIVE,
+                          G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "shoot-type",
+                         "Shoot type",
+                         "The shoot type { SHOOT-WINDOW (0), SHOOT-ROOT (1), "
+                         "SHOOT-REGION (2) }",
+                         0, 2, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "x1",
+                         "X1",
+                         "Region left x coord for SHOOT-WINDOW",
+                         G_MININT, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "y1",
+                         "Y1",
+                         "Region top y coord for SHOOT-WINDOW",
+                         G_MININT, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "x2",
+                         "X2",
+                         "Region right x coord for SHOOT-WINDOW",
+                         G_MININT, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "y2",
+                         "Y2",
+                         "Region bottom y coord for SHOOT-WINDOW",
+                         G_MININT, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_VAL_IMAGE (procedure, "image",
+                           "Image",
+                           "Output image",
+                           FALSE,
+                           G_PARAM_READWRITE);
     }
 
   return procedure;
diff --git a/plug-ins/script-fu/script-fu.c b/plug-ins/script-fu/script-fu.c
index 0a1d5fc844..a9ea2cfedd 100644
--- a/plug-ins/script-fu/script-fu.c
+++ b/plug-ins/script-fu/script-fu.c
@@ -148,13 +148,12 @@ script_fu_create_procedure (GimpPlugIn  *plug_in,
                                       "Spencer Kimball & Peter Mattis",
                                       "1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
     }
   else if (! strcmp (name, "plug-in-script-fu-text-console"))
     {
@@ -172,13 +171,12 @@ script_fu_create_procedure (GimpPlugIn  *plug_in,
                                       "Spencer Kimball & Peter Mattis",
                                       "1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
     }
   else if (! strcmp (name, "plug-in-script-fu-server"))
     {
@@ -207,34 +205,30 @@ script_fu_create_procedure (GimpPlugIn  *plug_in,
                                       "Spencer Kimball & Peter Mattis",
                                       "1997");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("ip",
-                                                        "IP",
-                                                        "The IP on which to "
-                                                        "listen for requests",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_int ("port",
-                                                     "Port",
-                                                     "The port on which to "
-                                                     "listen for requests",
-                                                     0, G_MAXINT, 0,
-                                                     G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("logfile",
-                                                        "Log File",
-                                                        "The file to log "
-                                                        "activity to",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "ip",
+                            "IP",
+                            "The IP on which to listen for requests",
+                            NULL,
+                            G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_INT (procedure, "port",
+                         "Port",
+                         "The port on which to listen for requests",
+                         0, G_MAXINT, 0,
+                         G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "logfile",
+                            "Log File",
+                            "The file to log activity to",
+                            NULL,
+                            G_PARAM_READWRITE);
     }
   else if (! strcmp (name, "plug-in-script-fu-eval"))
     {
@@ -251,19 +245,18 @@ script_fu_create_procedure (GimpPlugIn  *plug_in,
                                       "Manish Singh",
                                       "1998");
 
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_enum ("run-mode",
-                                                      "Run mode",
-                                                      "The run mode",
-                                                      GIMP_TYPE_RUN_MODE,
-                                                      GIMP_RUN_INTERACTIVE,
-                                                      G_PARAM_READWRITE));
-      gimp_procedure_add_argument (procedure,
-                                   g_param_spec_string ("code",
-                                                        "Code",
-                                                        "The code to run",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
+      GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                          "Run mode",
+                          "The run mode",
+                          GIMP_TYPE_RUN_MODE,
+                          GIMP_RUN_INTERACTIVE,
+                          G_PARAM_READWRITE);
+
+      GIMP_PROC_ARG_STRING (procedure, "code",
+                            "Code",
+                            "The code to run",
+                            NULL,
+                            G_PARAM_READWRITE);
     }
 
   return procedure;
@@ -437,13 +430,12 @@ script_fu_extension_init (GimpPlugIn *plug_in)
                                   "Spencer Kimball & Peter Mattis",
                                   "1997");
 
-  gimp_procedure_add_argument (procedure,
-                               g_param_spec_enum ("run-mode",
-                                                  "Run mode",
-                                                  "The run mode",
-                                                  GIMP_TYPE_RUN_MODE,
-                                                  GIMP_RUN_INTERACTIVE,
-                                                  G_PARAM_READWRITE));
+  GIMP_PROC_ARG_ENUM (procedure, "run-mode",
+                      "Run mode",
+                      "The run mode",
+                      GIMP_TYPE_RUN_MODE,
+                      GIMP_RUN_INTERACTIVE,
+                      G_PARAM_READWRITE);
 
   gimp_plug_in_add_temp_procedure (plug_in, procedure);
   g_object_unref (procedure);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]