Re: Gimp Perl

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

 



Hello,

> Well... in every devel release, with gimp perl, I've been getting messages
> like these below:
> "xachshadow.pl: Unable to grok '0' as colour specifier at
> /usr/local/lib/gimp/1.1/xachshadow.pl line 76 (ERROR)"
>
> "script.pl, argument type Gimp::Drawable, Gimp::Layer or Gimp::Channel
> expected (not Gimp::Image) at /usr/local/lib/gimp/1.1/script.pl line X
> (ERROR)"

The patch below, which I send some days ago, should fix this bugs (at
least I hope so). In detail, the patch addresses the following things
in Gimp V1.1.13:

  - In the gif-plugin the Cancel-Button only deletes the button and
    does not abort the dialog.

  - In different plugins written in Perl the auto import tag was
    missing.

  - In the blowinout and the windify plugins different plugins were
    called with 1 for RUN_NONINTERACTIVE. If I recall correctly, the
    result of this was the "argument type Gimp::Drawable ...".

  - In the guidegrid plugin an update of the image was missing. I
    inserted a call to gimp_drawable_update.

  - In the logulator plugin the scripts were registered under
    <Toolbox>/Xtns/... .

  - Scripts in the logulator plugin which only had the arguments
    text_string, font_size_pixels, and font did not get defaults for
    this arguments.

  - In different Perl-plugins the plugins sparkle, nova, and grid were
    called with a wrong amount of arguments. The result of this bug in
    xachshadow.pl was the "Unable to grok '0'".

Regards,

  Frank

diff -ru orig/gimp-1.1.13/plug-ins/common/gif.c gimp-1.1.13/plug-ins/common/gif.c
--- orig/gimp-1.1.13/plug-ins/common/gif.c	Sat Nov 27 06:44:25 1999
+++ gimp-1.1.13/plug-ins/common/gif.c	Sat Nov 27 05:10:30 1999
@@ -1301,9 +1301,9 @@
 
   button = gtk_button_new_with_label (_("Cancel"));
   GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-  gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
-			     (GtkSignalFunc) save_cancel_callback,
-			     dlg);
+  gtk_signal_connect (GTK_OBJECT (button), "clicked",
+		      (GtkSignalFunc) save_cancel_callback,
+		      dlg);
   gtk_box_pack_start (GTK_BOX (hbbox), button, FALSE, FALSE, 0);
   gtk_widget_show (button);
 
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/blowinout.pl gimp-1.1.13/plug-ins/perl/examples/blowinout.pl
--- orig/gimp-1.1.13/plug-ins/perl/examples/blowinout.pl	Mon Sep 13 17:05:10 1999
+++ gimp-1.1.13/plug-ins/perl/examples/blowinout.pl	Sat Nov 27 09:22:27 1999
@@ -3,7 +3,7 @@
 # Blow In/Out
 # John Pitney
 
-use Gimp 1.06;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 
 # print "hello there\n";
@@ -44,11 +44,11 @@
         $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
         $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
     gimp_edit_clear($dmlayer);
-    plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0);
+    plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
     gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
     $drawable = gimp_layer_copy($drawable, 0);
     gimp_image_add_layer($img, $drawable, -1);
-    plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
+    plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
         $dmlayer, 1);
     if ( $inmode == 1 )
     {
@@ -62,11 +62,11 @@
             $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
             $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
         gimp_edit_clear($dmlayer);
-        plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0);
+        plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
         gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
         $drawable = gimp_layer_copy($drawable, 0);
         gimp_image_add_layer($img, $drawable, -1);
-        plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
+        plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
             $dmlayer, 1);
         if ( $inmode == 1 )
         {
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/fit-text gimp-1.1.13/plug-ins/perl/examples/fit-text
--- orig/gimp-1.1.13/plug-ins/perl/examples/fit-text	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/fit-text	Sat Nov 27 09:53:05 1999
@@ -13,7 +13,7 @@
 # 7/15/99: added support if the user selects in pixels (assumes 72 dpi - deal)
 #          and tuned it a bit more <sjburges@xxxxxxxx>
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/guidegrid gimp-1.1.13/plug-ins/perl/examples/guidegrid
--- orig/gimp-1.1.13/plug-ins/perl/examples/guidegrid	Mon Sep 13 17:05:10 1999
+++ gimp-1.1.13/plug-ins/perl/examples/guidegrid	Sat Nov 27 18:29:17 1999
@@ -12,7 +12,7 @@
 # 12/7/99 <sjburges@xxxxxxxx>
 # Changed the display code in C and got rid of ugly hack in perl.
 #
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 use Gimp::Util;
 
@@ -78,7 +78,8 @@
     ##
     #$img->selection_all();
     #$img->selection_none();
-    
+    gimp_drawable_update($layer, 0, 0, $img->height, $img->width);
+
     return();
   };
 exit main;
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/innerbevel gimp-1.1.13/plug-ins/perl/examples/innerbevel
--- orig/gimp-1.1.13/plug-ins/perl/examples/innerbevel	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/innerbevel	Sat Nov 27 19:42:43 1999
@@ -7,7 +7,7 @@
 # working btw).  You can follow step by step with the website at 
 # http://tigert.gimp.org/gimp/tutorials/beveled_text/
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/logulator gimp-1.1.13/plug-ins/perl/examples/logulator
--- orig/gimp-1.1.13/plug-ins/perl/examples/logulator	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/logulator	Sun Nov 28 19:30:58 1999
@@ -14,7 +14,7 @@
       $menupath,$imagetypes,$params,$code)=@_;
    $function =~ s%^perl_fu_%logulator_% or die;
    my $mp = __"<Image>/Filters/Logulator";
-   $menupath =~ s%([^/]+)$%$mp/$1% or die;
+   $menupath =~ s%^.*/(.+$)%$mp/$1% or die;
    my($i,$j)=0;
    my($ti,$fsi,$fi);
    $i=@$params;
@@ -56,7 +56,7 @@
       my($image,$drawable)=(shift,shift);
       $drawable->has_alpha or die "It makes no sense to call $menupath with a drawable lacking alpha!\n";
       $i=0;
-      while($i<@_) {
+      while($i<=@_) {
          if($i==$ti) {
             splice @_,$i,0,"-- Text --";
          } elsif ($i==$fsi) {
@@ -1234,7 +1234,9 @@
       plug_in_noisify ($img, $sparkle_layer, 0, 0.2, 0.2, 0.2, 0.0);
       plug_in_c_astretch ($img, $sparkle_layer);
       gimp_selection_none ($img);
-      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, min ($width, $height) / 2, 6, 15);
+      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, min ($width, $height) / 2, 6, 15,
+      		       1.0, 1.0, 0.0, 0.0, 0, 0, 0, 0);
+
       gimp_levels ($sparkle_layer, 1, 0, 255, 0.2, 0, 255);
       gimp_levels ($sparkle_layer, 2, 0, 255, 0.7, 0, 255);
       gimp_selection_layer_alpha ($sparkle_layer);
@@ -2193,7 +2195,7 @@
       gimp_palette_set_background ([255, 255, 255]);
       gimp_edit_fill ($layer_mask);
       gimp_selection_none ($img);
-      plug_in_nova ($img, $burst_layer, @{$burst_coords}[0], cdr ($burst_coords), $burst_color, $burstradius, 100);
+      plug_in_nova ($img, $burst_layer, @{$burst_coords}[0], cdr ($burst_coords), $burst_color, $burstradius, 100, 0);
       gimp_selection_layer_alpha ($text_layer);
       gimp_palette_set_background ([0, 0, 0]);
       gimp_selection_feather ($img, $feather);
@@ -2329,7 +2331,7 @@
       gimp_palette_set_background ([31, 31, 31]);
       gimp_palette_set_foreground ([255, 255, 255]);
       gimp_blend ($text_layer, FG_BG_RGB, NORMAL_MODE, BILINEAR, 100, 0, REPEAT_NONE, 0, 0, 0, $cx, $cy, $bx, $by);
-      plug_in_nova ($img, $glow_layer, $novax, $novay, $glow_color, $novaradius, 100);
+      plug_in_nova ($img, $glow_layer, $novax, $novay, $glow_color, $novaradius, 100, 0);
       gimp_selection_all ($img);
       gimp_patterns_set_pattern ("Stone");
       gimp_bucket_fill ($bump_channel, PATTERN_BUCKET_FILL, NORMAL_MODE, 100, 0, 0, 0, 0);
@@ -2398,7 +2400,8 @@
       gimp_selection_border ($img, $edge_size);
       plug_in_noisify ($img, $sparkle_layer, 0, $hit_rate, $hit_rate, $hit_rate, 0.0);
       gimp_selection_none ($img);
-      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, $width, 6, 15);
+      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, $width, 6, 15,
+      		       1.0, 1.0, 0.0, 0.0, 0, 0, 0, 0);
       gimp_selection_load ($selection);
       gimp_selection_shrink ($img, $edge_size);
       gimp_levels ($sparkle_layer, 0, 0, 255, 1.2, 0, 255);
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/perlotine gimp-1.1.13/plug-ins/perl/examples/perlotine
--- orig/gimp-1.1.13/plug-ins/perl/examples/perlotine	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/perlotine	Sat Nov 27 19:18:09 1999
@@ -21,7 +21,7 @@
 # If you have more additions, etc please don't hesitate to send them in!
 
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 use Gimp::Util;
 
@@ -86,7 +86,7 @@
 	# do this: fs/low-bleed dither, make palette, 256 colors, 
 	# dont dither alpha, do remove unused (is 1 "true" here?),
 	# custom palette is ignored (we create our own, thus "duck" works).
-        $tmpimg->convert_indexed (2,0,256,0,1,duck) 
+        $tmpimg->convert_indexed (2,0,255,0,1,duck) 
 	}
     $tmpimg->gimp_file_save(-1,"$savepath$imgpath$imgname","$savepath$imgpath$imgname");
     $tmpimg->delete;
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/randomblends gimp-1.1.13/plug-ins/perl/examples/randomblends
--- orig/gimp-1.1.13/plug-ins/perl/examples/randomblends	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/randomblends	Sat Nov 27 15:09:35 1999
@@ -3,7 +3,7 @@
 # This is adrian's idea - take random blends and difference them.  You're
 # bound to come up w/ something cool eventually.
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/windify.pl gimp-1.1.13/plug-ins/perl/examples/windify.pl
--- orig/gimp-1.1.13/plug-ins/perl/examples/windify.pl	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/windify.pl	Sat Nov 27 09:27:42 1999
@@ -3,7 +3,7 @@
 # sent to me by Seth Burgess <sjburges@xxxxxxxx>
 # small changes my Marc Lehmann <pcg@xxxxxxxx>
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 
 #Gimp::set_trace(TRACE_CALL);
@@ -21,11 +21,11 @@
 	gimp_image_add_layer($out,$windlayer,0);
 	my $windlayercopy = gimp_layer_copy($windlayer, 1);
 	gimp_image_add_layer($out,$windlayercopy,0);
-	plug_in_noisify(1,$out,$windlayercopy,0,$density/255,
+	plug_in_noisify($out,$windlayercopy,0,$density/255,
                                                 $density/255,
                                                 $density/255,1);
 
-	plug_in_mblur(1,$out,$windlayercopy,0,15,$angle);
+	plug_in_mblur($out,$windlayercopy,0,15,$angle);
 	gimp_layer_set_mode($windlayercopy, 10); # Lighten Only
 	gimp_image_merge_visible_layers($out,0);
 
@@ -33,7 +33,7 @@
 # gimp_image_merge_visible_layers bug
 
 	my $newlay = gimp_image_get_active_layer ($out);
-	plug_in_displace(1,$img,$drawable,-$distance*cos($angle*180/3.14159),
+	plug_in_displace($img,$drawable,-$distance*cos($angle*180/3.14159),
                                           $distance*sin($angle*180/3.14159),
 					  1,1, $newlay,$newlay, $wrap);
 	gimp_image_remove_layer($out,$newlay);
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/xachlego.pl gimp-1.1.13/plug-ins/perl/examples/xachlego.pl
--- orig/gimp-1.1.13/plug-ins/perl/examples/xachlego.pl	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/xachlego.pl	Sat Nov 27 09:39:51 1999
@@ -29,7 +29,7 @@
 #                   in a directory more suitable than the lame "Misc"
 # Here's the boring start of every script...
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 
 register "xach_blocks",
@@ -71,7 +71,8 @@
 	gimp_edit_clear($gridlayer);
 	gimp_palette_set_background([255,255,255]);
 	gimp_edit_fill($gridlayer);
-	$gridlayer->plug_in_grid($blocksize, $blocksize, 0, 0);
+	$gridlayer->plug_in_grid(1,$blocksize,0,[0,0,0],255, 1,$blocksize,0,[0,0,0],255,
+				 0,0,0,[0,0,0],255);
 	$gridlayer->plug_in_gauss_iir(0.7*$blocksize, 1, 1);
 
 #	threshold the 
@@ -93,7 +94,8 @@
                                  RGBA_IMAGE, "Grid 2", 100, 0);
 	$img->add_layer($cleangrid,0);
 	gimp_edit_fill($cleangrid);
-	$cleangrid->plug_in_grid($blocksize, $blocksize, 0, 0);
+	$cleangrid->plug_in_grid(1,$blocksize,0,[0,0,0],255, 1,$blocksize,0,[0,0,0],255,
+				 0,0,0,[0,0,0],255);
 	gimp_selection_load($selection);
 	$drawable->plug_in_bump_map($cleangrid, 135, 45, 3, 0, 0, 0, 0, 1, 0, 0);
 	$img->selection_all;	
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/xachshadow.pl gimp-1.1.13/plug-ins/perl/examples/xachshadow.pl
--- orig/gimp-1.1.13/plug-ins/perl/examples/xachshadow.pl	Sat Nov 27 06:44:30 1999
+++ gimp-1.1.13/plug-ins/perl/examples/xachshadow.pl	Sat Nov 27 09:43:08 1999
@@ -22,7 +22,7 @@
 #
 # Here's the boring start of every script...
 
-use Gimp;
+use Gimp qw(:auto __);
 use Gimp::Fu;
 
 register "xach_shadows",
@@ -70,7 +70,8 @@
 	gimp_edit_clear($gridlayer);
 	gimp_palette_set_background([255,255,255]);
 	gimp_edit_fill($gridlayer);
-	$gridlayer->plug_in_grid($blocksize, $blocksize, 0, 0);
+	$gridlayer->plug_in_grid(1,$blocksize,0,[0,0,0],255, 1,$blocksize,0,[0,0,0],255,
+				 0,0,0,[0,0,0],255);
 
 	gimp_layer_set_mode($gridlayer, 3);
 # Clean up stuff
diff -ru orig/gimp-1.1.13/plug-ins/perl/examples/xachvision.pl gimp-1.1.13/plug-ins/perl/examples/xachvision.pl
--- orig/gimp-1.1.13/plug-ins/perl/examples/xachvision.pl	Mon Sep 13 17:05:10 1999
+++ gimp-1.1.13/plug-ins/perl/examples/xachvision.pl	Sat Nov 27 06:56:32 1999
@@ -3,7 +3,7 @@
 # Once again, an effect of Xach's
 # Created by Seth Burgess <sjburges@xxxxxxxx>
 
-use Gimp;
+use Gimp ':auto';
 use Gimp::Fu;
 
 register "xachvision",
@@ -41,7 +41,8 @@
 	$midlayer->plug_in_noisify(1,$amt, $amt, $amt, $amt);
 	$midmask = $midlayer->create_mask(0);
 	$img->add_layer_mask($midlayer,	$midmask);
-	$midmask->plug_in_grid($img->height * 3, 3, 0, 0);
+	$midmask->plug_in_grid(1,$img->height * 3,0,[0,0,0],255, 1,3,0,[0,0,0],255,
+			       0,0,0,[0,0,0],255 );
 	$midmask->plug_in_gauss_iir(1.01, 1, 1);
 
 	gimp_palette_set_background($oldbackground);


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux