mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 03:52:33 +00:00
GAP updates
--Sven
This commit is contained in:
parent
9d30e3594b
commit
a9ce554f5a
|
@ -1,3 +1,12 @@
|
|||
Tue Nov 16 11:16:41 MET 1999 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/gap/README
|
||||
* plug-ins/gap/gap_filter_iterators.c
|
||||
* plug-ins/gap/gap_main.c
|
||||
* plug-ins/gap/iter_ALT/mod/plug_in_nova_iter_ALT.inc
|
||||
* plug-ins/gap/iter_ALT/old/plug_in_warp_iter_ALT.inc: applied a patch
|
||||
from Wolfgang Hofer <hof@hotbot.com> with updates to the GAP
|
||||
|
||||
1999-11-15 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* app/gimpcontext.c (gimp_context_copy_background): Fix copy&paste
|
||||
|
|
|
@ -263,14 +263,14 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
Save your Image as XCF file. (File->Save as)
|
||||
use a Name that ends up in _0001.xcf (or _0001.xcfgz)
|
||||
|
||||
Then duplicate your image (AnimFrames->Duplicate)
|
||||
Then duplicate your image (Video->Duplicate)
|
||||
You'll be asked how much Copies you need.
|
||||
(Note: all copies are stored on disk immediate
|
||||
without explicite save)
|
||||
|
||||
- from an existing (layeranimated) multilayer image
|
||||
use
|
||||
AnimFrames->Split Img to frames
|
||||
Video->Split Img to frames
|
||||
|
||||
This will create Frames, a series of Images on disk,
|
||||
with a Name that ends up in _0001.xcf).
|
||||
|
@ -294,18 +294,18 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
walk through the frames.
|
||||
Here are my settings (excerpt from my $HOME/.gimp/menurc )
|
||||
|
||||
(menu-path "<Image>/AnimFrames/Goto First" "<control><alt>1")
|
||||
(menu-path "<Image>/AnimFrames/Goto Prev" "<alt>1")
|
||||
(menu-path "<Image>/AnimFrames/Goto Next" "<alt>2")
|
||||
(menu-path "<Image>/AnimFrames/Goto Any" "<alt>3")
|
||||
(menu-path "<Image>/AnimFrames/Goto Last" "<control><alt>2")
|
||||
(menu-path "<Image>/Video/Goto First" "<control><alt>1")
|
||||
(menu-path "<Image>/Video/Goto Prev" "<alt>1")
|
||||
(menu-path "<Image>/Video/Goto Next" "<alt>2")
|
||||
(menu-path "<Image>/Video/Goto Any" "<alt>3")
|
||||
(menu-path "<Image>/Video/Goto Last" "<control><alt>2")
|
||||
|
||||
|
||||
- Playback
|
||||
playbak of multilayered image is not available.
|
||||
(it would be very slow)
|
||||
But you can convert your frames to one Multilayer Image
|
||||
(AnimFrames->Frames to Image)
|
||||
(Video->Frames to Image)
|
||||
And then playback the newly created Image
|
||||
(Filters->Animation->Playback)
|
||||
|
||||
|
@ -326,7 +326,7 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
|
||||
|
||||
Invoke this Plugin from one of the frames:
|
||||
(Menu: AnimFrames->Move Path)
|
||||
(Menu: Video->Move Path)
|
||||
|
||||
The selected Layer(s) of the Source Image
|
||||
is (are) copied into the selected range of frames.
|
||||
|
@ -407,7 +407,7 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
- Convert frames to one multilayered Image.
|
||||
This can be done with
|
||||
|
||||
(AnimFrames->Frames to Image)
|
||||
(Video->Frames to Image)
|
||||
|
||||
The selected Source Range of Frames is copied into one
|
||||
new created multilayered destination Image.
|
||||
|
@ -598,21 +598,21 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
|
||||
To Prepare for MPEG encoding:
|
||||
|
||||
- Use 'Frames Convert' from the AnimFrames Menu
|
||||
- Use 'Frames Convert' from the Video Menu
|
||||
to convert your AnimFrames to .ppm
|
||||
(or another Fileformat that can be read directly by
|
||||
your encoder)
|
||||
|
||||
- If you have a Layerstack-Animated Multilayer Image
|
||||
You can use 'Split Img to Frames' from the AnimFrames Menu.
|
||||
You can use 'Split Img to Frames' from the Video Menu.
|
||||
|
||||
- If you are using mpeg_encode and
|
||||
height or width are not multiples of 16:
|
||||
Use 'Frames Scale' or 'Frames Crop' from the AnimFrames Menu
|
||||
Use 'Frames Scale' or 'Frames Crop' from the Video Menu
|
||||
on the newly converted/created AnimFrames.
|
||||
|
||||
- Then use 'Frames MPEG2_encode' or 'Frames MPEG_encode'
|
||||
from the AnimFrames Menu.
|
||||
- Then use 'Encode/MPEG2 (mpeg2encode)' or 'Encode/MPEG1 (mpeg_encode)'
|
||||
from the Video Menu.
|
||||
(Invoked from one of the prepared AnimFrames)
|
||||
|
||||
Both encoders offer a lot of Parameter Settings for the experienced
|
||||
|
@ -635,20 +635,20 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
This can be done if you create a series of empty frames.
|
||||
The Number of frames should be equal to the number of layers
|
||||
in your multilayered image.
|
||||
(File->New, AnimFrames->Duplicate)
|
||||
(File->New, Video->Duplicate)
|
||||
|
||||
Then use the "Move Path" Plugin (AnimFrames->Move Path)
|
||||
Then use the "Move Path" Plugin (Video->Move Path)
|
||||
to copy the layers to all your frames.
|
||||
Use 2 Points with both X=0, Y=0, Opacity=100%, Width=100%, Height=100%,
|
||||
select the 1.st Layer of your multilayer Image as Source,
|
||||
Handle=LeftTop, Mode=Normal, Stepmode=Loop
|
||||
|
||||
Finally you can delete the (empty) backround Layers
|
||||
(AnimFrames->Frames LayerDel) with Layerstack Parameter >= 1
|
||||
(Video->Frames LayerDel) with Layerstack Parameter >= 1
|
||||
|
||||
- Reverse the order of Layers within one multilayer Image
|
||||
Convert one multilayer Image to a series of frames (see above)
|
||||
then select AnimFrames->FramesToImage and use an invers Range
|
||||
then select Video->FramesToImage and use an invers Range
|
||||
from N to 1.
|
||||
|
||||
- Convert multiple frames from one Fileformat to another:
|
||||
|
@ -656,7 +656,7 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
(Example: img_0001.tif, img_0003.tif img_0004.tif)
|
||||
|
||||
then load the 1.st image into the gimp (File->Load)
|
||||
and select (AnimFrames->Frames Convert)
|
||||
and select (Video->Frames Convert)
|
||||
In the following dialog window you can select
|
||||
the desired destination filtype by its typical extension
|
||||
(.jpg, .bmp or so on)
|
||||
|
@ -680,14 +680,14 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
|
||||
- NO UNDO
|
||||
There is no Undo for the AnimFrame Plugins.
|
||||
Note: If you step to the next frame (AnimFrames->Goto Next)
|
||||
Note: If you step to the next frame (Video->Goto Next)
|
||||
the current frame is saved to disk and the next frame
|
||||
is loaded into the image.
|
||||
All Undo steps were cleared at this time.
|
||||
|
||||
Tip: "undo" for Move Path
|
||||
You can Delete the Layers at desired Layerstackposition
|
||||
(0 == on top) by (AnimFrames->Frames LayerDel)
|
||||
(0 == on top) by (Video->Frames LayerDel)
|
||||
So you can remove all the Layers inserted by "Move Path" plugin.
|
||||
|
||||
- About Locks
|
||||
|
@ -710,12 +710,12 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
In this constellation both gap plugins may concurrent
|
||||
in save/load to/from the same file.
|
||||
Example:
|
||||
call from "img_0001.xcf" AnimFrames->Delete Frames (range 0001 to 0003)
|
||||
call from "img_0001.xcf" Video->Delete Frames (range 0001 to 0003)
|
||||
now img_0004.xcf is renamed to img_0001.xcf
|
||||
img_0005.xcf is renamed to img_0002.xcf
|
||||
|
||||
then
|
||||
call from "img_0002.xcf" AnimFrames->Goto First
|
||||
call from "img_0002.xcf" Video->Goto First
|
||||
the img_0002.xcf (its old content) is saved,
|
||||
overwiting wht was img_0004.xcf before.
|
||||
If you make the 2nd call while the 1st one is in progress,
|
||||
|
@ -725,7 +725,7 @@ WebTip: My GIMP-page http://pages.hotbot.com/arts/hof/index.html
|
|||
- Animated calls of Plug-In Filters:
|
||||
|
||||
First of all, you need a multilayered Image.
|
||||
You can use "<Image>->AnimFrames->Frames to Image"
|
||||
You can use "<Image>->Video->Frames to Image"
|
||||
to create one from a series of Frames,
|
||||
or Duplicate the backround Layer of a single Layered Image
|
||||
(Press Ctrl-C within the layers_dialog Window N-times)
|
||||
|
@ -848,62 +848,62 @@ plugin's included in release gap 0.99.00:
|
|||
|
||||
plug_in_gap_next
|
||||
"This plugin exchanges current image with (next nubered) image from disk.",
|
||||
"<Image>/AnimFrames/Goto Next",
|
||||
"<Image>/Video/Goto Next",
|
||||
|
||||
plug_in_gap_prev
|
||||
"This plugin exchanges current image with (previous nubered) image from disk.",
|
||||
"<Image>/AnimFrames/Goto Prev",
|
||||
"<Image>/Video/Goto Prev",
|
||||
|
||||
plug_in_gap_first
|
||||
"This plugin exchanges current image with (lowest nubered) image from disk.",
|
||||
"<Image>/AnimFrames/Goto First",
|
||||
"<Image>/Video/Goto First",
|
||||
|
||||
plug_in_gap_last
|
||||
"This plugin exchanges current image with (highest nubered) image from disk.",
|
||||
"<Image>/AnimFrames/Goto Last",
|
||||
"<Image>/Video/Goto Last",
|
||||
|
||||
plug_in_gap_goto
|
||||
"This plugin exchanges current image with requested image (nr) from disk.",
|
||||
"<Image>/AnimFrames/Goto Any",
|
||||
"<Image>/Video/Goto Any",
|
||||
|
||||
plug_in_gap_del
|
||||
"This plugin deltes the given number of frames from disk
|
||||
including the current frame.",
|
||||
"<Image>/AnimFrames/Delete Frames",
|
||||
"<Image>/Video/Delete Frames",
|
||||
|
||||
plug_in_gap_dup
|
||||
"This plugin duplicates the current frames on disk n-times.",
|
||||
"<Image>/AnimFrames/Duplicate Frames",
|
||||
"<Image>/Video/Duplicate Frames",
|
||||
|
||||
plug_in_gap_exchg
|
||||
"This plugin exchanges content of the current with destination frame.",
|
||||
"<Image>/AnimFrames/Exchange Frame",
|
||||
"<Image>/Video/Exchange Frame",
|
||||
|
||||
|
||||
plug_in_gap_move
|
||||
"This plugin copies layer(s) from one sourceimage to multiple frames on disk,
|
||||
varying position, size and opacity.",
|
||||
"<Image>/AnimFrames/Move Path",
|
||||
"<Image>/Video/Move Path",
|
||||
|
||||
plug_in_gap_range_to_multilayer
|
||||
"This plugin creates a new image from the given range of frame-images.
|
||||
Each frame is converted to one layer in the new image, according to flatten_mode.
|
||||
(the frames on disk are not changed).",
|
||||
"<Image>/AnimFrames/Frames to Image",
|
||||
"<Image>/Video/Frames to Image",
|
||||
|
||||
plug_in_gap_range_flatten
|
||||
"This plugin flattens the given range of frame-images (on disk)",
|
||||
"<Image>/AnimFrames/Frames Flatten",
|
||||
"<Image>/Video/Frames Flatten",
|
||||
|
||||
plug_in_gap_range_layer_del
|
||||
"This plugin deletes one layer in the given range of frame-images (on disk).
|
||||
exception: the last remaining layer of a frame is not deleted",
|
||||
"<Image>/AnimFrames/Frames LayerDel",
|
||||
"<Image>/Video/Frames LayerDel",
|
||||
|
||||
plug_in_gap_range_convert
|
||||
"This plugin converts the given range of frame-images to other fileformats
|
||||
(on disk) depending on extension",
|
||||
"<Image>/AnimFrames/Frames Convert",
|
||||
"<Image>/Video/Frames Convert",
|
||||
|
||||
plug_in_gap_layers_run_animfilter
|
||||
"This plugin calls another plugin for each layer of an image,
|
||||
|
@ -915,12 +915,12 @@ plugin's included in release gap 0.99.00:
|
|||
plug_in_gap_anim_resize
|
||||
"This plugin resizes all anim_frames (images on disk)
|
||||
to the given new_width/new_height",
|
||||
"<Image>/AnimFrames/Frames Resize",
|
||||
"<Image>/Video/Frames Resize",
|
||||
|
||||
plug_in_gap_anim_crop
|
||||
"This plugin crops all anim_frames (images on disk)
|
||||
to the given new_width/new_height",
|
||||
"<Image>/AnimFrames/Frames Crop",
|
||||
"<Image>/Video/Frames Crop",
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_resize, nreturn_vals,
|
||||
|
@ -929,35 +929,35 @@ plugin's included in release gap 0.99.00:
|
|||
plug_in_gap_anim_scale
|
||||
"This plugin scales all anim_frames (images on disk)
|
||||
to the given new_width/new_height",
|
||||
"<Image>/AnimFrames/Frames Scale",
|
||||
"<Image>/Video/Frames Scale",
|
||||
|
||||
plug_in_gap_split
|
||||
"This plugin splits the current image to anim frames (images on disk).
|
||||
Each layer is saved as one frame",
|
||||
"<Image>/AnimFrames/Split Img to Frames",
|
||||
"<Image>/Video/Split Img to Frames",
|
||||
|
||||
plug_in_gap_mpeg_encode
|
||||
"This plugin calls mpeg_encode to convert anim frames to MPEG1,
|
||||
or just generates a param file for mpeg_encode.
|
||||
(mpeg_encode must be installed on your system)",
|
||||
"<Image>/AnimFrames/Frames MPEG_encode",
|
||||
"<Image>/Video/Encode/MPEG1 (mpeg_encode)",
|
||||
|
||||
plug_in_gap_mpeg2encode
|
||||
"This plugin calls mpeg2encode to convert anim frames to MPEG1 or MPEG2,
|
||||
or just generates a param file for mpeg2encode.
|
||||
(mpeg2encode must be installed on your system)",
|
||||
"<Image>/AnimFrames/Frames MPEG2_encode",
|
||||
"<Image>/Video/Encode/MPEG2 (mpeg2encode)",
|
||||
|
||||
plug_in_gap_shift
|
||||
"This plugin Exchanges frames numbers in the given range.
|
||||
(discfile frame_0001.xcf is renamed to frame_0002.xcf,
|
||||
2->3, 3->4 ... n->1)",
|
||||
"<Image>/AnimFrames/Framesequence Shift",
|
||||
"<Image>/Video/Framesequence Shift",
|
||||
|
||||
plug_in_gap_modify
|
||||
"This plugin performs a modifying action on each selected layer
|
||||
in each selected framerange"
|
||||
<Image>/AnimFrames/Frames Modify
|
||||
<Image>/Video/Frames Modify
|
||||
|
||||
script-fu-selection-to-anim-image
|
||||
"Create a multilayer image from current selection and
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
*/
|
||||
|
||||
/* Change Log:
|
||||
* 1999.11.16 hof: added p_delta_gintdrawable
|
||||
* 1999.06.21 hof: removed Colorify iterator
|
||||
* 1999.03.14 hof: added iterators for gimp 1.1.3 prerelease
|
||||
* iterator code reorganized in _iter_ALT.inc Files
|
||||
|
@ -279,6 +280,16 @@ static void p_delta_drawable(gint32 *val, gint32 val_from, gint32 val_to, gint32
|
|||
g_free (l_layers_list);
|
||||
}
|
||||
}
|
||||
static void
|
||||
p_delta_gintdrawable(gint *val, gint val_from, gint val_to, gint32 total_steps, gdouble current_step)
|
||||
{
|
||||
gint32 l_val, l_from, l_to;
|
||||
l_val = *val;
|
||||
l_from = val_from;
|
||||
l_to = val_to;
|
||||
p_delta_drawable(&l_val, l_from, l_to, total_steps, current_step);
|
||||
*val = l_val;
|
||||
}
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* This Module contains:
|
||||
* - MAIN of all GAP_Plugins
|
||||
* - query registration of GAP Procedures (AnimFrames Menu) in the PDB
|
||||
* - query registration of GAP Procedures (Video Menu) in the PDB
|
||||
* - run invoke the selected GAP procedure by its PDB name
|
||||
*
|
||||
*
|
||||
|
@ -38,9 +38,10 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
static char *gap_main_version = "1.1.10a; 1999/10/23";
|
||||
static char *gap_main_version = "1.1.11a; 1999/11/16";
|
||||
|
||||
/* revision history:
|
||||
* gimp 1.1.11a; 1999/11/15 hof: changed Menunames (AnimFrames to Video, Submenu Encode)
|
||||
* gimp 1.1.10a; 1999/10/22 hof: extended dither options for gap_range_convert
|
||||
* gimp 1.1.8a; 1999/08/31 hof: updated main version
|
||||
* version 0.99.00; 1999/03/17 hof: updated main version
|
||||
|
@ -346,7 +347,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Goto Next"),
|
||||
_("<Image>/Video/Goto Next"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_std, nreturn_vals,
|
||||
|
@ -358,7 +359,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Goto Prev"),
|
||||
_("<Image>/Video/Goto Prev"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_std, nreturn_vals,
|
||||
|
@ -370,7 +371,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Goto First"),
|
||||
_("<Image>/Video/Goto First"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_std, nreturn_vals,
|
||||
|
@ -382,7 +383,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Goto Last"),
|
||||
_("<Image>/Video/Goto Last"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_std, nreturn_vals,
|
||||
|
@ -394,7 +395,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Goto Any"),
|
||||
_("<Image>/Video/Goto Any"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_goto, nreturn_vals,
|
||||
|
@ -406,7 +407,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Delete Frames"),
|
||||
_("<Image>/Video/Delete Frames"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_del, nreturn_vals,
|
||||
|
@ -418,7 +419,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Duplicate Frames"),
|
||||
_("<Image>/Video/Duplicate Frames"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_dup, nreturn_vals,
|
||||
|
@ -430,7 +431,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Exchange Frame"),
|
||||
_("<Image>/Video/Exchange Frame"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_exchg, nreturn_vals,
|
||||
|
@ -442,7 +443,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Move Path"),
|
||||
_("<Image>/Video/Move Path"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_mov, nreturn_vals,
|
||||
|
@ -454,7 +455,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames to Image"),
|
||||
_("<Image>/Video/Frames to Image"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_f2multi, nreturn_f2multi,
|
||||
|
@ -466,7 +467,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Flatten"),
|
||||
_("<Image>/Video/Frames Flatten"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_rflatt, nreturn_vals,
|
||||
|
@ -478,7 +479,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames LayerDel"),
|
||||
_("<Image>/Video/Frames LayerDel"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_rlayerdel, nreturn_vals,
|
||||
|
@ -502,7 +503,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Convert"),
|
||||
_("<Image>/Video/Frames Convert"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_rconv2, nreturn_vals,
|
||||
|
@ -514,7 +515,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Resize"),
|
||||
_("<Image>/Video/Frames Resize"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_resize, nreturn_vals,
|
||||
|
@ -526,7 +527,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Crop"),
|
||||
_("<Image>/Video/Frames Crop"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_resize, nreturn_vals,
|
||||
|
@ -538,7 +539,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Scale"),
|
||||
_("<Image>/Video/Frames Scale"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_scale, nreturn_vals,
|
||||
|
@ -550,7 +551,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Split Img to Frames"),
|
||||
_("<Image>/Video/Split Img to Frames"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_split, nreturn_split,
|
||||
|
@ -562,7 +563,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames MPEG1 encode"),
|
||||
_("<Image>/Video/Encode/MPEG1"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_mpege, nreturn_vals,
|
||||
|
@ -575,7 +576,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames MPEG2 encode"),
|
||||
_("<Image>/Video/Encode/MPEG2 mpeg2encode)"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_mpege, nreturn_vals,
|
||||
|
@ -588,7 +589,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Framesequence Shift"),
|
||||
_("<Image>/Video/Framesequence Shift"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_shift, nreturn_vals,
|
||||
|
@ -600,7 +601,7 @@ query ()
|
|||
"Wolfgang Hofer (hof@hotbot.com)",
|
||||
"Wolfgang Hofer",
|
||||
gap_main_version,
|
||||
_("<Image>/AnimFrames/Frames Modify"),
|
||||
_("<Image>/Video/Frames Modify"),
|
||||
"RGB*, INDEXED*, GRAY*",
|
||||
PROC_PLUG_IN,
|
||||
nargs_modify, nreturn_vals,
|
||||
|
|
|
@ -11,6 +11,7 @@ gint p_plug_in_nova_iter_ALT(GRunModeType run_mode, gint32 total_steps, gdouble
|
|||
t_gint_color color;
|
||||
gint radius;
|
||||
gint nspoke;
|
||||
gint randomhue;
|
||||
} t_plug_in_nova_Vals;
|
||||
|
||||
t_plug_in_nova_Vals buf, *buf_from, *buf_to;
|
||||
|
@ -34,6 +35,7 @@ gint p_plug_in_nova_iter_ALT(GRunModeType run_mode, gint32 total_steps, gdouble
|
|||
p_delta_gint_color(&buf.color, &buf_from->color, &buf_to->color, total_steps, current_step);
|
||||
p_delta_gint(&buf.radius, buf_from->radius, buf_to->radius, total_steps, current_step);
|
||||
p_delta_gint(&buf.nspoke, buf_from->nspoke, buf_to->nspoke, total_steps, current_step);
|
||||
p_delta_gint(&buf.randomhue, buf_from->randomhue, buf_to->randomhue, total_steps, current_step);
|
||||
|
||||
gimp_set_data("plug_in_nova", &buf, sizeof(buf));
|
||||
|
||||
|
|
|
@ -6,14 +6,22 @@ gint p_plug_in_warp_iter_ALT(GRunModeType run_mode, gint32 total_steps, gdouble
|
|||
{
|
||||
typedef struct t_plug_in_warp_Vals
|
||||
{
|
||||
gdouble amount;
|
||||
gdouble angle;
|
||||
gdouble iter;
|
||||
gdouble dither;
|
||||
gint warp_map;
|
||||
gint wrap_type;
|
||||
gint mag_map;
|
||||
gint mag_option;
|
||||
gdouble amount;
|
||||
gint warp_map;
|
||||
gint iter;
|
||||
gdouble dither;
|
||||
gdouble angle;
|
||||
gint wrap_type;
|
||||
gint mag_map;
|
||||
gint mag_use;
|
||||
gint substeps;
|
||||
gint grad_map;
|
||||
gdouble grad_scale;
|
||||
gint vector_map;
|
||||
gdouble vector_scale;
|
||||
gdouble vector_angle;
|
||||
|
||||
|
||||
} t_plug_in_warp_Vals;
|
||||
|
||||
t_plug_in_warp_Vals buf, *buf_from, *buf_to;
|
||||
|
@ -33,12 +41,22 @@ gint p_plug_in_warp_iter_ALT(GRunModeType run_mode, gint32 total_steps, gdouble
|
|||
memcpy(&buf, buf_from, sizeof(buf));
|
||||
|
||||
p_delta_gdouble(&buf.amount, buf_from->amount, buf_to->amount, total_steps, current_step);
|
||||
p_delta_gdouble(&buf.angle, buf_from->angle, buf_to->angle, total_steps, current_step);
|
||||
p_delta_gdouble(&buf.iter, buf_from->iter, buf_to->iter, total_steps, current_step);
|
||||
p_delta_gintdrawable(&buf.warp_map, buf_from->warp_map, buf_to->warp_map, total_steps, current_step);
|
||||
p_delta_gint(&buf.iter, buf_from->iter, buf_to->iter, total_steps, current_step);
|
||||
p_delta_gdouble(&buf.dither, buf_from->dither, buf_to->dither, total_steps, current_step);
|
||||
p_delta_gdouble(&buf.angle, buf_from->angle, buf_to->angle, total_steps, current_step);
|
||||
p_delta_gint(&buf.wrap_type, buf_from->wrap_type, buf_to->wrap_type, total_steps, current_step);
|
||||
p_delta_gint(&buf.mag_option, buf_from->mag_option, buf_to->mag_option, total_steps, current_step);
|
||||
p_delta_gintdrawable(&buf.mag_map, buf_from->mag_map, buf_to->mag_map, total_steps, current_step);
|
||||
p_delta_gint(&buf.mag_use, buf_from->mag_use, buf_to->mag_use, total_steps, current_step);
|
||||
p_delta_gint(&buf.substeps, buf_from->substeps, buf_to->substeps, total_steps, current_step);
|
||||
p_delta_gintdrawable(&buf.grad_map, buf_from->grad_map, buf_to->grad_map, total_steps, current_step);
|
||||
|
||||
p_delta_gdouble(&buf.grad_scale, buf_from->grad_scale, buf_to->grad_scale, total_steps, current_step);
|
||||
p_delta_gintdrawable(&buf.vector_map, buf_from->vector_map, buf_to->vector_map, total_steps, current_step);
|
||||
|
||||
p_delta_gdouble(&buf.vector_scale, buf_from->vector_scale, buf_to->vector_scale, total_steps, current_step);
|
||||
p_delta_gdouble(&buf.vector_angle, buf_from->vector_angle, buf_to->vector_angle, total_steps, current_step);
|
||||
|
||||
gimp_set_data("plug_in_warp", &buf, sizeof(buf));
|
||||
|
||||
return 0; /* OK */
|
||||
|
|
Loading…
Reference in a new issue