"plug-in-gap-modify"


Modify Frames

    Start from Menu:
       <Image>/Video/Frames Modify
    
    The GIMP-GAP plug-in 'Frames Modify' provides the feature to 
    perform functions on one ore more selected layer(s) in all frames
    of the selected frame range.
  
    Layer Selection:
      
      The layers can be selected by (parts of) their name, or by their
      layerstack numbers.
      The selection is controlled via the LayerPattern entry,
      the case sensitivity toggle and the radio buttons.
      
      The toggle button "Invert Layer Selection" inverts the selection.
      
      Some of the available functions affect the image
      and do not allow layer selection.


    
    The Function menu:
       Layer Attributes
	 "Set Layer(s) visible",
	 "Set Layer(s) invisible",
	 "Set Layer(s) linked",
	 "Set Layer(s) unlinked),
       Layer Modes
         "Set Layer(s) mode: Normal",
         "Set Layer(s) mode: Dissolve",
         "Set Layer(s) mode: Multiply",
         "Set Layer(s) mode: Divide",
         "Set Layer(s) mode: Screen",
         "Set Layer(s) mode: Overlay",
         "Set Layer(s) mode: Difference",
         "Set Layer(s) mode: Addition",
         "Set Layer(s) mode: Subtract",
         "Set Layer(s) mode: Darken only",
         "Set Layer(s) mode: Lighten only",
         "Set Layer(s) mode: Dodge",
         "Set Layer(s) mode: Burn",
         "Set Layer(s) mode: Hardlight",
         "Set Layer(s) mode: Softlight",
         "Set Layer(s) mode: Color erase",
         "Set Layer(s) mode: Grain extract",
         "Set Layer(s) mode: Grain merge",
         "Set Layer(s) mode: Hue",
         "Set Layer(s) mode: Saturation",
         "Set Layer(s) mode: Color",
         "Set Layer(s) mode: Value",
       Layer Stackposition
	 "Raise Layer(s)",
	 "Lower Layer(s)",
       Merge Layers
	 "Merge Layer(s) expand as necessary",
	 "Merge Layer(s) clipped to image",
	 "Merge Layer(s) clipped to bg-layer",
       Selection
	 "Replace selection (source is the active frame)",
	 "Add selection (source is the active frame)",
	 "Subtract selection (source is the active frame)",
	 "Intersect selection (source is the active frame)",
	 "Selection none",
	 "Selection all",
	 "Selection invert",
         "Selection from alpha channel (individual per frame)",
	 "Save selection to channel (individual per frame)",
	 "Load selection from channel (individual per frame)",
	 "Delete channel (by name)"
       Layer Mask
	 "Add white layermask (opaque)",
	 "Add black layermask (transparent)",
	 "Add layermask from alpha",
	 "Add layermask transfer from alpha",
	 "Add layermask from selection",
	 "Add layermask from bw copy",
	 "Invert existing layermask",
	 "Apply filter on layermask",
	 "Delete layermask",
	 "Apply layermask"
	 "Copy layermask from layer above"
	 "Copy layermask from layer below"
       
       
      "Apply filter on Layer(s)",
      "Duplicate Layer(s)",
      "Delete Layer(s)",
      "Rename Layer(s)",
      "Add alpha channel",


    The Functions 
       "Replace Selection",
       "Add Selection",
       "Subtract Selection",
       "Intersect Selection",
 
      take the Selection from the initial (invoking) frame and combines it
      with existing selections in all the other handled frames.

    The Functions 
       "Copy layermask from layer above"
       "Copy layermask from layer below"

      create Layermasks in the selected layer(s) in all handled frames by copying from the 
      neighbour layer above (or below) the specified layer(s).
      If there is no such neighbour layer, a black (full transparent) layermask
      will be created for the selected layer(s).
      If the neighbour layer has no layermask, the mask will be create as black and white copy
      of the neighbour layer.
      The layermask is placed at the center of the selected (destination) layer.
      If the neighbour layer is smaller than the selected layer,
      the uncovered border of the created layermask is created full transparent.

    The Functions:
      "Duplicate Layer(s)"
      "Rename Layer(s)"
      "Save Selection to Channel"
      "Load Selection from Channel"
      "Delete Channel (by Name)"
      
      require a Name in the Entry field "New Layer Name"
      (the name of this entry changes to "New Channel Name"
      when dealing with channels)

    
    The function 
      "Apply filter on Layer(s)"
      
       brings up a dialog window when started via pressing the OK button.
       this dialog is similar to the PDB-Browser, where you can select 
       one of the available filters.

       If you use the PDB-Browser's button "Apply Varying", the
       filterparameters will slightly change in each handled frame
       from start to end.

       - If there is more than one selected layer in a frame
         each of the selected layers within the same frame
         will be processed with the same filter parameter values.
    
         (for more information see chapter 'Animated calls of Plug-In Filters' below)
 
    The function 
      "Apply filter on layermask"
       
       works with same additional dialog steps as described
       for function "Apply filter on Layer(s)", but applies the 
       selected filter to the layermask instead of the layer itself.
       
       If the first selected layer in the first handled frame image
       has no layermask, this function will terminate with an
       appropriate error message.
       
       If the filter shall be applied with varying values, it is also
       required that the first selected layer of the last handled
       frame image has a layermask.
       
       If the selected layer(s) of the frame images of the selected frame range
       between first and last handled frame have no layermask, the filter 
       processing is skipped on those layers, but processing will continue.


    It is a good idea to use the same layerstack structure in all
    your frames. Another hint is that you assign useful names to
    your layers. that should be done consequent for all frames.
    
    Example 1 (useful Layerstack structure/names)
    
    
                    film_000001.xcf    film_000002.xcf  ....  film_000010.xcf       
    ---------------------------------------------------------------------
    
    layerstack [0]  mouse_01         mouse_02              mouse_10
    layerstack [1]  cat_01           cat_02                cat_10
    layerstack [2]  tree_01          tree_02               tree_10
    layerstack [3]  background       background            background
    

    
    Example 2 (not recommended)
    
    
                    film_000001.xcf    film_000002.xcf  ....  film_000010.xcf       
    ---------------------------------------------------------------------
    
    layerstack [0]  tree             layer                 mouse_10
    layerstack [1]  bg               layer                 cat_10
    layerstack [2]                   layer                 background 
    layerstack [3]                   background                       
