I'm currently porting the plug-ins/gap to gimp.1.3.x 
and want to discuss GAP's 'Filter all Layers' function.

'Filter all Layers'
Can call any PDB-Procedure automatical for each layer of an Image
with varying (or constant) values and helps to create Animation Effects.

(a similar function can apply any PDB-Procedure to one (or more) specified Layers
in all frame images of an Animation)

Problems of the old Implementation:

1) DB-Browser Dialog showed many Procedures that did not work
   with Filter all Layers.

2) The Alternative Iterator Procedures are a 
   Maintainance Problem.
   (lots of Code that needs to be checked or updated
    each time one of the Plug-Ins are changed)

The current Implementation-step  (gap-1.3.5a_pre22)
comes with a patch for libgimp.
Both gap and the patch are available at


This Patch allows Plug-Ins to register the structure
of the LAST-Values Buffer.

The new Filter All Layers DB-Browser shows only
PDB-Procedures that have typical Parameters
(run_mode, image, drawable) AND

a) did register the structure of the LAST-Values Buffer
   (if none of the Parameters are marked for iteration,
    or there are no parameters at all
   the Apply Varying Button is disabled)

b) have its own Iterator Procedure.

One Common Iterator Procedure now reads the
registrated structure and replaces all ITER_ALT
Procedures of the old Implementation.

The current 'Filter All Layers' redesign is not finished yet.

- 'Filter All Layers' should be able to call more
  of the PDB-procedures in the automatic style
  but can't in the current gap-implementation because they
  - do not use a LAST-Values Buffer
  - show up a Dialog when called in Rumode with LAST_VALUES
    (example: perl_fu_clear_alpha)
  - have no PDB-API to run INTERACTIVE when called
    from a Plug-In
    (examples are Core-Tools for Colormanipulation Levels, Curves..)

- The Code of plug-ins/gap/gap_dbbrowser_utils.c 
  is nearly the same as  plug-ins/dbbrowser/dbbrowser_utils.c
  (what about a common widget in libgimp that can be used
   in both Plug-Ins ?)

Discussions about the patch for libgimp
and about Filter All Layers redesign are welcome.
Wolfgang Hofer  <[EMAIL PROTECTED]>

See Dave Matthews Band live or win a signed guitar
Gimp-developer mailing list

Reply via email to