Commit 8a6a130d authored by Sven Neumann's avatar Sven Neumann

Applied patch_gimp_gap_1.3.15a_pre52 from Wolfgang Hofer.

parent a9ac7a43
2003-06-22 Wolfgang Hofer <hof@gimp.org>
- downloaded CVS-snapshot gimp-gap-2003-06-20.tar.gz and
merged changes from mitch with my local copy of gimp-gap
(could not test the merged version, because gimp-1.3.16 was not availabe
for download, and i have no CVS)
* ChangeLog (added merge comments)
configure.in (using CVS 1:1 no changes needed)
gap/gap_decode_mpeg_main.c (using CVS 1:1 no changes needed this is DEAD code)
gap/gap_filter_codegen.c (using CVS 1:1 no changes needed)
gap/gap_filter_iterators.c (using CVS 1:1 no changes needed)
gap/gap_filter_main.c (using CVS 1:1 no changes needed)
gap/gap_filter_pdb.c (using CVS 1:1 no changes needed)
gap/gap_frontends_main.c (using CVS 1:1 no changes needed)
* gap/gap_stock.c (initilized bug was already fixed local)
2003-06-21 Wolfgang Hofer <hof@gimp.org>
- cleanup texts with leading/trailing spaces (textspacing)
(changes applied to all po/*.po files)
* gap/gap_array_dialog.c
* gap/gap_base_ops.c
* gap/gap_decode_xanim.c
* gap/gap_mod_layer
* gap/gap_mpege.c
* gap/gap_range_ops.c
- bugfixes and performance tweaks for the Playback Module
(use a seperate new module for rendering drawing_area with GDK routines,
and handle expose events in my own handler)
* gap/gap_player_main.c [.h]
* gap/gap_player_dialog.c [.h]
* gap/gap_pview_da.c [.h]
- VCR Navigator bugfix for OPS-Button handler makes SHIFT modifier work again.
- gap_name2layer_main.c bugfix: MenuPath is language dependent string
- gap_mov_dialog.c: attempt to remove some deprecated calls (no success)
2003-06-15 Wolfgang Hofer <hof@gimp.org>
- (hopefully temporary) Workaround in gap_pd_calls.c: p_gimp_image_thumbnail
gimp_image_thumbnail cant handle size bigger than 128x128
but return success and NULL data pointer on bigger sizes
(The workaround tries a 2.nd call with reduced size in such cases)
- VCR Navigator:
now use new gap_player Plug-In as new playback standard,
SHIFT: use gimp animation play (on temp_image)
- new modules for gap common use in playback and naviagator
* gap/Makefile.am
* gap/gap_pview.c [.h]
* gap/gap_timeconv.c [.h]
2003-06-09 Wolfgang Hofer <hof@gimp.org>
- Start Implementation of video playback modules
* gap/Makefile.am
* gap/gap_player_main.c [.h]
* gap/gap_player_dialog.c [.h]
- gap_stock.c:gap_stock_init bugfix: must set initialized = TRUE; to avoid double init problems
* images/Makefile.am
* images/gap-play-reverse.png
* images/gap-pause.png
2003-06-20 Michael Natterer <mitch@gimp.org>
* configure.in: require autoconf 2.52 and GIMP 1.3.16.
......
--------------------------------------------------------------------
Change Log
--------------------------------------------------------------------
- 1.1.29b - Frame Based Stepmodes in MovePath
- NONINTERACTIVE interface for Move Path
- Inform about Locks in Dialog Window,
(clear lock if locking process does not exist --UNIX only)
- 1.1.20a - MovePath
- AnimPreview
- Keyframes
- Force visibility
- VCR Navigator
Popup menu
copy,
cut
paste before
paste after
paste replace
clear pastebuffer
- 0.99.00 - Move Path bugfix in the dialog
(update preview did'nt work with gimp 1.1.2 and gtk 1.1)
- Animated Filtercalls:
added a 2.nd Set of Iterators (iter_ALT Procedures) for
Plugins of GIMP 1.1.3.
- bugfixes in iterator code generator.
- GAP now uses gimp standard procedures to copy layers and channels.
- prepared filename-handling for win/dos conventions.
- 0.98.02 - GAP_DB_BROWSER (1.1 variant) show help like the dbbrowser in gimp-1.1.1
- 0.98.01 - GAP_DB_BROWSER variants for GIMP 1.0 and GIMP 1.1
new e-mail adress
xanim-hack
- 0.98.00 - Sarted porting GAP to GIMP 1.1
Changed internal interfaces to work with
both GIMP 1.0.2 and GIMP 1.1 PDB.
MovePath: The Layermask of imported Source Layerobjects
is no longer ignored.
- 0.97.01 - Added Patches for the XJT Load/Save filters
(XJT support for gimp 1.0.0 upto gimp 1.0.2)
- 0.97.00 - Patches updated to work with gimp 1.0.2
- New Plugin 'Frames Modify'
- Bugfix in patchcode layer_cmds.c
(get/set linked state didnt work since gimp 0.99.18)
- 0.96.04 - Patches updated to work with gimp 1.0.1
- 0.96.03 - Extended Pitstop-Dialog in 'Filter All layers'
(now you can specify a backup file to store the
Image after each non-interactive filtercall,
futher you may skip the filtercall.
These extensions were done because the MapObject
Plugin crashes sometimes
(after 3 hours calculating time on a PII 300Mhz processor)
- Extended Parameters for non-interactive call of
plug_in_gap_range_to_multilayer and
plug_in_gap_split
(the image_id of the created image is now returned)
- 0.96.02 - Added Clip To Image Option and Tooltips in MovePath Plugin.
_ Added Plugin 'Framesequence shift'
- Exended 'Frames To Image' Plugin
(now you can set framerate and framename
for the generated layers)
- Extended 'Duplicate Frames' Plugin
(now you can use a framerange as source,
not just the current frame)
- 0.96.01 - Bugfix (refresh problems when GAP's array dialog was used twice
in one plugin -- because of double call to gtk_init)
- 0.96.00 - Added AnimFrames scale, resize and crop
- Added 'Split Image to Frames" (plug_in_gap_split)
- Added 'Frames MPEG_encode' plug_in_gap_mpeg_encode
(Requires free software 'mpeg_encode' to run)
- Added 'Frames MPEG2_encode' plug_in_gap_mpeg2encode
(Requires software 'mpeg2encode' to run)
- Most Dialogs changed (some have got tooltips)
(now based on the new gap_arr_dialog module)
- internal changes (header files for all modules)
- bugfix: memory leak in gap_layer_copy.c
- 0.95.04 - Iterator Generation: added support for iteration on PARAM_DRAWABLE type
Updated Iterator_ALT procedures for:
- BumpMap (now you can use animated bumpmaps)
- DepthMerge
- Displace
- Refract
- 0.95.03 - Patches updated to work with gimp 1.0.0
(Removed patches for gimp 0.99.19 due to sizelimit
in the Plugin registry)
- 0.95.02 - Added Script sel-to-anim-img.scm
- 0.95.01 - Made Patches usable for GIMP release 0.99.31
(there were no updates needed, just added some links
from 0.99.29 to 0.99.31)
- 0.95.00 - extended MovePath plugin.
Now you can specify an angle for each point of the path
how to rotate the moving object layer.
- 0.94.02 - Patches updated to work with gimp 0.99.29
- 0.94.01 - Added new features to 'Frames to Image' Plugin:
Select of flatten_modes, and optional exclude of the BG-Layer.
- 0.94.00 - Move Path Plugin uses now 1 Point per default.
(If you want to move an Object, you'll have to)
add Point(s) explicit.
- bugfix: Move Path Plugin initial value for src_paintmode
undefined values sometimes caused 'cant get new layer' Error
and Sourcelayers were not copied to the frames
- Patches updated to work with gimp 0.99.28
- Updated Foundation adress
- 0.93.06 - Patches updated to work with gimp 0.99.27
implemented new versions of
gimage:gimage_lower_top_layer
gimage:gimage_lower_bot_layer
(the old versions were slow and failed
on Images with many layers)
- 0.93.05 - Patches updated to work with gimp 0.99.24
Patches extended:
Added gimp-core functions to layers dialog:
raising/lowering a Layer to Top/Bottom of the layerstack
- 0.93.04 - Patches updated to work with gimp 0.99.22
Window with Info Message if no Source Image was
selected in MovePath
- 0.93.03 - Bugfix of the Patches updated to work with gimp 0.99.19
(duplicate_into should now copy channels too)
- 0.93.02 - Patches updated to work with gimp 0.99.19
- 0.93.01 - Bugfix
(GAP filters now should work on frames that are not
in the current directory)
- 0.93.00 - Internal "Gen Code by name" Button
generates additional file <plugin_name>_Iterator.c
(see README_Developers for more details)
- The Patches to the gimp core
(needed to run GAP bend, movel, adjust, implayer Plugins)
are now available for gimp releases:
0.99.16
0.99.17
0.99.18
0.99.19
the patches are stored in seperate versioned directories,
The apply_patch.sh script now expects the gimp-version
as calling argument.
- 0.92.00 - "Filter all Layers" Dialog Window after 1.st and 2.nd
Interactive Plugin call. (to give a chance to see
the effects caused by the plugin or to cancel
before proceeding)
- New Patches to the gimp core
"gimp_layer_get_linked"
"gimp_layer_set_linked"
(for Plugins "adjust", "bend", "movel"
these Plugins are not part of GAP, you can get them
from the Plugin Registry)
- Internal"Gen Code by name" Button if GAP_DEBUG environment is set.
- 0.91.01 - "Apply Varying" Button insensitive if animated call
not available.
- Convert Frames Dialog window
now hides Colors and Dither entries
if Conv to INDEXED is not selected.
- 0.91.00 - Patches to the gimp core were updated to work with gimp 0.99.16
(plus: gimage_update_full was added for GAP)
(The Patches do work with gimp 0.99.17 too)
- "plug_in_gap_layers_run_animfilter"
New Plugin allows animated calls to (more than 50) existing Plugins
## Process this file with automake to produce Makefile.in
SUBDIRS = images gap po
EXTRA_DIST = \
AUTHORS \
COPYING \
INSTALL \
README \
ChangeLog \
ChangeLog.pre-1-2
......@@ -3,10 +3,11 @@ Makefile
.deps
_libs
.libs
gap_decode_mpeg
gap_filter
gap_plugins
gap_frontends
gap_decode_mpeg
gap_name2layer
gap_navigator_dialog
gap_onion
gap_player
gap_plugins
......@@ -12,6 +12,7 @@ libexec_PROGRAMS = \
gap_frontends \
gap_name2layer \
gap_navigator_dialog \
gap_player \
gap_onion
......@@ -136,6 +137,34 @@ gap_navigator_dialog_SOURCES = \
gap_stock.h \
gap_thumbnail.c \
gap_thumbnail.h \
gap_timeconv.c \
gap_timeconv.h \
gap_vin.c \
gap_vin.h
gap_player_SOURCES = \
gap_arr_dialog.c \
gap_arr_dialog.h \
gap_layer_copy.c \
gap_layer_copy.h \
gap_lib.c \
gap_lib.h \
gap_navi_activtable.c \
gap_navi_activtable.h \
gap_player_main.c \
gap_player_main.h \
gap_player_dialog.c \
gap_player_dialog.h \
gap_pdb_calls.c \
gap_pdb_calls.h \
gap_pview_da.c \
gap_pview_da.h \
gap_stock.c \
gap_stock.h \
gap_thumbnail.c \
gap_thumbnail.h \
gap_timeconv.c \
gap_timeconv.h \
gap_vin.c \
gap_vin.h
......
This diff is collapsed.
......@@ -38,6 +38,7 @@
*/
/* revision history:
* gimp 1.3.15a; 2003/06/21 hof: textspacing
* gimp 1.3.14b; 2003/06/03 hof: added gap_stock_init
* gimp 1.3.14a; 2003/05/19 hof: GUI standard (OK ist rightmost button)
* changed WGT_INT, and WGT_FLT from entry to spinbutton
......@@ -852,7 +853,7 @@ optionmenu_create_value(char *title, GtkTable *table, int row, t_arr_arg *arr_pt
{
l_col++;
entry = gtk_entry_new();
gtk_widget_set_usize(entry, arr_ptr->entry_width, 0);
gtk_widget_set_size_request(entry, arr_ptr->entry_width, 0);
gtk_entry_set_text(GTK_ENTRY(entry), arr_ptr->text_buf_ret);
gtk_table_attach(GTK_TABLE(table), entry, l_col, l_col+1, row, row + 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 4, 0);
if(arr_ptr->help_txt != NULL)
......@@ -1209,7 +1210,7 @@ gint p_array_std_dialog(char *title_txt,
{
arr_ptr = &argv[l_idx];
if(arr_ptr->label_txt == NULL) l_label_txt = _("Value: ");
if(arr_ptr->label_txt == NULL) l_label_txt = _("Value:");
else l_label_txt = arr_ptr->label_txt;
arr_ptr = &argv[l_idx];
......
......@@ -28,6 +28,7 @@
*/
/* revision history:
* 1.3.15a 2003/06/21 hof: textspacing
* 1.3.14a 2003/05/27 hof: created (module was splitted off from gap_lib)
*/
......@@ -611,7 +612,7 @@ gap_goto(GimpRunMode run_mode, gint32 image_id, int nr)
l_title = g_strdup_printf (_("Goto Frame (%ld/%ld)")
, ainfo_ptr->curr_frame_nr
, ainfo_ptr->frame_cnt);
l_hline = g_strdup_printf (_("Destination Frame Number (%ld - %ld)")
l_hline = g_strdup_printf (_("Destination Frame Number (%ld - %ld)")
, ainfo_ptr->first_frame_nr
, ainfo_ptr->last_frame_nr);
......@@ -772,7 +773,7 @@ p_dup_dialog(t_anim_info *ainfo_ptr, long *range_from, long *range_to)
argv[2].int_ret = 1;
argv[2].umin = 1;
argv[2].umax = 9999;
argv[2].help_txt = _("Copy selected Range n-times \n(you may type in Values > 99)");
argv[2].help_txt = _("Copy selected Range n-times\n(you may type in Values > 99)");
if(TRUE == p_array_dialog(l_title, _("Duplicate Frame Range"), 3, argv))
......@@ -968,7 +969,7 @@ p_shift_dialog(t_anim_info *ainfo_ptr, long *range_from, long *range_to)
argv[2].int_min = -1 * (gint)ainfo_ptr->last_frame_nr;
argv[2].int_max = (gint)ainfo_ptr->last_frame_nr;
argv[2].int_ret = 1;
argv[2].help_txt = _("Renumber the affected framesequence \n(numbers are shifted in circle by N)");
argv[2].help_txt = _("Renumber the affected framesequence\n(numbers are shifted in circle by N)");
if(TRUE == p_array_dialog(l_title, _("Framesequence shift"), 3, argv))
{
......
......@@ -120,7 +120,7 @@ gap_db_browser_dialog(char *title_txt,
gtk_clist_set_selection_mode (GTK_CLIST (dbbrowser->clist),
GTK_SELECTION_BROWSE);
gtk_widget_set_usize(dbbrowser->clist, DBL_LIST_WIDTH, DBL_HEIGHT);
gtk_widget_set_size_request(dbbrowser->clist, DBL_LIST_WIDTH, DBL_HEIGHT);
gtk_signal_connect (GTK_OBJECT (dbbrowser->clist), "select_row",
(GtkSignalFunc) procedure_select_callback,
dbbrowser);
......@@ -156,7 +156,7 @@ gap_db_browser_dialog(char *title_txt,
);
gtk_box_pack_start (GTK_BOX (hbox),
dbbrowser->descr_scroll, TRUE, TRUE, 0);
gtk_widget_set_usize (dbbrowser->descr_scroll, DBL_WIDTH - DBL_LIST_WIDTH, 0);
gtk_widget_set_size_request (dbbrowser->descr_scroll, DBL_WIDTH - DBL_LIST_WIDTH, 0);
gtk_widget_show (dbbrowser->descr_scroll);
/* buttons in dlg->action_aera */
......@@ -475,7 +475,7 @@ dialog_select (dbbrowser_t *dbbrowser,
text = gtk_text_new (NULL, NULL);
gtk_text_set_editable (GTK_TEXT (text), FALSE);
gtk_text_set_word_wrap(GTK_TEXT(text), TRUE);
gtk_widget_set_usize (text, -1, 60);
gtk_widget_set_size_request (text, -1, 60);
gtk_table_attach (GTK_TABLE (help), text, 0, 1, 0, 1,
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
......
......@@ -48,6 +48,7 @@
*/
/* revision history
* gimp 1.3.15a; 2003/06/21 hof: checked textspacing
* gimp 1.3.12a; 2003/05/02 hof: merge into CVS-gimp-gap project, 6digit framenumbers
* 1.3.4b 2002/03723 hof: merged in bugfix from stable branch 1.2.2c; 2002/03/19 xanim call fails if . not in PATH or no write permission for current dir
* (reported by Guido Socher)
......@@ -106,7 +107,7 @@ gint32 global_delete_number;
static int
p_xanim_info(char *errlist)
{
t_arr_arg argv[20];
t_arr_arg argv[22];
t_but_arg b_argv[2];
int l_idx;
......@@ -123,23 +124,27 @@ p_xanim_info(char *errlist)
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("1.) xanim 2.80.0 exporting edition (the loki version)");
argv[l_idx].label_txt = "1.)";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" must be installed somewhere in your PATH");
argv[l_idx].label_txt = _("xanim 2.80.0 exporting edition (the loki version)");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" you can get xanim exporting edition at");
argv[l_idx].label_txt = _("must be installed somewhere in your PATH");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = " http://heroine.linuxbox.com/toys.html";
argv[l_idx].label_txt = _("you can get xanim exporting edition at");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = " http://www.lokigames.com/development/download/smjpeg/xanim2801-loki090899.tar.gz";
argv[l_idx].label_txt = "http://heroine.linuxbox.com/toys.html";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = "http://www.lokigames.com/development/download/smjpeg/xanim2801-loki090899.tar.gz";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
......@@ -147,15 +152,19 @@ p_xanim_info(char *errlist)
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("2.) if your xanim exporting edition is not in your PATH or is not named xanim");
argv[l_idx].label_txt = "2.)";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("if your xanim exporting edition is not in your PATH or is not named xanim");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" you have to set Environment variable GAP_XANIM_PROG ");
argv[l_idx].label_txt = _("you have to set Environment variable GAP_XANIM_PROG ");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" to your xanim exporting program and restart gimp");
argv[l_idx].label_txt = _("to your xanim exporting program and restart gimp");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
......
......@@ -14,7 +14,7 @@
*
* Frames are Images with naming convention like this:
* Imagename_<number>.<ext>
* Example: snoopy_0001.xcf, snoopy_0002.xcf, snoopy_0003.xcf
* Example: snoopy_000001.xcf, snoopy_000002.xcf, snoopy_000003.xcf
*
* if gzip is installed on your system you may optional
* use gziped xcf frames with extensions ".xcfgz"
......@@ -38,9 +38,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
static char *gap_main_version = "1.3.14a; 2003/05/27";
static char *gap_main_version = "1.3.15a; 2003/06/21";
/* revision history:
* gimp 1.3.15a; 2003/06/21 hof: - updated main version,
* gimp 1.3.14a; 2003/05/27 hof: include gap_base_ops.h
* Split Image To frame: added parameter "digits" and "only_visible"
* gimp 1.3.12a; 2003/05/03 hof: merge into CVS-gimp-gap project, updated main version, added gap_renumber
......
......@@ -28,6 +28,7 @@
*/
/* revision history:
* gimp 1.3.15a; 2003/06/21 hof: textspacing
* gimp 1.3.14a; 2003/05/17 hof: placed OK button right.
* gimp 1.3.12a; 2003/05/01 hof: merge into CVS-gimp-gap project
* gimp 1.3.11a; 2003/01/18 hof: Conditional framesave
......@@ -190,7 +191,7 @@ int p_layer_modify_dialog(t_anim_info *ainfo_ptr,
p_init_arr_arg(&argv[4], WGT_TEXT);
argv[4].label_txt = _("Select Pattern:");
argv[4].entry_width = 140; /* pixel */
argv[4].help_txt = _("String to identify layer names \nor layerstack position numbers\n0,3-5");
argv[4].help_txt = _("String to identify layer names\nor layerstack position numbers\n0,3-5");
argv[4].text_buf_len = MAX_LAYERNAME;
argv[4].text_buf_ret = sel_pattern;
......
......@@ -30,6 +30,7 @@
*/
/* revision history:
* gimp 1.3.15a; 2003/06/21 hof: attempt to remove some deprecated calls (no success)
* gimp 1.3.14b; 2003/06/03 hof: added gap_stock_init
* replaced mov_gtk_button_new_with_pixmap by gtk_button_new_from_stock
* gimp 1.3.14a; 2003/05/24 hof: moved render procedures to module gap_mov_render
......@@ -177,6 +178,7 @@ typedef struct
gint first_nr;
gint last_nr;
GtkWidget *shell;
GtkWidget *master_vbox;
} t_mov_path_preview;
......@@ -528,6 +530,8 @@ mov_dialog ( GimpDrawable *drawable, t_mov_path_preview *path_ptr,
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN);
gtk_container_set_border_width (GTK_CONTAINER (frame), 4);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), frame, TRUE, TRUE, 0);
gtk_widget_show (frame);
/* the vbox */
vbox = gtk_vbox_new (FALSE, 3);
......@@ -541,8 +545,9 @@ mov_dialog ( GimpDrawable *drawable, t_mov_path_preview *path_ptr,
/* the path preview frame (with all the controlpoint widgets) */
path_ptr->max_frame = MAX(first_nr, last_nr);
path_ptr->master_vbox = vbox;
path_prevw_frame = mov_path_prevw_create ( drawable, path_ptr);
gtk_box_pack_start (GTK_BOX (vbox), path_prevw_frame, TRUE, TRUE, 0);
/*gtk_box_pack_start (GTK_BOX (vbox), path_prevw_frame, TRUE, TRUE, 0); */ /* moved to mov_path_prevw_create */
/* the hbox_table (1 row) */
hbox_table = gtk_table_new (5, 3, FALSE);
......@@ -554,6 +559,7 @@ mov_dialog ( GimpDrawable *drawable, t_mov_path_preview *path_ptr,
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_attach(GTK_TABLE(hbox_table), table, 0, 1, 0, 1, GTK_FILL|GTK_EXPAND, GTK_FILL, 4, 0);
gtk_widget_show (table);
/* the start frame scale_entry */
adj = gimp_scale_entry_new( GTK_TABLE (table), 0, 0, /* table col, row */
......@@ -634,10 +640,8 @@ mov_dialog ( GimpDrawable *drawable, t_mov_path_preview *path_ptr,
gtk_table_attach(GTK_TABLE(hbox_table), vcbox, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 4, 0);
gtk_widget_show (frame);
gtk_widget_show (table);
gtk_widget_show (dlg);
gtk_widget_show (dlg);
path_ptr->startup = FALSE;
gtk_main ();
......@@ -1783,6 +1787,11 @@ mov_path_prevw_create ( GimpDrawable *drawable, t_mov_path_preview *path_ptr)
gtk_frame_set_shadow_type( GTK_FRAME( frame ) ,GTK_SHADOW_ETCHED_IN );
gtk_container_set_border_width( GTK_CONTAINER( frame ), 2 );
gtk_box_pack_start (GTK_BOX (path_ptr->master_vbox), frame, TRUE, TRUE, 0);
gtk_widget_show( path_ptr->master_vbox );
gtk_widget_show( frame );
/* the vbox */
vbox = gtk_vbox_new (FALSE, 3);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 2);
......@@ -1933,12 +1942,14 @@ mov_path_prevw_create ( GimpDrawable *drawable, t_mov_path_preview *path_ptr)
gtk_table_set_row_spacings (GTK_TABLE (pv_table), 2);
gtk_table_set_col_spacings (GTK_TABLE (pv_table), 4);
gtk_box_pack_start (GTK_BOX (hbox), pv_table, TRUE, TRUE, 0);
gtk_widget_show( pv_table );
/* frame (shadow_in) that contains preview */
pframe = gtk_frame_new ( NULL );
gtk_frame_set_shadow_type( GTK_FRAME( pframe ), GTK_SHADOW_IN );
gtk_table_attach( GTK_TABLE(pv_table), pframe, 0, 1, 0, 1,
0, 0, 0, 0 );
gtk_widget_show(pframe);
/* the preview sub table (2 rows) */
......@@ -1988,22 +1999,40 @@ mov_path_prevw_create ( GimpDrawable *drawable, t_mov_path_preview *path_ptr)
path_ptr->pwidth = path_ptr->dwidth * PREVIEW_SIZE / path_ptr->dheight;
path_ptr->pheight = PREVIEW_SIZE;
}
gtk_preview_size( GTK_PREVIEW( preview ), path_ptr->pwidth, path_ptr->pheight );
/* port to gtk+-2.0.0 not finished. at the moment the new
* gtk_widget_set_size_request does not work on the preview as expected.
* ==> results in size of 0 x 0 pixels ??
gtk_widget_show(preview);
/* port to gtk+-2.0.0
* gtk_widget_set_size_request needs an already allocated parent window to work
* properly.
* gtk_widget_realize should force allocation of the window
* ==> but still does not work ??
* continue using the DEPRECATED but working gtk_preview_size procedure
* until i find out whats wrong
*/
/* gtk_widget_set_size_request(preview, path_ptr->pwidth, path_ptr->pheight ); */
/*
gtk_widget_realize(path_ptr->shell);
gtk_widget_realize(path_ptr->master_vbox);
gtk_widget_realize(frame);
gtk_widget_realize(vbox);
gtk_widget_realize(table);
gtk_widget_realize(preview);
gtk_widget_set_size_request(preview, path_ptr->pwidth, path_ptr->pheight );
*/
gtk_preview_size( GTK_PREVIEW( preview ), path_ptr->pwidth, path_ptr->pheight );
/* Draw the contents of preview, that is saved in the preview widget */
mov_path_prevw_preview_init( path_ptr );
gtk_widget_show(preview);
/* button_table 8 rows */
button_table = gtk_table_new (8, 2, TRUE);
gtk_table_set_row_spacings (GTK_TABLE (button_table), 0);
gtk_table_set_col_spacings (GTK_TABLE (button_table), 0);
gtk_widget_show (button_table);
row = 0;
......@@ -2212,9 +2241,6 @@ mov_path_prevw_create ( GimpDrawable *drawable, t_mov_path_preview *path_ptr)
gtk_box_pack_start (GTK_BOX (hbox), button_table, TRUE, TRUE, 0);
gtk_widget_show (button_table);
gtk_widget_show( pframe );
gtk_widget_show( pv_table );
gtk_widget_show( frame );
mov_path_prevw_cursor_update( path_ptr );
......
......@@ -36,6 +36,7 @@
*/
/* revision history
* 1.3.15a; 2003/06/21 hof: textspacing
* 1.3.12a; 2003/05/02 hof: merge into CVS-gimp-gap project, 6digit framenumbers
* 1.3.11a; 2003/01/18 hof: Default Value button for GUI dialog
* 1.1.11b; 1999/11/20 hof: Changed menunames AnimFrames to Video in menu hints
......@@ -101,7 +102,7 @@ typedef struct t_mpg_par
static
int p_mpege_info(t_anim_info *ainfo_ptr, char *errlist, t_gap_mpeg_encoder encoder)
{
t_arr_arg argv[13];
t_arr_arg argv[16];
t_but_arg b_argv[2];
int l_idx;
......@@ -123,62 +124,74 @@ int p_mpege_info(t_anim_info *ainfo_ptr, char *errlist, t_gap_mpeg_encoder encod
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("1.) mpeg_encode 1.5 must be installed");
argv[l_idx].label_txt = "1.)";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("mpeg_encode 1.5 must be installed");
if(encoder == MPEG2ENCODE)
{
argv[l_idx].label_txt = _("1.) mpeg2encode 1.2 must be installed");
argv[l_idx].label_txt = _("mpeg2encode 1.2 must be installed");
}
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" you can get mpeg_encode at");
argv[l_idx].label_txt = _("you can get mpeg_encode at");
if(encoder == MPEG2ENCODE)
{
argv[l_idx].label_txt = _(" you can get mpeg2encode at http://www.mpeg.org/MSSG");
argv[l_idx].label_txt = _("you can get mpeg2encode at http://www.mpeg.org/MSSG");
}
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/bmt1r1.tar.gz");
argv[l_idx].label_txt = "ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/bmt1r1.tar.gz";
if(encoder == MPEG2ENCODE)
{
argv[l_idx].label_txt = _(" or at ftp://ftp.mpeg.org/pub/mpeg/mssg ");
argv[l_idx].label_txt = _("or at ftp://ftp.mpeg.org/pub/mpeg/mssg ");
}
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("2.) You need a series of single Images on disk (AnimFrames)");
argv[l_idx].label_txt = "2.)";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" all with fileformat JPEG (or YUV or PNM or PPM)");
argv[l_idx].label_txt = _("You need a series of single Images on disk (AnimFrames)");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("all with fileformat JPEG (or YUV or PNM or PPM)");
if(encoder == MPEG2ENCODE)
{
argv[l_idx].label_txt = _(" all with fileformat PPM (or YUV)");
argv[l_idx].label_txt = _("all with fileformat PPM (or YUV)");
}
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" (use 'Frames Convert' from the Video Menu");
argv[l_idx].label_txt = _("(use 'Frames Convert' from the Video Menu");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("or 'Split Image to Frames' from the Video Menu)");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" or 'Split Image to Frames' from the Video Menu)");
argv[l_idx].label_txt = "3.)";
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _("3.) All Images must have the same size,");
argv[l_idx].label_txt = _("All Images must have the same size,");
if(encoder == MPEG_ENCODE)
{
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" width and height must be a multiple of 16");
argv[l_idx].label_txt = _("width and height must be a multiple of 16");
l_idx++;
p_init_arr_arg(&argv[l_idx], WGT_LABEL_LEFT);
argv[l_idx].label_txt = _(" (use Scale or Crop from the Video Menu)");
argv[l_idx].label_txt = _("(use Scale or Crop from the Video Menu)");
}
l_idx++;
......@@ -267,7 +280,7 @@ int p_mpege_dialog(t_anim_info *ainfo_ptr, t_mpg_par *mp_ptr, t_gap_mpeg_encoder
p_init_arr_arg(&argv[2], WGT_INT_PAIR);
argv[2].constraint = TRUE;
argv[2].label_txt = _("To Frame:");
argv[2].label_txt = _("To Frame:");