Commit c204d071 authored by Sven Neumann's avatar Sven Neumann

Added a gap-2-2 branch and applied changes from Wolfgang Hofer to the HEAD branch.

parent 550b6ea9
2006-07-12 Wolfgang Hofer <hof@gimp.org>
- flip transformation support is now also available for mask definitions.
- attempts to open an binary file for storyboard parsing
now limits the erros printed to standard out to printable
characters and stops logging to stdout if too much unprintables are detected.
(in case of accidently specified binary files the log output
of the parser can take much time and the full content is not from any interest)
(2006-07-03)
refactoring. (mask_elem is now part of stb_elem, mask definitions
are represented as track number 0 at editing (not in the render processor)
*gap/gap_story_file.c
*gap/gap_story_file.h
*gap/gap_story_main.h
*gap/gap_story_properties.c
*gap/gap_story_render_processor.c
*gap/gap_story_render_types.h
(2006-06-30)
player support to playback composite video
added playback button to storyboard transition attributes dialog
to visualize the transition effect.
This button triggers playback of composite video resticted
to the relevant track and range concerning the transition effect.
*gap/gap_story_att_trans_dlg.c
*gap/gap_story_dialog.c [.h]
*gap/gap_story_file.c [.h]
(2006-06-28)
refactoring: player_dialog spliited p_display_frame into
several subroutines.
refactoring: storyboard rendering is required
for the player (to provide rendering of composite video)
therefore moved functionality to new gap/story_* modules
and make them part of libgapstory.a
to prepare common use in player, storyboard dialog and encoders.
libgapstory.a now contains all modules of libgimpgap.a
(libgapstory uses those modules and each program had to include
both libs in correct order before this change)
* gap/Makefile.am
* vid_common/Makefile.am
* vid_enc_avi/Makefile.am
* vid_enc_ffmpeg/Makefile.am
* vid_enc_single/Makefile.am
* gap/gap_libgapstory.h
* gap/gap_lib_common_defs.h
* gap/gap_story_render_audio.c [.h] # NEW FILES
* gap/gap_story_render_processor.c [.h] # NEW FILES
* gap/gap_story_render_types.h # NEW FILES
* gap/gap_story_sox.c [.h] # NEW FILES
* gap/gap_player_dialog.c [.h]
* libgapvidutil/gap_gvetypes.h
* libgapvidutil/gap_gve_sox.c [.h]
* vid_common/gap_cme_gui.c
(2006-06-24)
- storyboard dialog shows correct framenumbers respecting overlapping.
- player now skips overlapping parts when storboard is played.
* gap/gap_story_*.c [.h]
* gap/gap_player_main.c [.h]
* gap/gap_player_dialog.c [.h]
(2006-06-19)
- rendering support of built in simple flip transformations in the pview
widget, and in all storyboard dialogs (including the player)
- bugfix: edit storyboard master properties must set unsaved changes flag.
* gap/Makefile.am
* gap/gap_lib_common_defs.h # NEW file created
* gap/gap_lib.h
* gap/gap_layer_copy.c [.h]
* gap/gap_player_main.c [.h]
* gap/gap_player_cache.c [.h]
* gap/gap_player_dialog.c [.h]
* gap/gap_pview_da.c.[.h]
* gap/gap_story_att_trans_dlg.c
* gap/gap_story_dialog.c
* gap/gap_story_properties.c
* gap/gap_vex_dialog.c
* libgapvidutil/gap_gve_story.c
(2006-06-18)
- Syntax definition, parsing, and saving for the new storyboard features
VID_* clips support built in transformations flip hor/ver/both,
and are able to refere to layer mask definitions.
MASK_* definition records to describe layer mask frames
VID_OVERLAP (is a new part of transition attribute,
allows overlap frames within the same track.)
- Storyboard processor implementation of overlap and flip features.
- Storyboard clip properties dialog: added radio buttons for
built in transformations (flip hor,ver and rotate by 180 degree)
- Storyboard clip properties dialog: added radio buttons for
built in transformations (flip hor,ver and rotate by 180 degree)
- Storyboard transition attributes dialog: added spinbutton
for overlapping number of frames within the same track,
and extended rendering of the preview by adding a prefetch
layer to the preview images in case overlapping is active.
* libgapvidutil/gap_gve_story.c [.h]
* gap/gap_story_properties.c
* gap/gap_story_main.h
* gap/gap_story_att_trans_dlg.c
(2006-06-14)
- added text docfiles to EXTRA_DIST makefile target
plug-in-gap-reverse.txt
plug-in-gap-storyboard-attr-prop.txt
- merged in changes from 2.2.1 release (mainline)
to my local new-feature-branch
* docs/reference/txt/Makefile.am
(2006-06-03)
Player layout changes:
- configure option to hide/show go button array and position scale
- use icons for the buttons to have more space for the frame preview
moved buttons right next the corresponding spinbuttons
(for shorter mouse move distances)
- shorter texts for checkbuttons
- time position (mm:sec:msec)
is shown next to the position scale widget in the same row
- use col/row spacing for layout of the player control widget table
(instead of hseperators)
Storyboard layout changes:
- Stock Buttons reduced in width (now showing only the icon)
this allows showing the full set both for the cliplist and the storyboard.
- progress bar is displayed right next to the stock buttons
(no more need to waste space for an extra layout row)
- use persitent Global storyboard settings via
automatically query/save settings as gimprc options.
- storyboard file format extension:
new (optional) record keyword: VID_MASTER_FRAME_ASPECT
implemented support for video frame aspect in the storyboard
dialog.
TODO: use the aspect in the encoder(s) too
(if video format is capable to handle aspect ratio)
currently the aspect is available in the ffmpeg specific encoder
but only via ffmpeg parameter settings and no connection
to get the aspect from the storyboard.
* images/Makefile.am
* images/gap-range-end.png
* images/gap-range-start.png
* images/gap-set-range-end.png
* images/gap-set-range-start.png
* images/gap-speed.png
* gap/gap_stock.c
* gap/gap_stock.h
* gap/gap_story_dialog.c
* gap/gap_story_syntax.h
* gap/gap_story_syntax.c
* gap/gap_story_file.c
* gap/gap_story_file.h
* docs/reference/txt/STORYBOARD_FILE_DOC.txt
* docs/reference/txt/gap_gimprc_params.txt
* NEWS
(2006-05-31)
- basic implementation of player cache feature.
The player does now support a frame cache for any type of frames.
frames are cached at current preview size of the player.
(caching of frames at original size read from videofiles in the video API
is still supported too)
if the same sequence is played more than one time (loop mode)
it is now possible to do fast playback in best possible
display quality. (without using thumbnails).
* gap/Makefile.am
* gap/gap_player_dialog.c
* gap/gap_player_main.c
* gap/gap_player_main.h
2006-06-09 Sven Neumann <sven@gimp.org>
* Made 2.2.1 release.
......
Here is a short overview whats new in GIMP-GAP-2.3.0:
-----------------------------------------------------
(compared to gimp-gap release 2.2.1)
- Player support to playback storyboard composite video.
The rendering respects all tracks and effects of storyboard
processing and gives an exact preview of the final results.
This feature is triggered via Storyboard Play button
pressed with CRTL-Key button held down.
- Player cache with configurable size (via gimprc and Player dialog)
- Player layout
- using icons for the buttons
(that are now smaller and allow more space for the video frame)
- go buttons and position scale are configurable
(via gimprc and Player dialog)
- Storyboard supports overlapping frames within one single track.
this makes it easy to create any transitions effects between 2 scenes
without the need of having multiple video tracks.
- Storyboard supports layer mask (and mask sequences)
that can be applied to any type of videoclip to control
transparency for the masked parts in all the frames of the videoclip.
Mask sequences can be used to make custom transitions effects
- Storyboard dialog supports editing multiple tracks,
where track 0 is used to define layermasks.
The layermask definitions can be applied to any
clip (by drag & drop onto a clip properties dialog window)
- Storyboard support for frame aspect (4:3 or 16:9)
Thumbnails in the Storyboard dialog are now displayed respecting
the aspect to reflect the correct video frame proportion
that may differ from the pixelsize.
- Storyboard clip properties now support built in transitions
to flip horizontally, vertically and rotate by 180 degree.
- Storyboard Layout
- Global Storyboard Layout settings are now saved (in gimprc)
and restored in further sessions.
Here is a short overview whats new in GIMP-GAP-2.2.1:
-----------------------------------------------------
(compared to gimp-gap release 2.2.0)
......
This is a release version 2.2.1 of the GIMP Video menu.
This is an unstable developers version 2.3.0 of the GIMP Video menu.
The GIMP-GAP (GIMP Animation Package) is a collection of Plug-Ins
to extend the GIMP with capabilities to edit and create
......
......@@ -5,11 +5,11 @@ AC_INIT(configure.in)
AM_CONFIG_HEADER(config.h)
GAP_MAJOR_VERSION=2
GAP_MINOR_VERSION=2
GAP_MICRO_VERSION=1
GAP_MINOR_VERSION=3
GAP_MICRO_VERSION=0
GAP_VERSION=$GAP_MAJOR_VERSION.$GAP_MINOR_VERSION.$GAP_MICRO_VERSION
VERSION=$GAP_VERSION
GAP_VERSION_WITH_DATE="$GAP_VERSION; 2006/05/01"
GAP_VERSION_WITH_DATE="$GAP_VERSION; 2006/07/12"
AC_SUBST(GAP_MAJOR_VERSION)
AC_SUBST(GAP_MINOR_VERSION)
......
......@@ -29,8 +29,10 @@ EXTRA_DIST = \
plug-in-gap-range-layer-del.txt \
plug-in-gap-range-to-multilayer.txt \
plug-in-gap-renumber.txt \
plug-in-gap-reverse.txt \
plug-in-gap-shift.txt \
plug-in-gap-split.txt \
plug-in-gap-storyboard-attr-prop.txt \
plug-in-gap-storyboard-clip-prop.txt \
plug-in-gap-storyboard-edit.txt \
plug-in-gap-storyboard-gen-otone.txt \
......
......@@ -67,9 +67,10 @@ Overview of supported RECORD TYPES:
STORYBOARDFILE version:1.0 # comments
VID_MASTER_FRAMERATE frames_per_sec:24.0
VID_MASTER_SIZE width:320 height:200
VID_PREFERRED_DECODER libavformat
VID_MASTER_FRAMERATE frames_per_sec:24.0
VID_MASTER_FRAME_ASPECT width:16 height:9
VID_MASTER_SIZE width:320 height:200
VID_PREFERRED_DECODER libavformat
AUD_MASTER_VOLUME volume:1.0
AUD_MASTER_SAMPLERATE samples_per_sec:44100
......@@ -138,6 +139,24 @@ STORYBOARDFILE
(1) Record Key ... STORYBOARDFILE
(2) version ... version string (1.0 for the current implementation)
VID_MASTER_FRAME_ASPECT
Specifies the relation of width / height for playback of the resulting
video output. This may result in automatical scaling to the specified
aspect on playback.
If nothing is specified, or one of the values width or height is 0,
then playback will be done at the aspect derived from the original
pixelsize.
You can encode a video at 720 x 576 pixels, but specifiy aspect
16:9
Note: not all video encoders do support aspect settings.
(1) Record Key ... VID_MASTER_FRAME_ASPECT
(2) width ... the width aspect
(0: derive aspect from original pixelsize)
(3) height ... the height aspect
(0: derive aspect from original pixelsize)
VID_PREFERRED_DECODER
(1) Record Key ... VID_PREFERRED_DECODER
(2) decoder ... Name of the preferred Videodecoder
......
......@@ -43,6 +43,30 @@ If you edit gimprc files by hand, you must do this before you startup GIMP.
(video-max-frames-keep-cached 500)
# the gap player supports caching of frames
# (both image sequences or frames fetched from videofiles)
# to achieve fast playback speed when playback
# is repeated in loops or pingpong mode.
# a cache size of 0 turns caching OFF.
# the cache size can be set in kilobytes (K) or megaytes (M)
(video_playback_cache "100M")
# the gap player has several widgets to set the
# position (e.g. the currently displayed framenumber)
#
# - the "Go Buttons" are an array of buttons that allow
# positioning by simply moving the mouse over the buttons.
# in some situations this may be annoying to some users
# therefore this optional way of positioning can be turned
# on/off
# via the gimprc option video_player_show_go_buttons "yes" or "no"
# (default is "yes")
# - the position scale widget can be turned on/off
# via the gimprc option video_player_show_position_scale "yes" or "no"
# (default is "yes")
(video_player_show_go_buttons "yes")
(video_player_show_position_scale "yes")
# videoindexes are files that store seekoffsets for keyframes
# and enable fast and frame exact random access to frames in a videofile.
......@@ -111,3 +135,22 @@ If you edit gimprc files by hand, you must do this before you startup GIMP.
(video-save-flattened-xjt "no")
(video-save-flattened-gif "no")
# video storyboard layout options
# --------------------------------
# layout options for the storyboard dialog including
# number of rows/column and thumbnail sizes for both
# cliplist (upper) and storyboard (lower) thumbnail area.
#
# thumbnail_size supported values are:
# "large"
# "medium" (default)
# "small"
#
# row and column settings:
(video-storyboard-thumbnail_size "medium")
(video-storyboard-columns "5")
(video-storyboard-rows "6")
(video-cliplist-thumbnail_size "medium")
(video-cliplist-columns "12")
(video-cliplist-rows "2")
......@@ -11,7 +11,7 @@ Playback
and allows visible positioning for the animation designer.
There is NO direct support for playback of videoformats (like MPEG, AVI, ....)
Internally the player can handle access the frames (but no audio) in videofiles
Internally the player can read the frames (but no audio) from videofiles
when invoked from the video extract dialog or from the storyboard dialog.
......
......@@ -25,7 +25,7 @@ LIBGAPSTORY = libgapstory.a
noinst_LIBRARIES = $(LIBGIMPGAP) $(LIBGAPSTORY)
libgimpgap_a_SOURCES = \
BASE_SOURCES = \
gap-intl.h \
gap_arr_dialog.c \
gap_arr_dialog.h \
......@@ -41,6 +41,7 @@ libgimpgap_a_SOURCES = \
gap_layer_copy.h \
gap_lib.c \
gap_lib.h \
gap_lib_common_defs.h \
gap_lock.c \
gap_lock.h \
gap_navi_activtable.c \
......@@ -62,10 +63,20 @@ libgimpgap_a_SOURCES = \
gap_vin.c \
gap_vin.h
libgapstory_a_SOURCES = \
gap_story_file.h \
gap_story_file.c \
gap_story_syntax.h \
libgimpgap_a_SOURCES = $(BASE_SOURCES)
libgapstory_a_SOURCES = $(BASE_SOURCES) \
gap_story_file.h \
gap_story_file.c \
gap_story_render_types.h \
gap_story_render_processor.h \
gap_story_render_processor.c \
gap_story_render_audio.h \
gap_story_render_audio.c \
gap_story_sox.h \
gap_story_sox.c \
gap_story_syntax.h \
gap_story_syntax.c
libexec_PROGRAMS = \
......@@ -198,6 +209,8 @@ gap_player_SOURCES = \
gap_player_main.h \
gap_player_dialog.c \
gap_player_dialog.h \
gap_player_cache.c \
gap_player_cache.h \
gap_libgapstory.h \
gap_libgimpgap.h
......@@ -223,6 +236,8 @@ gap_storyboard_SOURCES = \
gap_player_main.h \
gap_player_dialog.c \
gap_player_dialog.h \
gap_player_cache.c \
gap_player_cache.h \
gap_libgapstory.h \
gap_libgimpgap.h
......@@ -236,6 +251,8 @@ gap_video_extract_SOURCES = \
gap_player_main.h \
gap_player_dialog.c \
gap_player_dialog.h \
gap_player_cache.c \
gap_player_cache.h \
gap_libgapstory.h \
gap_libgimpgap.h
......@@ -293,10 +310,10 @@ gap_frontends_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_morph_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_name2layer_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_navigator_dialog_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_player_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) $(LIBGIMPGAP) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_player_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_onion_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_storyboard_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) $(LIBGIMPGAP) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_video_extract_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) $(LIBGIMPGAP) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_storyboard_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_video_extract_LDADD = $(GAPVIDEOAPI) $(WAVPLAYCLIENT) ${LIBGAPSTORY} $(GIMP_LIBS)
gap_wr_opacity_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_wr_trans_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
gap_wr_color_curve_LDADD = $(LIBGIMPGAP) $(GIMP_LIBS)
......
......@@ -42,6 +42,7 @@
#include "string.h"
/* GIMP includes */
/* GAP includes */
#include "gap_lib_common_defs.h"
#include "gap_layer_copy.h"
#include "gap_pdb_calls.h"
......@@ -542,3 +543,59 @@ gap_layer_clear_to_color(gint32 layer_id
}
} /* end gap_layer_clear_to_color */
/* ----------------------------------------------------
* gap_layer_flip
* ----------------------------------------------------
* flip layer according to flip_request,
* return the id of the flipped layer.
* NOTE: flip_request GAP_STB_FLIP_NONE returns the unchanged layer
*/
gint32
gap_layer_flip(gint32 layer_id, gint32 flip_request)
{
gint32 center_x;
gint32 center_y;
gdouble axis;
switch(flip_request)
{
case GAP_STB_FLIP_HOR:
axis = (gdouble)(gimp_drawable_width(layer_id)) / 2.0;
layer_id = gimp_drawable_transform_flip_simple(layer_id
,GIMP_ORIENTATION_HORIZONTAL
,TRUE /* auto_center */
,axis
,TRUE /* clip_result */
);
break;
case GAP_STB_FLIP_VER:
axis = (gdouble)(gimp_drawable_height(layer_id)) / 2.0;
layer_id = gimp_drawable_transform_flip_simple(layer_id
,GIMP_ORIENTATION_VERTICAL
,TRUE /* auto_center */
,axis
,TRUE /* clip_result */
);
break;
case GAP_STB_FLIP_BOTH:
center_x = gimp_drawable_width(layer_id) / 2;
center_y = gimp_drawable_height(layer_id) / 2;
layer_id = gimp_drawable_transform_rotate_simple(layer_id
,GIMP_ROTATE_180
,TRUE /* auto_center */
,center_x
,center_y
,TRUE /* clip_result */
);
break;
default:
break;
}
return(layer_id);
} /* end gap_layer_flip */
......@@ -71,4 +71,7 @@ void gap_layer_clear_to_color(gint32 layer_id
,gdouble blue
,gdouble alpha
);
gint32 gap_layer_flip(gint32 layer_id, gint32 flip_request);
#endif
......@@ -51,62 +51,8 @@
#define _GAP_LIB_H
#include "libgimp/gimp.h"
#include "gap_lib_common_defs.h"
/* G_DIR_SEPARATOR (is defined in glib.h if you have glib-1.2.0 or later) */
#ifdef G_OS_WIN32
/* Filenames in WIN/DOS Style */
#ifndef G_DIR_SEPARATOR
#define G_DIR_SEPARATOR '\\'
#endif
#define DIR_ROOT ':'
#else /* !G_OS_WIN32 */
/* Filenames in UNIX Style */
#ifndef G_DIR_SEPARATOR
#define G_DIR_SEPARATOR '/'
#endif
#define DIR_ROOT '/'
#endif /* !G_OS_WIN32 */
/* GapLibAinfoType enum values are subset of GapStoryRecordType
* from the sourcefile gap_story_file.h
*/
typedef enum
{
GAP_AINFO_UNUSED_1
,GAP_AINFO_UNUSED_2
,GAP_AINFO_IMAGE
,GAP_AINFO_ANIMIMAGE
,GAP_AINFO_FRAMES
,GAP_AINFO_MOVIE
,GAP_AINFO_UNUSED_3
,GAP_AINFO_UNKNOWN
} GapLibAinfoType;
typedef struct GapAnimInfo {
gint32 image_id;
char *basename; /* may include path */
long frame_nr;
char *extension;
char *new_filename;
char *old_filename;
GimpRunMode run_mode;
long width;
long height;
long frame_cnt;
long curr_frame_nr;
long first_frame_nr;
long last_frame_nr;
GapLibAinfoType ainfo_type;
gint32 seltrack; /* input videotrack (used only for GAP_AINFO_MOVIE) */
gdouble delace; /* deinterlace params (used only for GAP_AINFO_MOVIE) */
gdouble density;
} GapAnimInfo;
/* procedures used in other gap*.c files */
char * gap_lib_shorten_filename(const char *prefix
......@@ -159,13 +105,6 @@ gint32 gap_lib_replace_image(GapAnimInfo *ainfo_ptr);
void gap_lib_fprintf_gdouble(FILE *fp, gdouble value, gint digits, gint precision_digits, const char *pfx);
gint gap_lib_sscan_flt_numbers(gchar *buf, gdouble *farr, gint farr_max);
#define GAP_VID_PASTE_REPLACE 0
#define GAP_VID_PASTE_INSERT_BEFORE 1
#define GAP_VID_PASTE_INSERT_AFTER 2
#define GAP_LIB_MAX_DIGITS 8
#define GAP_LIB_DEFAULT_DIGITS 6
#endif
/* gap_lib_common_defs.h
*
* This module provides common used definitions and types
*
*/
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* revision history:
* version 2.3.0; 2006/04/14 hof: created
*/
#ifndef _GAP_LIB_COMMON_DEFS_H
#define _GAP_LIB_COMMON_DEFS_H
#include "libgimp/gimp.h"
/* G_DIR_SEPARATOR (is defined in glib.h if you have glib-1.2.0 or later) */
#ifdef G_OS_WIN32
/* Filenames in WIN/DOS Style */
#ifndef G_DIR_SEPARATOR
#define G_DIR_SEPARATOR '\\'
#endif
#define DIR_ROOT ':'
#else /* !G_OS_WIN32 */
/* Filenames in UNIX Style */
#ifndef G_DIR_SEPARATOR
#define G_DIR_SEPARATOR '/'
#endif
#define DIR_ROOT '/'
#endif /* !G_OS_WIN32 */
/* GapLibAinfoType enum values are subset of GapStoryRecordType
* from the sourcefile gap_story_file.h
*/
typedef enum
{
GAP_AINFO_UNUSED_1
,GAP_AINFO_UNUSED_2
,GAP_AINFO_IMAGE
,GAP_AINFO_ANIMIMAGE
,GAP_AINFO_FRAMES
,GAP_AINFO_MOVIE
,GAP_AINFO_UNUSED_3
,GAP_AINFO_UNKNOWN
} GapLibAinfoType;
typedef struct GapAnimInfo {
gint32 image_id;
char *basename; /* may include path */
long frame_nr;
char *extension;
char *new_filename;
char *old_filename;
GimpRunMode run_mode;
long width;
long height;
long frame_cnt;
long curr_frame_nr;
long first_frame_nr;
long last_frame_nr;
GapLibAinfoType ainfo_type;
gint32 seltrack; /* input videotrack (used only for GAP_AINFO_MOVIE) */
gdouble delace; /* deinterlace params (used only for GAP_AINFO_MOVIE) */
gdouble density;
} GapAnimInfo;
/* flip_request bits */
#define GAP_STB_FLIP_NONE 0
#define GAP_STB_FLIP_HOR 1
#define GAP_STB_FLIP_VER 2
#define GAP_STB_FLIP_BOTH 3
#define GAP_VID_PASTE_REPLACE 0
#define GAP_VID_PASTE_INSERT_BEFORE 1
#define GAP_VID_PASTE_INSERT_AFTER 2
#define GAP_LIB_MAX_DIGITS 8
#define GAP_LIB_DEFAULT_DIGITS 6
typedef enum
{
GAP_RNGTYPE_FRAMES
,GAP_RNGTYPE_LAYER
,GAP_RNGTYPE_STORYBOARD
,GAP_RNGTYPE_IMAGE
,GAP_RNGTYPE_MOVIE
} GapLibTypeInputRange;
#endif
......@@ -37,6 +37,8 @@
#include "gap_libgimpgap.h"
#include "gap_story_file.h"
#include "gap_story_processor.h"
#include "gap_story_sox.h"
#include "gap_story_syntax.h"
#endif
This diff is collapsed.
/* gap_player_cache.h
*
* This module handles frame caching for GAP video playback