/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) GtkWidget* create_window1 (void) { GtkWidget *window1; GtkWidget *notebook1; GtkWidget *vbox1; GtkWidget *frame3; GtkWidget *table1; GtkWidget *label12; GtkWidget *label13; GtkWidget *label14; GtkWidget *hseparator1; GtkWidget *quant_type; GtkWidget *menu1; GtkWidget *h2631; GtkWidget *mpeg1; GtkWidget *motion; GtkWidget *menu2; GtkWidget *_0_none1; GtkWidget *_1_very_low1; GtkWidget *_2_low1; GtkWidget *_3_medium1; GtkWidget *_4_high1; GtkWidget *_5_very_high1; GtkWidget *_6_ultra_high1; GtkWidget *vhq; GtkWidget *menu3; GtkWidget *_0_disabled1; GtkWidget *_1_mode_selection1; GtkWidget *_2_limited_search1; GtkWidget *_3_medium_search1; GtkWidget *_4_wide_search1; GtkWidget *table13; GtkWidget *chromame; GtkWidget *hqacpred; GtkWidget *trellis; GtkWidget *cartoon; GtkWidget *interlaced; GtkWidget *greyscale; GtkWidget *turbo; GtkWidget *label9; GtkWidget *frame4; GtkWidget *table2; GtkWidget *label15; GtkWidget *bquant_ratio_label; GtkWidget *bquant_offset_label; GtkWidget *bframe_threshold_label; GtkObject *bframe_threshold_adj; GtkWidget *bframe_threshold; GtkObject *bquant_offset_adj; GtkWidget *bquant_offset; GtkObject *bquant_ratio_adj; GtkWidget *bquant_ratio; GtkObject *max_bframes_adj; GtkWidget *max_bframes; GtkWidget *packed; GtkWidget *closed_gop; GtkWidget *quarterpel; GtkWidget *gmc; GtkWidget *label10; GtkWidget *frame5; GtkWidget *table12; GtkWidget *label19; GtkWidget *label80; GtkObject *frame_drop_ratio_adj; GtkWidget *frame_drop_ratio; GtkWidget *stats; GtkWidget *label79; GtkWidget *label3; GtkWidget *vbox2; GtkWidget *label81; GtkWidget *frame6; GtkWidget *table4; GtkWidget *label20; GtkWidget *label21; GtkWidget *bquant_min_max_label; GtkObject *min_iquant_adj; GtkWidget *min_iquant; GtkObject *min_pquant_adj; GtkWidget *min_pquant; GtkObject *min_bquant_adj; GtkWidget *min_bquant; GtkObject *max_iquant_adj; GtkWidget *max_iquant; GtkObject *max_pquant_adj; GtkWidget *max_pquant; GtkObject *max_bquant_adj; GtkWidget *max_bquant; GtkWidget *label29; GtkWidget *label30; GtkWidget *label87; GtkWidget *frame7; GtkWidget *table5; GtkWidget *label26; GtkWidget *label27; GtkWidget *quant_inter_matrix; GtkWidget *quant_intra_matrix; GtkWidget *load_intra_matrix_file_but; GtkWidget *load_inter_matrix_file_but; GtkWidget *matrix_editor; GtkWidget *alignment10; GtkWidget *hbox10; GtkWidget *image10; GtkWidget *label78; GtkWidget *label88; GtkWidget *label4; GtkWidget *table8; GtkWidget *reaction_delay_factor; GtkWidget *averaging_period; GtkWidget *buffer; GtkWidget *label50; GtkWidget *label51; GtkWidget *label52; GtkWidget *label5; GtkWidget *table9; GtkWidget *label55; GtkWidget *label56; GtkWidget *label57; GtkWidget *label58; GtkWidget *label59; GtkWidget *label60; GtkWidget *label62; GtkWidget *label63; GtkWidget *label64; GtkObject *curve_compression_high_adj; GtkWidget *curve_compression_high; GtkObject *curve_compression_low_adj; GtkWidget *curve_compression_low; GtkWidget *kfreduction; GtkWidget *kfthreshold; GtkWidget *container_frame_overhead; GtkObject *keyframe_boost_adj; GtkWidget *keyframe_boost; GtkObject *bitrate_payback_delay_adj; GtkWidget *bitrate_payback_delay; GtkObject *max_overflow_improvement_adj; GtkWidget *max_overflow_improvement; GtkObject *max_overflow_degradation_adj; GtkWidget *max_overflow_degradation; GtkWidget *label65; GtkWidget *vbox4; GtkWidget *label68; GtkWidget *table10; GtkWidget *label66; GtkWidget *label67; GtkWidget *save_file_name_text; GtkWidget *load_file_name_text; GtkWidget *load_settings_filesel_but; GtkWidget *save_settings_filesel_but; GtkWidget *table11; GtkWidget *quit; GtkWidget *save_defaults; GtkWidget *alignment8; GtkWidget *hbox8; GtkWidget *image8; GtkWidget *label76; GtkWidget *fixed1; GtkWidget *restore_defaults; GtkWidget *alignment9; GtkWidget *hbox9; GtkWidget *image9; GtkWidget *label77; GtkWidget *load_settings; GtkWidget *alignment6; GtkWidget *hbox6; GtkWidget *image6; GtkWidget *label74; GtkWidget *fixed2; GtkWidget *save_settings; GtkWidget *alignment5; GtkWidget *hbox5; GtkWidget *image5; GtkWidget *label73; GtkWidget *label7; GtkWidget *frame8; GtkWidget *label91; GtkWidget *label90; GtkWidget *label89; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window1), "xvid4conf"); notebook1 = gtk_notebook_new (); gtk_widget_show (notebook1); gtk_container_add (GTK_CONTAINER (window1), notebook1); gtk_container_set_border_width (GTK_CONTAINER (notebook1), 3); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (notebook1), vbox1); frame3 = gtk_frame_new (NULL); gtk_widget_show (frame3); gtk_box_pack_start (GTK_BOX (vbox1), frame3, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame3), 2); table1 = gtk_table_new (5, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame3), table1); gtk_table_set_col_spacings (GTK_TABLE (table1), 2); label12 = gtk_label_new ("Quant Type"); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table1), label12, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label12), 2, 6); label13 = gtk_label_new ("Motion"); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table1), label13, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label13), 2, 6); label14 = gtk_label_new ("VHQ"); gtk_widget_show (label14); gtk_table_attach (GTK_TABLE (table1), label14, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label14), 2, 6); hseparator1 = gtk_hseparator_new (); gtk_widget_show (hseparator1); gtk_table_attach (GTK_TABLE (table1), hseparator1, 0, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); quant_type = gtk_option_menu_new (); gtk_widget_show (quant_type); gtk_table_attach (GTK_TABLE (table1), quant_type, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (quant_type), 2); gtk_tooltips_set_tip (tooltips, quant_type, "MPEG4 allows two methods two compress the image, the first one is derived from h263, the other one is inspired by the MPEG2 matrix quantization. When using custom matrices, mpeg must be used.", NULL); menu1 = gtk_menu_new (); h2631 = gtk_menu_item_new_with_mnemonic ("h263"); gtk_widget_show (h2631); gtk_container_add (GTK_CONTAINER (menu1), h2631); mpeg1 = gtk_menu_item_new_with_mnemonic ("mpeg"); gtk_widget_show (mpeg1); gtk_container_add (GTK_CONTAINER (menu1), mpeg1); gtk_option_menu_set_menu (GTK_OPTION_MENU (quant_type), menu1); motion = gtk_option_menu_new (); gtk_widget_show (motion); gtk_table_attach (GTK_TABLE (table1), motion, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (motion), 2); gtk_tooltips_set_tip (tooltips, motion, "This option controls the motion estimation subsystem. The higher the value, the more precise the estimation should be. The more precise the motion estimation is, the more bits can be saved. Precision is gained at the expense of CPU time so decrease this setting if you need realtime encoding.", NULL); menu2 = gtk_menu_new (); _0_none1 = gtk_menu_item_new_with_mnemonic ("0 - None"); gtk_widget_show (_0_none1); gtk_container_add (GTK_CONTAINER (menu2), _0_none1); _1_very_low1 = gtk_menu_item_new_with_mnemonic ("1 - Very Low"); gtk_widget_show (_1_very_low1); gtk_container_add (GTK_CONTAINER (menu2), _1_very_low1); _2_low1 = gtk_menu_item_new_with_mnemonic ("2 - Low"); gtk_widget_show (_2_low1); gtk_container_add (GTK_CONTAINER (menu2), _2_low1); _3_medium1 = gtk_menu_item_new_with_mnemonic ("3 - Medium"); gtk_widget_show (_3_medium1); gtk_container_add (GTK_CONTAINER (menu2), _3_medium1); _4_high1 = gtk_menu_item_new_with_mnemonic ("4 - High"); gtk_widget_show (_4_high1); gtk_container_add (GTK_CONTAINER (menu2), _4_high1); _5_very_high1 = gtk_menu_item_new_with_mnemonic ("5 - Very High"); gtk_widget_show (_5_very_high1); gtk_container_add (GTK_CONTAINER (menu2), _5_very_high1); _6_ultra_high1 = gtk_menu_item_new_with_mnemonic ("6 - Ultra High"); gtk_widget_show (_6_ultra_high1); gtk_container_add (GTK_CONTAINER (menu2), _6_ultra_high1); gtk_option_menu_set_menu (GTK_OPTION_MENU (motion), menu2); vhq = gtk_option_menu_new (); gtk_widget_show (vhq); gtk_table_attach (GTK_TABLE (table1), vhq, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (vhq), 2); gtk_tooltips_set_tip (tooltips, vhq, "The motion search algorithm is based on a search in the usual color domain and tries to find a motion vector that minimizes the difference between the reference frame and the encoded frame.\n\nActivating this setting, XviD will also use the frequency domain (DCT) to search a motion vector that minimizes not only the spatial difference but also the encoding length of the block. The higher, the more precise and more CPU intensive", NULL); menu3 = gtk_menu_new (); _0_disabled1 = gtk_menu_item_new_with_mnemonic ("0 - Disabled"); gtk_widget_show (_0_disabled1); gtk_container_add (GTK_CONTAINER (menu3), _0_disabled1); _1_mode_selection1 = gtk_menu_item_new_with_mnemonic ("1 - Mode Selection"); gtk_widget_show (_1_mode_selection1); gtk_container_add (GTK_CONTAINER (menu3), _1_mode_selection1); _2_limited_search1 = gtk_menu_item_new_with_mnemonic ("2 - Limited Search"); gtk_widget_show (_2_limited_search1); gtk_container_add (GTK_CONTAINER (menu3), _2_limited_search1); _3_medium_search1 = gtk_menu_item_new_with_mnemonic ("3 - Medium Search"); gtk_widget_show (_3_medium_search1); gtk_container_add (GTK_CONTAINER (menu3), _3_medium_search1); _4_wide_search1 = gtk_menu_item_new_with_mnemonic ("4 - Wide Search"); gtk_widget_show (_4_wide_search1); gtk_container_add (GTK_CONTAINER (menu3), _4_wide_search1); gtk_option_menu_set_menu (GTK_OPTION_MENU (vhq), menu3); table13 = gtk_table_new (3, 3, FALSE); gtk_widget_show (table13); gtk_table_attach (GTK_TABLE (table1), table13, 0, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); chromame = gtk_check_button_new_with_mnemonic ("Chroma ME"); gtk_widget_show (chromame); gtk_table_attach (GTK_TABLE (table13), chromame, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (chromame), 3); gtk_tooltips_set_tip (tooltips, chromame, "The usual motion estimation algorithm uses only the luminance information to find the best motion vector. However for some video material, using the chromatic planes can help find better vectors. \n\nThis setting turns on/off the use of chroma planes for Motion Estimation", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chromame), TRUE); hqacpred = gtk_check_button_new_with_mnemonic ("HighQ AC"); gtk_widget_show (hqacpred); gtk_table_attach (GTK_TABLE (table13), hqacpred, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (hqacpred), 3); gtk_tooltips_set_tip (tooltips, hqacpred, "Activates High Quality AC coefficient prediction from neighboor blocks.", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (hqacpred), TRUE); trellis = gtk_check_button_new_with_mnemonic ("Trellis Quantizer"); gtk_widget_show (trellis); gtk_table_attach (GTK_TABLE (table13), trellis, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (trellis), 3); gtk_tooltips_set_tip (tooltips, trellis, "Trellis Quantization is a kind of adaptive quantization method that saves bits modifying quantized coefficients to make them more compressable by the entropy encoder.\n\nIts impact on quality is good, and if VHQ uses too much CPU for you, this setting can be a good alternative to save a few bits (and gain quality at fixed bitrate) at a minimum expense. than VHQ", NULL); cartoon = gtk_check_button_new_with_mnemonic ("Cartoon Mode"); gtk_widget_show (cartoon); gtk_table_attach (GTK_TABLE (table13), cartoon, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (cartoon), 3); gtk_tooltips_set_tip (tooltips, cartoon, "Activate this if your encoded sequence is an Anime/Cartoon. It modifies some XviD internal thresholds so XviD takes better decisions on frame types and motion vectors for flat looking cartoons.", NULL); interlaced = gtk_check_button_new_with_mnemonic ("Interlaced"); gtk_widget_show (interlaced); gtk_table_attach (GTK_TABLE (table13), interlaced, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (interlaced), 3); gtk_tooltips_set_tip (tooltips, interlaced, "For interlaced video material, turn this option to on. NB this option does not deinterlace video, it encodes it field-based", NULL); greyscale = gtk_check_button_new_with_mnemonic ("Greyscale"); gtk_widget_show (greyscale); gtk_table_attach (GTK_TABLE (table13), greyscale, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (greyscale), 3); gtk_tooltips_set_tip (tooltips, greyscale, "XviD discard chroma planes bitstream so the encoded video is greyscale only. Note that this does not speed up encoding, that just prevent chroma data from being written in the last stage of encoding.\nThis setting enable Chroma color discarding.", NULL); turbo = gtk_check_button_new_with_mnemonic ("Turbo Mode"); gtk_widget_show (turbo); gtk_table_attach (GTK_TABLE (table13), turbo, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (turbo), 3); gtk_tooltips_set_tip (tooltips, turbo, "Motion estimation involves lot of refinement steps. Usually these steps help reaching better quality, but not by much, and they use a fair amount of CPU. So if you want to speedup Motion Estimation by skipping some refinement steps and using simplified ME functions, you can activate the turbo mode.", NULL); label9 = gtk_label_new ("General Settings"); gtk_widget_show (label9); gtk_frame_set_label_widget (GTK_FRAME (frame3), label9); gtk_label_set_use_markup (GTK_LABEL (label9), TRUE); gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (label9), 0, 4); frame4 = gtk_frame_new (NULL); gtk_widget_show (frame4); gtk_box_pack_start (GTK_BOX (vbox1), frame4, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame4), 2); table2 = gtk_table_new (4, 3, FALSE); gtk_widget_show (table2); gtk_container_add (GTK_CONTAINER (frame4), table2); label15 = gtk_label_new ("Max B-Frames"); gtk_widget_show (label15); gtk_table_attach (GTK_TABLE (table2), label15, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label15), 2, 6); bquant_ratio_label = gtk_label_new ("B-Quant Ratio"); gtk_widget_show (bquant_ratio_label); gtk_table_attach (GTK_TABLE (table2), bquant_ratio_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (bquant_ratio_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (bquant_ratio_label), 0, 0.5); gtk_misc_set_padding (GTK_MISC (bquant_ratio_label), 2, 6); bquant_offset_label = gtk_label_new ("B-Quant Offset"); gtk_widget_show (bquant_offset_label); gtk_table_attach (GTK_TABLE (table2), bquant_offset_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (bquant_offset_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (bquant_offset_label), 0, 0.5); gtk_misc_set_padding (GTK_MISC (bquant_offset_label), 2, 6); bframe_threshold_label = gtk_label_new ("B-Frame Threshold"); gtk_widget_show (bframe_threshold_label); gtk_table_attach (GTK_TABLE (table2), bframe_threshold_label, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (bframe_threshold_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (bframe_threshold_label), 0, 0.5); gtk_misc_set_padding (GTK_MISC (bframe_threshold_label), 2, 6); bframe_threshold_adj = gtk_adjustment_new (0, -255, 255, 1, 10, 10); bframe_threshold = gtk_spin_button_new (GTK_ADJUSTMENT (bframe_threshold_adj), 1, 0); gtk_widget_show (bframe_threshold); gtk_table_attach (GTK_TABLE (table2), bframe_threshold, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_tooltips_set_tip (tooltips, bframe_threshold, "Sometimes BFrames do not look good, and introduce artefacts when most of the frame is static and some small zones have high motion (a static scene with a man talking, his mouth will probably look bad if what is surrounding the man and his mouth is completly static)\n\nThis setting allow you to favorize or not, the use of bframes. The higher the value, the more a bframe has chance to be used.", NULL); bquant_offset_adj = gtk_adjustment_new (100, 0, 200, 1, 10, 10); bquant_offset = gtk_spin_button_new (GTK_ADJUSTMENT (bquant_offset_adj), 1, 0); gtk_widget_show (bquant_offset); gtk_table_attach (GTK_TABLE (table2), bquant_offset, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_tooltips_set_tip (tooltips, bquant_offset, "As explained before, BFrames are highly correlated to its reference frames Thus XviD computes their quantizer to its reference's quantizers.\nThis two settings allow you to tune the formula:", NULL); bquant_ratio_adj = gtk_adjustment_new (150, 0, 200, 1, 10, 10); bquant_ratio = gtk_spin_button_new (GTK_ADJUSTMENT (bquant_ratio_adj), 1, 0); gtk_widget_show (bquant_ratio); gtk_table_attach (GTK_TABLE (table2), bquant_ratio, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_tooltips_set_tip (tooltips, bquant_ratio, "As explained before, BFrames are highly correlated to its reference frames Thus XviD computes their quantizer to its reference's quantizers.\nThis two settings allow you to tune the formula:", NULL); max_bframes_adj = gtk_adjustment_new (2, 0, 10, 1, 10, 10); max_bframes = gtk_spin_button_new (GTK_ADJUSTMENT (max_bframes_adj), 1, 0); gtk_widget_show (max_bframes); gtk_table_attach (GTK_TABLE (table2), max_bframes, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_tooltips_set_tip (tooltips, max_bframes, "BFrames are the third type of frames available in MPEG4, they are predicted thanks to 2 reference frames. Thus, bframes help usually in two cases:\n1/ saving bitrate w/o loss of quality\n2/ increasing the quality for a same bitrate\n\nThis setting controls how many bframes the xvid encoder can output in a row.\n\nYou must be aware that the higher max_bframes is, the more distant reference frames are from each other. Thus prediction of reference frames become hard and results in poor quality. If the reference frames have poor quality, so the bframes will have. So as a rule of thumb, this setting has to be tuned according to your exact needs. Common values are [0..2] for \"natural movies and a bit higher values for anime/cartoons with great amounts of constant color areas.", NULL); packed = gtk_check_button_new_with_mnemonic ("Packed"); gtk_widget_show (packed); gtk_table_attach (GTK_TABLE (table2), packed, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (packed), 2); gtk_tooltips_set_tip (tooltips, packed, "Depending on the container and frontend API, sometimes it is good to ask XviD to group the first bframe of a group with its forward reference frame, that prevents A/V desync\n\nThis setting would be useful if it was used with VFW 1.1 encoders (Windows) because this API does not allow audio contention when no video frames are output.\n\nBut transcode does not suffer from that API problem and the xvid4 module informs transcode to delay frames when needed, so this option is mostly not needed with transcode.", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (packed), TRUE); closed_gop = gtk_check_button_new_with_mnemonic ("Closed Gop"); gtk_widget_show (closed_gop); gtk_table_attach (GTK_TABLE (table2), closed_gop, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (closed_gop), 2); gtk_tooltips_set_tip (tooltips, closed_gop, "A GOP is a Group Of Pictures. Its bounded by two Intra Frames.\n\nThis option controls if XviD must close a GOP, which means that a GOP is independent from the next GOP. This implies just that the last frame of the GOP is eiter a PFrame or a SFrame but not a BFrame. This is usually a good idea to turn on the option", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (closed_gop), TRUE); quarterpel = gtk_check_button_new_with_mnemonic ("Quarterpel"); gtk_widget_show (quarterpel); gtk_table_attach (GTK_TABLE (table2), quarterpel, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (quarterpel), 2); gtk_tooltips_set_tip (tooltips, quarterpel, "MPEG4 uses a half pixel precision for its motion search by default. The standard proposes a mode where encoders are allowed to use quarter pixel precision.\n\nThis option usually results in sharper image. But it has great impact on bitrate and sometimes the higher use of bitrate will prevent it from giving a better image quality at a fixed bitrate. The better is to test w and w/o it and choose after this test, if it's worth activting it.", NULL); gmc = gtk_check_button_new_with_mnemonic ("GMC"); gtk_widget_show (gmc); gtk_table_attach (GTK_TABLE (table2), gmc, 2, 3, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (gmc), 2); gtk_tooltips_set_tip (tooltips, gmc, "Makes XviD generates Sprite Frame which describe best Pan/Zoom/Rotating images. Deciding wether or not you must activate it depends highly on the video material", NULL); label10 = gtk_label_new ("Advanced Simple Profile Specific Settings"); gtk_widget_show (label10); gtk_frame_set_label_widget (GTK_FRAME (frame4), label10); gtk_label_set_use_markup (GTK_LABEL (label10), TRUE); gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (label10), 0, 4); frame5 = gtk_frame_new (NULL); gtk_widget_show (frame5); gtk_box_pack_start (GTK_BOX (vbox1), frame5, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame5), 2); table12 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table12); gtk_container_add (GTK_CONTAINER (frame5), table12); label19 = gtk_label_new ("Frame Drop Tolerance"); gtk_widget_show (label19); gtk_table_attach (GTK_TABLE (table12), label19, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label19), 2, 6); label80 = gtk_label_new ("Debug"); gtk_widget_show (label80); gtk_table_attach (GTK_TABLE (table12), label80, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label80), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label80), 0, 0.5); frame_drop_ratio_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); frame_drop_ratio = gtk_spin_button_new (GTK_ADJUSTMENT (frame_drop_ratio_adj), 1, 0); gtk_widget_show (frame_drop_ratio); gtk_table_attach (GTK_TABLE (table12), frame_drop_ratio, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_tooltips_set_tip (tooltips, frame_drop_ratio, "XviD keeps track of block coding type (skipped, predicted, intra). The skipped block counter can be used to choose wether a frame is so close to its reference that it can be _completly_ skipped.\n\nThis setting allows you to choose the (100 - value) threshold for skipping a frame.", NULL); stats = gtk_check_button_new_with_mnemonic ("Output average PSNR"); gtk_widget_show (stats); gtk_table_attach (GTK_TABLE (table12), stats, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 0); gtk_container_set_border_width (GTK_CONTAINER (stats), 2); gtk_tooltips_set_tip (tooltips, stats, "For testing purposes, or quality measurement, XviD can return some stats about the encoded frames.\n\nThis option activates PSNR measurement, the average PSNR is displayed at the end of the encoding session. This option is probably something a Joe user does not really care. This option makes the encoding a bit slower.", NULL); label79 = gtk_label_new ("Other Settings"); gtk_widget_show (label79); gtk_frame_set_label_widget (GTK_FRAME (frame5), label79); gtk_label_set_use_markup (GTK_LABEL (label79), TRUE); gtk_label_set_justify (GTK_LABEL (label79), GTK_JUSTIFY_LEFT); label3 = gtk_label_new_with_mnemonic ("_Features"); gtk_widget_show (label3); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label3); gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (notebook1), vbox2); label81 = gtk_label_new (""); gtk_widget_show (label81); gtk_box_pack_start (GTK_BOX (vbox2), label81, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label81), GTK_JUSTIFY_LEFT); frame6 = gtk_frame_new (NULL); gtk_widget_show (frame6); gtk_box_pack_start (GTK_BOX (vbox2), frame6, FALSE, TRUE, 0); table4 = gtk_table_new (4, 3, FALSE); gtk_widget_show (table4); gtk_container_add (GTK_CONTAINER (frame6), table4); gtk_container_set_border_width (GTK_CONTAINER (table4), 3); label20 = gtk_label_new ("I-Frame Quantizer"); gtk_widget_show (label20); gtk_table_attach (GTK_TABLE (table4), label20, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label20), 2, 5); label21 = gtk_label_new ("P-Frame Quantizer"); gtk_widget_show (label21); gtk_table_attach (GTK_TABLE (table4), label21, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label21), 2, 5); bquant_min_max_label = gtk_label_new ("B-Frame Quantizer"); gtk_widget_show (bquant_min_max_label); gtk_table_attach (GTK_TABLE (table4), bquant_min_max_label, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (bquant_min_max_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (bquant_min_max_label), 0, 0.5); gtk_misc_set_padding (GTK_MISC (bquant_min_max_label), 2, 5); min_iquant_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10); min_iquant = gtk_spin_button_new (GTK_ADJUSTMENT (min_iquant_adj), 1, 0); gtk_widget_show (min_iquant); gtk_table_attach (GTK_TABLE (table4), min_iquant, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, min_iquant, "Minimum I-Frame Quantizer", NULL); min_pquant_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10); min_pquant = gtk_spin_button_new (GTK_ADJUSTMENT (min_pquant_adj), 1, 0); gtk_widget_show (min_pquant); gtk_table_attach (GTK_TABLE (table4), min_pquant, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, min_pquant, "Minimum P-Frame Quantizer", NULL); min_bquant_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10); min_bquant = gtk_spin_button_new (GTK_ADJUSTMENT (min_bquant_adj), 1, 0); gtk_widget_show (min_bquant); gtk_table_attach (GTK_TABLE (table4), min_bquant, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, min_bquant, "Minimum B-Frame Quantizer", NULL); max_iquant_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10); max_iquant = gtk_spin_button_new (GTK_ADJUSTMENT (max_iquant_adj), 1, 0); gtk_widget_show (max_iquant); gtk_table_attach (GTK_TABLE (table4), max_iquant, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, max_iquant, "Maximum I-Frame Quantizer", NULL); max_pquant_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10); max_pquant = gtk_spin_button_new (GTK_ADJUSTMENT (max_pquant_adj), 1, 0); gtk_widget_show (max_pquant); gtk_table_attach (GTK_TABLE (table4), max_pquant, 2, 3, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, max_pquant, "Maximum I-Frame Quantizer", NULL); max_bquant_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10); max_bquant = gtk_spin_button_new (GTK_ADJUSTMENT (max_bquant_adj), 1, 0); gtk_widget_show (max_bquant); gtk_table_attach (GTK_TABLE (table4), max_bquant, 2, 3, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 2); gtk_tooltips_set_tip (tooltips, max_bquant, "Maximum I-Frame Quantizer", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (max_bquant), TRUE); label29 = gtk_label_new ("Minimum"); gtk_widget_show (label29); gtk_table_attach (GTK_TABLE (table4), label29, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label29), 2, 5); label30 = gtk_label_new ("Maximum"); gtk_widget_show (label30); gtk_table_attach (GTK_TABLE (table4), label30, 2, 3, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label30), 2, 5); label87 = gtk_label_new ("Quantizer ranges"); gtk_widget_show (label87); gtk_frame_set_label_widget (GTK_FRAME (frame6), label87); gtk_label_set_use_markup (GTK_LABEL (label87), TRUE); gtk_label_set_justify (GTK_LABEL (label87), GTK_JUSTIFY_LEFT); frame7 = gtk_frame_new (NULL); gtk_widget_show (frame7); gtk_box_pack_start (GTK_BOX (vbox2), frame7, TRUE, FALSE, 0); table5 = gtk_table_new (3, 4, FALSE); gtk_widget_show (table5); gtk_container_add (GTK_CONTAINER (frame7), table5); gtk_container_set_border_width (GTK_CONTAINER (table5), 3); label26 = gtk_label_new ("Intra Matrix File"); gtk_widget_show (label26); gtk_table_attach (GTK_TABLE (table5), label26, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label26), 2, 5); label27 = gtk_label_new ("Inter Matrix File"); gtk_widget_show (label27); gtk_table_attach (GTK_TABLE (table5), label27, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label27), 2, 5); quant_inter_matrix = gtk_entry_new (); gtk_widget_show (quant_inter_matrix); gtk_table_attach (GTK_TABLE (table5), quant_inter_matrix, 1, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, quant_inter_matrix, "Read Inter Matrix from this file", NULL); quant_intra_matrix = gtk_entry_new (); gtk_widget_show (quant_intra_matrix); gtk_table_attach (GTK_TABLE (table5), quant_intra_matrix, 1, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, quant_intra_matrix, "Read Intra Matrix from this file", NULL); load_intra_matrix_file_but = gtk_button_new_with_mnemonic ("..."); gtk_widget_show (load_intra_matrix_file_but); gtk_table_attach (GTK_TABLE (table5), load_intra_matrix_file_but, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (load_intra_matrix_file_but), 2); gtk_tooltips_set_tip (tooltips, load_intra_matrix_file_but, "Launch File selection Dialog", NULL); load_inter_matrix_file_but = gtk_button_new_with_mnemonic ("..."); gtk_widget_show (load_inter_matrix_file_but); gtk_table_attach (GTK_TABLE (table5), load_inter_matrix_file_but, 3, 4, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (load_inter_matrix_file_but), 2); gtk_tooltips_set_tip (tooltips, load_inter_matrix_file_but, "Launch File selection Dialog", NULL); matrix_editor = gtk_button_new (); gtk_widget_show (matrix_editor); gtk_table_attach (GTK_TABLE (table5), matrix_editor, 1, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (matrix_editor), 2); gtk_tooltips_set_tip (tooltips, matrix_editor, "Launch the Matrix Editor", NULL); alignment10 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment10); gtk_container_add (GTK_CONTAINER (matrix_editor), alignment10); hbox10 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox10); gtk_container_add (GTK_CONTAINER (alignment10), hbox10); image10 = gtk_image_new_from_stock ("gtk-justify-fill", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image10); gtk_box_pack_start (GTK_BOX (hbox10), image10, FALSE, FALSE, 0); label78 = gtk_label_new_with_mnemonic ("Matrix Editor"); gtk_widget_show (label78); gtk_box_pack_start (GTK_BOX (hbox10), label78, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label78), GTK_JUSTIFY_LEFT); label88 = gtk_label_new ("MPEG Quantization Matrices"); gtk_widget_show (label88); gtk_frame_set_label_widget (GTK_FRAME (frame7), label88); gtk_label_set_use_markup (GTK_LABEL (label88), TRUE); gtk_label_set_justify (GTK_LABEL (label88), GTK_JUSTIFY_LEFT); label4 = gtk_label_new_with_mnemonic ("_Quantizers"); gtk_widget_show (label4); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label4); gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT); table8 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table8); gtk_container_add (GTK_CONTAINER (notebook1), table8); gtk_container_set_border_width (GTK_CONTAINER (table8), 3); reaction_delay_factor = gtk_entry_new (); gtk_widget_show (reaction_delay_factor); gtk_table_attach (GTK_TABLE (table8), reaction_delay_factor, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, reaction_delay_factor, "This parameter controls the delay in frames before the CBR rate controller will react to bitrate changes and will try to compensate the change to obtain a constant bitrate over an averaging range of frames (see below). \n\nValue = >=0\nDefault = 16\n0 has a special meaning, it lets XviD uses its own default values", NULL); gtk_entry_set_text (GTK_ENTRY (reaction_delay_factor), "16"); averaging_period = gtk_entry_new (); gtk_widget_show (averaging_period); gtk_table_attach (GTK_TABLE (table8), averaging_period, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, averaging_period, "Real CBR is hard to achieve. Depending on the video material, bitrate can be variable, and hard to predict. That's why XviD uses an averaging period for which it guarantees a given amount of bits (minus a small variation).\n\nThis settings express the \"number of frames\" for which XviD averages bitrate and tries to achieve CBR.\n\nValue = >=0\nDefault = 100\n0 has a special meaning, it lets XviD uses its own default values", NULL); gtk_entry_set_text (GTK_ENTRY (averaging_period), "100"); buffer = gtk_entry_new (); gtk_widget_show (buffer); gtk_table_attach (GTK_TABLE (table8), buffer, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, buffer, "0 has a special meaning, it lets XviD uses its own default values", NULL); gtk_entry_set_text (GTK_ENTRY (buffer), "100"); label50 = gtk_label_new ("Reaction Delay Factor"); gtk_widget_show (label50); gtk_table_attach (GTK_TABLE (table8), label50, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_label_set_justify (GTK_LABEL (label50), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label50), 0, 0.5); label51 = gtk_label_new ("Averaging Period"); gtk_widget_show (label51); gtk_table_attach (GTK_TABLE (table8), label51, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_label_set_justify (GTK_LABEL (label51), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label51), 0, 0.5); label52 = gtk_label_new ("Buffer"); gtk_widget_show (label52); gtk_table_attach (GTK_TABLE (table8), label52, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_label_set_justify (GTK_LABEL (label52), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label52), 0, 0.5); label5 = gtk_label_new_with_mnemonic ("_Single Pass"); gtk_widget_show (label5); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label5); gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT); table9 = gtk_table_new (10, 2, FALSE); gtk_widget_show (table9); gtk_container_add (GTK_CONTAINER (notebook1), table9); gtk_container_set_border_width (GTK_CONTAINER (table9), 2); label55 = gtk_label_new ("Keyframe Boost"); gtk_widget_show (label55); gtk_table_attach (GTK_TABLE (table9), label55, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label55), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label55), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label55), 2, 5); label56 = gtk_label_new ("Overflow Control Strength"); gtk_widget_show (label56); gtk_table_attach (GTK_TABLE (table9), label56, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label56), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label56), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label56), 2, 5); label57 = gtk_label_new ("Curve Compression High"); gtk_widget_show (label57); gtk_table_attach (GTK_TABLE (table9), label57, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label57), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label57), 2, 5); label58 = gtk_label_new ("Curve Compression Low"); gtk_widget_show (label58); gtk_table_attach (GTK_TABLE (table9), label58, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label58), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label58), 2, 5); label59 = gtk_label_new ("Max Overflow Improvement"); gtk_widget_show (label59); gtk_table_attach (GTK_TABLE (table9), label59, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label59), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label59), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label59), 2, 5); label60 = gtk_label_new ("Max Overflow Degradation"); gtk_widget_show (label60); gtk_table_attach (GTK_TABLE (table9), label60, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label60), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label60), 2, 5); label62 = gtk_label_new ("Key Frame Reduction"); gtk_widget_show (label62); gtk_table_attach (GTK_TABLE (table9), label62, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label62), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label62), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label62), 2, 5); label63 = gtk_label_new ("Key Frame Threshold"); gtk_widget_show (label63); gtk_table_attach (GTK_TABLE (table9), label63, 0, 1, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label63), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label63), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label63), 2, 5); label64 = gtk_label_new ("Container Overhead per Frame"); gtk_widget_show (label64); gtk_table_attach (GTK_TABLE (table9), label64, 0, 1, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label64), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label64), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label64), 2, 5); curve_compression_high_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); curve_compression_high = gtk_spin_button_new (GTK_ADJUSTMENT (curve_compression_high_adj), 1, 0); gtk_widget_show (curve_compression_high); gtk_table_attach (GTK_TABLE (table9), curve_compression_high, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, curve_compression_high, "This settigs control how much the upper part of the curve has to get closer to the average bitrate value. The upper part of the curve is the set of values that are higher than the curve average. It is expressed in %.\n\nThink of that setting like a shrinking factor for the upper part of the curve.", NULL); curve_compression_low_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); curve_compression_low = gtk_spin_button_new (GTK_ADJUSTMENT (curve_compression_low_adj), 1, 0); gtk_widget_show (curve_compression_low); gtk_table_attach (GTK_TABLE (table9), curve_compression_low, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, curve_compression_low, "This settigs control how much the lower part of the curve has to get closer to the average bitrate value. The lower part of the curve is the set of values that are lower than the curve average. It is expressed in %.\n\nThink of that setting like a growing factor for the lower part of the curve.", NULL); kfreduction = gtk_entry_new (); gtk_widget_show (kfreduction); gtk_table_attach (GTK_TABLE (table9), kfreduction, 1, 2, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, kfreduction, "This reduction factor is the maximum allowed keyframe penalty applied to a frame in a ivop sequence. The more the frame is distant from the last ivop in the consecutive ivop sequence, the more penalty it is applied. This ensures a maximum bitrate allocation to the last ivop, thus favorizing a good reference frame for following p/s/b vops.", NULL); gtk_entry_set_text (GTK_ENTRY (kfreduction), "20"); kfthreshold = gtk_entry_new (); gtk_widget_show (kfthreshold); gtk_table_attach (GTK_TABLE (table9), kfthreshold, 1, 2, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, kfthreshold, "Distance between two ivops so that it is not decresed its bit allocation by the ivop reduction mechanism.", NULL); gtk_entry_set_text (GTK_ENTRY (kfthreshold), "1"); container_frame_overhead = gtk_entry_new (); gtk_widget_show (container_frame_overhead); gtk_table_attach (GTK_TABLE (table9), container_frame_overhead, 1, 2, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, container_frame_overhead, "Most of the time users express their target bitrate for video w/o taking care of the video container overhead. This small but (mostly) constant overhead can make the target file size is not respected (oversized result). We decided to allow users to set the amount of overhead per frame the container generates (give only an average per frame)\n\nValue = >=0\nDefault = 24 (AVI frame average overhead per frame in bytes)\n0 has a special meaning, it lets XviD uses its own default values", NULL); gtk_entry_set_text (GTK_ENTRY (container_frame_overhead), "24"); keyframe_boost_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); keyframe_boost = gtk_spin_button_new (GTK_ADJUSTMENT (keyframe_boost_adj), 1, 0); gtk_widget_show (keyframe_boost); gtk_table_attach (GTK_TABLE (table9), keyframe_boost, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, keyframe_boost, "This setting tells how many additional amount of bits, Intra Frames are supposed to be given (this \"bossting\" amount of bits is compensated by subtracting the same amount of bits from other frame types pool) \n\nValue = [0..100]", NULL); bitrate_payback_delay_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10); bitrate_payback_delay = gtk_spin_button_new (GTK_ADJUSTMENT (bitrate_payback_delay_adj), 1, 0); gtk_widget_show (bitrate_payback_delay); gtk_table_attach (GTK_TABLE (table9), bitrate_payback_delay, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, bitrate_payback_delay, "During two pass, a scaled bitrate curve is computed. The difference between that expected curve and the result obtained during encoding is called overflow. Obviously, the two pass Rate Controller tries to compensate that overflow distributing it over next frames to be encoded. \nThis setting controls how much overflow is distributed at each new frame. Low values allow lazy overflow control, big rate bursts are compensated more slowly (could lead to lack of precision for small clips). High values make RC compensate very hard the overflow, this can have a very bad impact on quality during rate bursts. \nNB: This setting impacts quality a lot, play with it carefully!", NULL); max_overflow_improvement_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10); max_overflow_improvement = gtk_spin_button_new (GTK_ADJUSTMENT (max_overflow_improvement_adj), 1, 0); gtk_widget_show (max_overflow_improvement); gtk_table_attach (GTK_TABLE (table9), max_overflow_improvement, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, max_overflow_improvement, "During the frame bit allocation, overflow control may increase the frame size. This parameter controls how much the overflow control is allowed to increase the frame size in percent compared to the ideal curve allocation", NULL); max_overflow_degradation_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10); max_overflow_degradation = gtk_spin_button_new (GTK_ADJUSTMENT (max_overflow_degradation_adj), 1, 0); gtk_widget_show (max_overflow_degradation); gtk_table_attach (GTK_TABLE (table9), max_overflow_degradation, 1, 2, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, max_overflow_degradation, "During the frame bit allocation, overflow control may decrease the frame size. This parameter controls how much the overflow control is allowed to decrease the frame size in percent compared to the ideal curve allocation", NULL); label65 = gtk_label_new_with_mnemonic ("_Two Pass"); gtk_widget_show (label65); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label65); gtk_label_set_justify (GTK_LABEL (label65), GTK_JUSTIFY_LEFT); vbox4 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox4); gtk_container_add (GTK_CONTAINER (notebook1), vbox4); label68 = gtk_label_new ("Save and Load a configuration file"); gtk_widget_show (label68); gtk_box_pack_start (GTK_BOX (vbox4), label68, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label68), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (label68), 0, 25); table10 = gtk_table_new (2, 4, FALSE); gtk_widget_show (table10); gtk_box_pack_start (GTK_BOX (vbox4), table10, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table10), 3); label66 = gtk_label_new ("Load From"); gtk_widget_show (label66); gtk_table_attach (GTK_TABLE (table10), label66, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label66), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label66), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label66), 2, 5); label67 = gtk_label_new ("Save To"); gtk_widget_show (label67); gtk_table_attach (GTK_TABLE (table10), label67, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label67), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label67), 0, 0.5); save_file_name_text = gtk_entry_new (); gtk_widget_show (save_file_name_text); gtk_table_attach (GTK_TABLE (table10), save_file_name_text, 1, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, save_file_name_text, "Filename to save settings to", NULL); gtk_entry_set_text (GTK_ENTRY (save_file_name_text), "./xvid4.cfg"); load_file_name_text = gtk_entry_new (); gtk_widget_show (load_file_name_text); gtk_table_attach (GTK_TABLE (table10), load_file_name_text, 1, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 2, 5); gtk_tooltips_set_tip (tooltips, load_file_name_text, "Filename to load settings from", NULL); gtk_entry_set_text (GTK_ENTRY (load_file_name_text), "~/.transcode/xvid4.cfg"); load_settings_filesel_but = gtk_button_new_with_mnemonic ("..."); gtk_widget_show (load_settings_filesel_but); gtk_table_attach (GTK_TABLE (table10), load_settings_filesel_but, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (load_settings_filesel_but), 2); save_settings_filesel_but = gtk_button_new_with_mnemonic ("..."); gtk_widget_show (save_settings_filesel_but); gtk_table_attach (GTK_TABLE (table10), save_settings_filesel_but, 3, 4, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (save_settings_filesel_but), 2); table11 = gtk_table_new (5, 5, FALSE); gtk_widget_show (table11); gtk_box_pack_start (GTK_BOX (vbox4), table11, TRUE, TRUE, 0); quit = gtk_button_new_from_stock ("gtk-quit"); gtk_widget_show (quit); gtk_table_attach (GTK_TABLE (table11), quit, 4, 5, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (quit), 4); gtk_tooltips_set_tip (tooltips, quit, "Close this programm", NULL); save_defaults = gtk_button_new (); gtk_widget_show (save_defaults); gtk_table_attach (GTK_TABLE (table11), save_defaults, 4, 5, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (save_defaults), 2); gtk_tooltips_set_tip (tooltips, save_defaults, "Set default settings for this session", NULL); alignment8 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment8); gtk_container_add (GTK_CONTAINER (save_defaults), alignment8); hbox8 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox8); gtk_container_add (GTK_CONTAINER (alignment8), hbox8); image8 = gtk_image_new_from_stock ("gtk-go-down", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image8); gtk_box_pack_start (GTK_BOX (hbox8), image8, FALSE, FALSE, 0); label76 = gtk_label_new_with_mnemonic ("Set Defaults"); gtk_widget_show (label76); gtk_box_pack_start (GTK_BOX (hbox8), label76, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label76), GTK_JUSTIFY_LEFT); fixed1 = gtk_fixed_new (); gtk_widget_show (fixed1); gtk_table_attach (GTK_TABLE (table11), fixed1, 0, 5, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); restore_defaults = gtk_button_new (); gtk_widget_show (restore_defaults); gtk_table_attach (GTK_TABLE (table11), restore_defaults, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (restore_defaults), 2); gtk_tooltips_set_tip (tooltips, restore_defaults, "Restore default settings for this session", NULL); alignment9 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment9); gtk_container_add (GTK_CONTAINER (restore_defaults), alignment9); hbox9 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox9); gtk_container_add (GTK_CONTAINER (alignment9), hbox9); image9 = gtk_image_new_from_stock ("gtk-go-up", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image9); gtk_box_pack_start (GTK_BOX (hbox9), image9, FALSE, FALSE, 0); label77 = gtk_label_new_with_mnemonic ("Restore Defaults"); gtk_widget_show (label77); gtk_box_pack_start (GTK_BOX (hbox9), label77, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label77), GTK_JUSTIFY_LEFT); load_settings = gtk_button_new (); gtk_widget_show (load_settings); gtk_table_attach (GTK_TABLE (table11), load_settings, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (load_settings), 4); gtk_tooltips_set_tip (tooltips, load_settings, "Load Settings from file", NULL); alignment6 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment6); gtk_container_add (GTK_CONTAINER (load_settings), alignment6); hbox6 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox6); gtk_container_add (GTK_CONTAINER (alignment6), hbox6); image6 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image6); gtk_box_pack_start (GTK_BOX (hbox6), image6, FALSE, FALSE, 0); label74 = gtk_label_new_with_mnemonic ("Load Settings"); gtk_widget_show (label74); gtk_box_pack_start (GTK_BOX (hbox6), label74, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label74), GTK_JUSTIFY_LEFT); fixed2 = gtk_fixed_new (); gtk_widget_show (fixed2); gtk_table_attach (GTK_TABLE (table11), fixed2, 0, 5, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); save_settings = gtk_button_new (); gtk_widget_show (save_settings); gtk_table_attach (GTK_TABLE (table11), save_settings, 4, 5, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (save_settings), 4); gtk_tooltips_set_tip (tooltips, save_settings, "Save Settings to file", NULL); alignment5 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment5); gtk_container_add (GTK_CONTAINER (save_settings), alignment5); hbox5 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox5); gtk_container_add (GTK_CONTAINER (alignment5), hbox5); image5 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image5); gtk_box_pack_start (GTK_BOX (hbox5), image5, FALSE, FALSE, 0); label73 = gtk_label_new_with_mnemonic ("Save Settings"); gtk_widget_show (label73); gtk_box_pack_start (GTK_BOX (hbox5), label73, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label73), GTK_JUSTIFY_LEFT); label7 = gtk_label_new_with_mnemonic ("Save/_Load"); gtk_widget_show (label7); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label7); gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT); frame8 = gtk_frame_new (NULL); gtk_widget_show (frame8); gtk_container_add (GTK_CONTAINER (notebook1), frame8); label91 = gtk_label_new ("XviD Configuration Panel (v"VERSION")\nfor transcode\nCopyright(C) 2003, 2004 Tilmann Bitterberg\n\nHints:\no To get the version on the commandline do\n$ xvid4conf -v \n\no To automatically save settings at exit time\n $ xvid4conf save.cfg\n\no To automatically load settings at startup and safe at exit\n$ xvid4conf save.cfg load.cfg"); gtk_widget_show (label91); gtk_label_set_justify (GTK_LABEL (label91), GTK_JUSTIFY_CENTER); gtk_container_add (GTK_CONTAINER (frame8), label91); gtk_label_set_use_markup (GTK_LABEL (label91), TRUE); label90 = gtk_label_new (""); gtk_widget_show (label90); gtk_frame_set_label_widget (GTK_FRAME (frame8), label90); gtk_label_set_justify (GTK_LABEL (label90), GTK_JUSTIFY_LEFT); label89 = gtk_label_new_with_mnemonic ("_About"); gtk_widget_show (label89); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label89); gtk_label_set_justify (GTK_LABEL (label89), GTK_JUSTIFY_LEFT); g_signal_connect ((gpointer) window1, "delete_event", G_CALLBACK (on_window1_delete_event), NULL); g_signal_connect ((gpointer) max_bframes, "value_changed", G_CALLBACK (on_max_bframes_value_changed), NULL); g_signal_connect ((gpointer) max_bframes, "changed", G_CALLBACK (on_max_bframes_value_changed), NULL); g_signal_connect ((gpointer) load_intra_matrix_file_but, "clicked", G_CALLBACK (on_load_intra_matrix_file_but_clicked), NULL); g_signal_connect ((gpointer) load_inter_matrix_file_but, "clicked", G_CALLBACK (on_load_inter_matrix_file_but_clicked), NULL); g_signal_connect ((gpointer) matrix_editor, "clicked", G_CALLBACK (on_matrix_editor_clicked), NULL); g_signal_connect ((gpointer) load_settings_filesel_but, "clicked", G_CALLBACK (on_load_settings_filesel_but_clicked), NULL); g_signal_connect ((gpointer) save_settings_filesel_but, "clicked", G_CALLBACK (on_save_settings_filesel_but_clicked), NULL); g_signal_connect ((gpointer) quit, "clicked", G_CALLBACK (on_quit_delete_event), NULL); g_signal_connect ((gpointer) save_defaults, "clicked", G_CALLBACK (on_save_defaults_clicked), NULL); g_signal_connect ((gpointer) restore_defaults, "clicked", G_CALLBACK (on_restore_defaults_clicked), NULL); g_signal_connect ((gpointer) load_settings, "clicked", G_CALLBACK (on_load_settings_clicked), NULL); g_signal_connect ((gpointer) save_settings, "clicked", G_CALLBACK (on_save_settings_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1"); GLADE_HOOKUP_OBJECT (window1, notebook1, "notebook1"); GLADE_HOOKUP_OBJECT (window1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (window1, frame3, "frame3"); GLADE_HOOKUP_OBJECT (window1, table1, "table1"); GLADE_HOOKUP_OBJECT (window1, label12, "label12"); GLADE_HOOKUP_OBJECT (window1, label13, "label13"); GLADE_HOOKUP_OBJECT (window1, label14, "label14"); GLADE_HOOKUP_OBJECT (window1, hseparator1, "hseparator1"); GLADE_HOOKUP_OBJECT (window1, quant_type, "quant_type"); GLADE_HOOKUP_OBJECT (window1, menu1, "menu1"); GLADE_HOOKUP_OBJECT (window1, h2631, "h2631"); GLADE_HOOKUP_OBJECT (window1, mpeg1, "mpeg1"); GLADE_HOOKUP_OBJECT (window1, motion, "motion"); GLADE_HOOKUP_OBJECT (window1, menu2, "menu2"); GLADE_HOOKUP_OBJECT (window1, _0_none1, "_0_none1"); GLADE_HOOKUP_OBJECT (window1, _1_very_low1, "_1_very_low1"); GLADE_HOOKUP_OBJECT (window1, _2_low1, "_2_low1"); GLADE_HOOKUP_OBJECT (window1, _3_medium1, "_3_medium1"); GLADE_HOOKUP_OBJECT (window1, _4_high1, "_4_high1"); GLADE_HOOKUP_OBJECT (window1, _5_very_high1, "_5_very_high1"); GLADE_HOOKUP_OBJECT (window1, _6_ultra_high1, "_6_ultra_high1"); GLADE_HOOKUP_OBJECT (window1, vhq, "vhq"); GLADE_HOOKUP_OBJECT (window1, menu3, "menu3"); GLADE_HOOKUP_OBJECT (window1, _0_disabled1, "_0_disabled1"); GLADE_HOOKUP_OBJECT (window1, _1_mode_selection1, "_1_mode_selection1"); GLADE_HOOKUP_OBJECT (window1, _2_limited_search1, "_2_limited_search1"); GLADE_HOOKUP_OBJECT (window1, _3_medium_search1, "_3_medium_search1"); GLADE_HOOKUP_OBJECT (window1, _4_wide_search1, "_4_wide_search1"); GLADE_HOOKUP_OBJECT (window1, table13, "table13"); GLADE_HOOKUP_OBJECT (window1, chromame, "chromame"); GLADE_HOOKUP_OBJECT (window1, hqacpred, "hqacpred"); GLADE_HOOKUP_OBJECT (window1, trellis, "trellis"); GLADE_HOOKUP_OBJECT (window1, cartoon, "cartoon"); GLADE_HOOKUP_OBJECT (window1, interlaced, "interlaced"); GLADE_HOOKUP_OBJECT (window1, greyscale, "greyscale"); GLADE_HOOKUP_OBJECT (window1, turbo, "turbo"); GLADE_HOOKUP_OBJECT (window1, label9, "label9"); GLADE_HOOKUP_OBJECT (window1, frame4, "frame4"); GLADE_HOOKUP_OBJECT (window1, table2, "table2"); GLADE_HOOKUP_OBJECT (window1, label15, "label15"); GLADE_HOOKUP_OBJECT (window1, bquant_ratio_label, "bquant_ratio_label"); GLADE_HOOKUP_OBJECT (window1, bquant_offset_label, "bquant_offset_label"); GLADE_HOOKUP_OBJECT (window1, bframe_threshold_label, "bframe_threshold_label"); GLADE_HOOKUP_OBJECT (window1, bframe_threshold, "bframe_threshold"); GLADE_HOOKUP_OBJECT (window1, bquant_offset, "bquant_offset"); GLADE_HOOKUP_OBJECT (window1, bquant_ratio, "bquant_ratio"); GLADE_HOOKUP_OBJECT (window1, max_bframes, "max_bframes"); GLADE_HOOKUP_OBJECT (window1, packed, "packed"); GLADE_HOOKUP_OBJECT (window1, closed_gop, "closed_gop"); GLADE_HOOKUP_OBJECT (window1, quarterpel, "quarterpel"); GLADE_HOOKUP_OBJECT (window1, gmc, "gmc"); GLADE_HOOKUP_OBJECT (window1, label10, "label10"); GLADE_HOOKUP_OBJECT (window1, frame5, "frame5"); GLADE_HOOKUP_OBJECT (window1, table12, "table12"); GLADE_HOOKUP_OBJECT (window1, label19, "label19"); GLADE_HOOKUP_OBJECT (window1, label80, "label80"); GLADE_HOOKUP_OBJECT (window1, frame_drop_ratio, "frame_drop_ratio"); GLADE_HOOKUP_OBJECT (window1, stats, "stats"); GLADE_HOOKUP_OBJECT (window1, label79, "label79"); GLADE_HOOKUP_OBJECT (window1, label3, "label3"); GLADE_HOOKUP_OBJECT (window1, vbox2, "vbox2"); GLADE_HOOKUP_OBJECT (window1, label81, "label81"); GLADE_HOOKUP_OBJECT (window1, frame6, "frame6"); GLADE_HOOKUP_OBJECT (window1, table4, "table4"); GLADE_HOOKUP_OBJECT (window1, label20, "label20"); GLADE_HOOKUP_OBJECT (window1, label21, "label21"); GLADE_HOOKUP_OBJECT (window1, bquant_min_max_label, "bquant_min_max_label"); GLADE_HOOKUP_OBJECT (window1, min_iquant, "min_iquant"); GLADE_HOOKUP_OBJECT (window1, min_pquant, "min_pquant"); GLADE_HOOKUP_OBJECT (window1, min_bquant, "min_bquant"); GLADE_HOOKUP_OBJECT (window1, max_iquant, "max_iquant"); GLADE_HOOKUP_OBJECT (window1, max_pquant, "max_pquant"); GLADE_HOOKUP_OBJECT (window1, max_bquant, "max_bquant"); GLADE_HOOKUP_OBJECT (window1, label29, "label29"); GLADE_HOOKUP_OBJECT (window1, label30, "label30"); GLADE_HOOKUP_OBJECT (window1, label87, "label87"); GLADE_HOOKUP_OBJECT (window1, frame7, "frame7"); GLADE_HOOKUP_OBJECT (window1, table5, "table5"); GLADE_HOOKUP_OBJECT (window1, label26, "label26"); GLADE_HOOKUP_OBJECT (window1, label27, "label27"); GLADE_HOOKUP_OBJECT (window1, quant_inter_matrix, "quant_inter_matrix"); GLADE_HOOKUP_OBJECT (window1, quant_intra_matrix, "quant_intra_matrix"); GLADE_HOOKUP_OBJECT (window1, load_intra_matrix_file_but, "load_intra_matrix_file_but"); GLADE_HOOKUP_OBJECT (window1, load_inter_matrix_file_but, "load_inter_matrix_file_but"); GLADE_HOOKUP_OBJECT (window1, matrix_editor, "matrix_editor"); GLADE_HOOKUP_OBJECT (window1, alignment10, "alignment10"); GLADE_HOOKUP_OBJECT (window1, hbox10, "hbox10"); GLADE_HOOKUP_OBJECT (window1, image10, "image10"); GLADE_HOOKUP_OBJECT (window1, label78, "label78"); GLADE_HOOKUP_OBJECT (window1, label88, "label88"); GLADE_HOOKUP_OBJECT (window1, label4, "label4"); GLADE_HOOKUP_OBJECT (window1, table8, "table8"); GLADE_HOOKUP_OBJECT (window1, reaction_delay_factor, "reaction_delay_factor"); GLADE_HOOKUP_OBJECT (window1, averaging_period, "averaging_period"); GLADE_HOOKUP_OBJECT (window1, buffer, "buffer"); GLADE_HOOKUP_OBJECT (window1, label50, "label50"); GLADE_HOOKUP_OBJECT (window1, label51, "label51"); GLADE_HOOKUP_OBJECT (window1, label52, "label52"); GLADE_HOOKUP_OBJECT (window1, label5, "label5"); GLADE_HOOKUP_OBJECT (window1, table9, "table9"); GLADE_HOOKUP_OBJECT (window1, label55, "label55"); GLADE_HOOKUP_OBJECT (window1, label56, "label56"); GLADE_HOOKUP_OBJECT (window1, label57, "label57"); GLADE_HOOKUP_OBJECT (window1, label58, "label58"); GLADE_HOOKUP_OBJECT (window1, label59, "label59"); GLADE_HOOKUP_OBJECT (window1, label60, "label60"); GLADE_HOOKUP_OBJECT (window1, label62, "label62"); GLADE_HOOKUP_OBJECT (window1, label63, "label63"); GLADE_HOOKUP_OBJECT (window1, label64, "label64"); GLADE_HOOKUP_OBJECT (window1, curve_compression_high, "curve_compression_high"); GLADE_HOOKUP_OBJECT (window1, curve_compression_low, "curve_compression_low"); GLADE_HOOKUP_OBJECT (window1, kfreduction, "kfreduction"); GLADE_HOOKUP_OBJECT (window1, kfthreshold, "kfthreshold"); GLADE_HOOKUP_OBJECT (window1, container_frame_overhead, "container_frame_overhead"); GLADE_HOOKUP_OBJECT (window1, keyframe_boost, "keyframe_boost"); GLADE_HOOKUP_OBJECT (window1, bitrate_payback_delay, "bitrate_payback_delay"); GLADE_HOOKUP_OBJECT (window1, max_overflow_improvement, "max_overflow_improvement"); GLADE_HOOKUP_OBJECT (window1, max_overflow_degradation, "max_overflow_degradation"); GLADE_HOOKUP_OBJECT (window1, label65, "label65"); GLADE_HOOKUP_OBJECT (window1, vbox4, "vbox4"); GLADE_HOOKUP_OBJECT (window1, label68, "label68"); GLADE_HOOKUP_OBJECT (window1, table10, "table10"); GLADE_HOOKUP_OBJECT (window1, label66, "label66"); GLADE_HOOKUP_OBJECT (window1, label67, "label67"); GLADE_HOOKUP_OBJECT (window1, save_file_name_text, "save_file_name_text"); GLADE_HOOKUP_OBJECT (window1, load_file_name_text, "load_file_name_text"); GLADE_HOOKUP_OBJECT (window1, load_settings_filesel_but, "load_settings_filesel_but"); GLADE_HOOKUP_OBJECT (window1, save_settings_filesel_but, "save_settings_filesel_but"); GLADE_HOOKUP_OBJECT (window1, table11, "table11"); GLADE_HOOKUP_OBJECT (window1, quit, "quit"); GLADE_HOOKUP_OBJECT (window1, save_defaults, "save_defaults"); GLADE_HOOKUP_OBJECT (window1, alignment8, "alignment8"); GLADE_HOOKUP_OBJECT (window1, hbox8, "hbox8"); GLADE_HOOKUP_OBJECT (window1, image8, "image8"); GLADE_HOOKUP_OBJECT (window1, label76, "label76"); GLADE_HOOKUP_OBJECT (window1, fixed1, "fixed1"); GLADE_HOOKUP_OBJECT (window1, restore_defaults, "restore_defaults"); GLADE_HOOKUP_OBJECT (window1, alignment9, "alignment9"); GLADE_HOOKUP_OBJECT (window1, hbox9, "hbox9"); GLADE_HOOKUP_OBJECT (window1, image9, "image9"); GLADE_HOOKUP_OBJECT (window1, label77, "label77"); GLADE_HOOKUP_OBJECT (window1, load_settings, "load_settings"); GLADE_HOOKUP_OBJECT (window1, alignment6, "alignment6"); GLADE_HOOKUP_OBJECT (window1, hbox6, "hbox6"); GLADE_HOOKUP_OBJECT (window1, image6, "image6"); GLADE_HOOKUP_OBJECT (window1, label74, "label74"); GLADE_HOOKUP_OBJECT (window1, fixed2, "fixed2"); GLADE_HOOKUP_OBJECT (window1, save_settings, "save_settings"); GLADE_HOOKUP_OBJECT (window1, alignment5, "alignment5"); GLADE_HOOKUP_OBJECT (window1, hbox5, "hbox5"); GLADE_HOOKUP_OBJECT (window1, image5, "image5"); GLADE_HOOKUP_OBJECT (window1, label73, "label73"); GLADE_HOOKUP_OBJECT (window1, label7, "label7"); GLADE_HOOKUP_OBJECT (window1, frame8, "frame8"); GLADE_HOOKUP_OBJECT (window1, label91, "label91"); GLADE_HOOKUP_OBJECT (window1, label90, "label90"); GLADE_HOOKUP_OBJECT (window1, label89, "label89"); GLADE_HOOKUP_OBJECT_NO_REF (window1, tooltips, "tooltips"); return window1; } GtkWidget* create_matrix_edit_dlg (void) { GtkWidget *matrix_edit_dlg; GtkWidget *vbox3; GtkWidget *table6; GtkWidget *label32; GtkWidget *label33; GtkWidget *label34; GtkWidget *label35; GtkWidget *label36; GtkWidget *label37; GtkWidget *label38; GtkWidget *label40; GtkWidget *label41; GtkWidget *label42; GtkWidget *label43; GtkWidget *label44; GtkWidget *label45; GtkWidget *label46; GtkWidget *label47; GtkWidget *label48; GtkWidget *a00; GtkWidget *a10; GtkWidget *a20; GtkWidget *a30; GtkWidget *a40; GtkWidget *a50; GtkWidget *a60; GtkWidget *a70; GtkWidget *a01; GtkWidget *a11; GtkWidget *a21; GtkWidget *a31; GtkWidget *a41; GtkWidget *a51; GtkWidget *a61; GtkWidget *a71; GtkWidget *a02; GtkWidget *a12; GtkWidget *a22; GtkWidget *a32; GtkWidget *a42; GtkWidget *a52; GtkWidget *a62; GtkWidget *a72; GtkWidget *a03; GtkWidget *a13; GtkWidget *a23; GtkWidget *a33; GtkWidget *a43; GtkWidget *a53; GtkWidget *a63; GtkWidget *a73; GtkWidget *a04; GtkWidget *a14; GtkWidget *a24; GtkWidget *a34; GtkWidget *a44; GtkWidget *a54; GtkWidget *a64; GtkWidget *a74; GtkWidget *a05; GtkWidget *a15; GtkWidget *a25; GtkWidget *a35; GtkWidget *a45; GtkWidget *a55; GtkWidget *a65; GtkWidget *a75; GtkWidget *a06; GtkWidget *a16; GtkWidget *a26; GtkWidget *a36; GtkWidget *a46; GtkWidget *a56; GtkWidget *a66; GtkWidget *a76; GtkWidget *a07; GtkWidget *a17; GtkWidget *a27; GtkWidget *a37; GtkWidget *a47; GtkWidget *a57; GtkWidget *a67; GtkWidget *a77; GtkWidget *table7; GtkWidget *label31; GtkWidget *close_matrix_edit_but; GtkWidget *alignment1; GtkWidget *hbox1; GtkWidget *image1; GtkWidget *label69; GtkWidget *open_matrix_file_dlg; GtkWidget *matrix_edit_file; GtkWidget *hseparator2; GtkWidget *clear_matrix_but; GtkWidget *alignment4; GtkWidget *hbox4; GtkWidget *image4; GtkWidget *label72; GtkWidget *save_matrix_edit_but; GtkWidget *alignment2; GtkWidget *hbox2; GtkWidget *image2; GtkWidget *label70; GtkWidget *load_matrix_edit_but; GtkWidget *alignment3; GtkWidget *hbox3; GtkWidget *image3; GtkWidget *label71; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); matrix_edit_dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (matrix_edit_dlg), "Matrix Editor"); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (matrix_edit_dlg), vbox3); gtk_container_set_border_width (GTK_CONTAINER (vbox3), 2); table6 = gtk_table_new (9, 9, FALSE); gtk_widget_show (table6); gtk_box_pack_start (GTK_BOX (vbox3), table6, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table6), 2); label32 = gtk_label_new ("X1"); gtk_widget_show (label32); gtk_table_attach (GTK_TABLE (table6), label32, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label32), 2, 5); label33 = gtk_label_new ("X2"); gtk_widget_show (label33); gtk_table_attach (GTK_TABLE (table6), label33, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label33), 2, 5); label34 = gtk_label_new ("X3"); gtk_widget_show (label34); gtk_table_attach (GTK_TABLE (table6), label34, 4, 5, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label34), 2, 5); label35 = gtk_label_new ("X4"); gtk_widget_show (label35); gtk_table_attach (GTK_TABLE (table6), label35, 5, 6, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label35), 2, 5); label36 = gtk_label_new ("X5"); gtk_widget_show (label36); gtk_table_attach (GTK_TABLE (table6), label36, 6, 7, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label36), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label36), 2, 5); label37 = gtk_label_new ("X6"); gtk_widget_show (label37); gtk_table_attach (GTK_TABLE (table6), label37, 7, 8, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label37), 2, 5); label38 = gtk_label_new ("X7"); gtk_widget_show (label38); gtk_table_attach (GTK_TABLE (table6), label38, 8, 9, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label38), 2, 5); label40 = gtk_label_new ("X0"); gtk_widget_show (label40); gtk_table_attach (GTK_TABLE (table6), label40, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label40), 2, 5); label41 = gtk_label_new ("Y0"); gtk_widget_show (label41); gtk_table_attach (GTK_TABLE (table6), label41, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label41), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label41), 2, 5); label42 = gtk_label_new ("Y1"); gtk_widget_show (label42); gtk_table_attach (GTK_TABLE (table6), label42, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label42), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label42), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label42), 2, 5); label43 = gtk_label_new ("Y2"); gtk_widget_show (label43); gtk_table_attach (GTK_TABLE (table6), label43, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label43), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label43), 2, 5); label44 = gtk_label_new ("Y3"); gtk_widget_show (label44); gtk_table_attach (GTK_TABLE (table6), label44, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label44), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label44), 2, 5); label45 = gtk_label_new ("Y4"); gtk_widget_show (label45); gtk_table_attach (GTK_TABLE (table6), label45, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label45), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label45), 2, 5); label46 = gtk_label_new ("Y5"); gtk_widget_show (label46); gtk_table_attach (GTK_TABLE (table6), label46, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label46), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label46), 2, 5); label47 = gtk_label_new ("Y6"); gtk_widget_show (label47); gtk_table_attach (GTK_TABLE (table6), label47, 0, 1, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label47), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label47), 2, 5); label48 = gtk_label_new ("Y7"); gtk_widget_show (label48); gtk_table_attach (GTK_TABLE (table6), label48, 0, 1, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label48), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label48), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label48), 2, 2); a00 = gtk_entry_new (); gtk_widget_show (a00); gtk_table_attach (GTK_TABLE (table6), a00, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a00), 4); a10 = gtk_entry_new (); gtk_widget_show (a10); gtk_table_attach (GTK_TABLE (table6), a10, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a10), 4); a20 = gtk_entry_new (); gtk_widget_show (a20); gtk_table_attach (GTK_TABLE (table6), a20, 3, 4, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a20), 4); a30 = gtk_entry_new (); gtk_widget_show (a30); gtk_table_attach (GTK_TABLE (table6), a30, 4, 5, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a30), 4); a40 = gtk_entry_new (); gtk_widget_show (a40); gtk_table_attach (GTK_TABLE (table6), a40, 5, 6, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a40), 4); a50 = gtk_entry_new (); gtk_widget_show (a50); gtk_table_attach (GTK_TABLE (table6), a50, 6, 7, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a50), 4); a60 = gtk_entry_new (); gtk_widget_show (a60); gtk_table_attach (GTK_TABLE (table6), a60, 7, 8, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a60), 4); a70 = gtk_entry_new (); gtk_widget_show (a70); gtk_table_attach (GTK_TABLE (table6), a70, 8, 9, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a70), 4); a01 = gtk_entry_new (); gtk_widget_show (a01); gtk_table_attach (GTK_TABLE (table6), a01, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a01), 4); a11 = gtk_entry_new (); gtk_widget_show (a11); gtk_table_attach (GTK_TABLE (table6), a11, 2, 3, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a11), 4); a21 = gtk_entry_new (); gtk_widget_show (a21); gtk_table_attach (GTK_TABLE (table6), a21, 3, 4, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a21), 4); a31 = gtk_entry_new (); gtk_widget_show (a31); gtk_table_attach (GTK_TABLE (table6), a31, 4, 5, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a31), 4); a41 = gtk_entry_new (); gtk_widget_show (a41); gtk_table_attach (GTK_TABLE (table6), a41, 5, 6, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a41), 4); a51 = gtk_entry_new (); gtk_widget_show (a51); gtk_table_attach (GTK_TABLE (table6), a51, 6, 7, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a51), 4); a61 = gtk_entry_new (); gtk_widget_show (a61); gtk_table_attach (GTK_TABLE (table6), a61, 7, 8, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a61), 4); a71 = gtk_entry_new (); gtk_widget_show (a71); gtk_table_attach (GTK_TABLE (table6), a71, 8, 9, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a71), 4); a02 = gtk_entry_new (); gtk_widget_show (a02); gtk_table_attach (GTK_TABLE (table6), a02, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a02), 4); a12 = gtk_entry_new (); gtk_widget_show (a12); gtk_table_attach (GTK_TABLE (table6), a12, 2, 3, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a12), 4); a22 = gtk_entry_new (); gtk_widget_show (a22); gtk_table_attach (GTK_TABLE (table6), a22, 3, 4, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a22), 4); a32 = gtk_entry_new (); gtk_widget_show (a32); gtk_table_attach (GTK_TABLE (table6), a32, 4, 5, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a32), 4); a42 = gtk_entry_new (); gtk_widget_show (a42); gtk_table_attach (GTK_TABLE (table6), a42, 5, 6, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a42), 4); a52 = gtk_entry_new (); gtk_widget_show (a52); gtk_table_attach (GTK_TABLE (table6), a52, 6, 7, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a52), 4); a62 = gtk_entry_new (); gtk_widget_show (a62); gtk_table_attach (GTK_TABLE (table6), a62, 7, 8, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a62), 4); a72 = gtk_entry_new (); gtk_widget_show (a72); gtk_table_attach (GTK_TABLE (table6), a72, 8, 9, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a72), 4); a03 = gtk_entry_new (); gtk_widget_show (a03); gtk_table_attach (GTK_TABLE (table6), a03, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a03), 4); a13 = gtk_entry_new (); gtk_widget_show (a13); gtk_table_attach (GTK_TABLE (table6), a13, 2, 3, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a13), 4); a23 = gtk_entry_new (); gtk_widget_show (a23); gtk_table_attach (GTK_TABLE (table6), a23, 3, 4, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a23), 4); a33 = gtk_entry_new (); gtk_widget_show (a33); gtk_table_attach (GTK_TABLE (table6), a33, 4, 5, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a33), 4); a43 = gtk_entry_new (); gtk_widget_show (a43); gtk_table_attach (GTK_TABLE (table6), a43, 5, 6, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a43), 4); a53 = gtk_entry_new (); gtk_widget_show (a53); gtk_table_attach (GTK_TABLE (table6), a53, 6, 7, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a53), 4); a63 = gtk_entry_new (); gtk_widget_show (a63); gtk_table_attach (GTK_TABLE (table6), a63, 7, 8, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a63), 4); a73 = gtk_entry_new (); gtk_widget_show (a73); gtk_table_attach (GTK_TABLE (table6), a73, 8, 9, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a73), 4); a04 = gtk_entry_new (); gtk_widget_show (a04); gtk_table_attach (GTK_TABLE (table6), a04, 1, 2, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a04), 4); a14 = gtk_entry_new (); gtk_widget_show (a14); gtk_table_attach (GTK_TABLE (table6), a14, 2, 3, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a14), 4); a24 = gtk_entry_new (); gtk_widget_show (a24); gtk_table_attach (GTK_TABLE (table6), a24, 3, 4, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a24), 4); a34 = gtk_entry_new (); gtk_widget_show (a34); gtk_table_attach (GTK_TABLE (table6), a34, 4, 5, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a34), 4); a44 = gtk_entry_new (); gtk_widget_show (a44); gtk_table_attach (GTK_TABLE (table6), a44, 5, 6, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a44), 4); a54 = gtk_entry_new (); gtk_widget_show (a54); gtk_table_attach (GTK_TABLE (table6), a54, 6, 7, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a54), 4); a64 = gtk_entry_new (); gtk_widget_show (a64); gtk_table_attach (GTK_TABLE (table6), a64, 7, 8, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a64), 4); a74 = gtk_entry_new (); gtk_widget_show (a74); gtk_table_attach (GTK_TABLE (table6), a74, 8, 9, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a74), 4); a05 = gtk_entry_new (); gtk_widget_show (a05); gtk_table_attach (GTK_TABLE (table6), a05, 1, 2, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a05), 4); a15 = gtk_entry_new (); gtk_widget_show (a15); gtk_table_attach (GTK_TABLE (table6), a15, 2, 3, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a15), 4); a25 = gtk_entry_new (); gtk_widget_show (a25); gtk_table_attach (GTK_TABLE (table6), a25, 3, 4, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a25), 4); a35 = gtk_entry_new (); gtk_widget_show (a35); gtk_table_attach (GTK_TABLE (table6), a35, 4, 5, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a35), 4); a45 = gtk_entry_new (); gtk_widget_show (a45); gtk_table_attach (GTK_TABLE (table6), a45, 5, 6, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a45), 4); a55 = gtk_entry_new (); gtk_widget_show (a55); gtk_table_attach (GTK_TABLE (table6), a55, 6, 7, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a55), 4); a65 = gtk_entry_new (); gtk_widget_show (a65); gtk_table_attach (GTK_TABLE (table6), a65, 7, 8, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a65), 4); a75 = gtk_entry_new (); gtk_widget_show (a75); gtk_table_attach (GTK_TABLE (table6), a75, 8, 9, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a75), 4); a06 = gtk_entry_new (); gtk_widget_show (a06); gtk_table_attach (GTK_TABLE (table6), a06, 1, 2, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a06), 4); a16 = gtk_entry_new (); gtk_widget_show (a16); gtk_table_attach (GTK_TABLE (table6), a16, 2, 3, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a16), 4); a26 = gtk_entry_new (); gtk_widget_show (a26); gtk_table_attach (GTK_TABLE (table6), a26, 3, 4, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a26), 4); a36 = gtk_entry_new (); gtk_widget_show (a36); gtk_table_attach (GTK_TABLE (table6), a36, 4, 5, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a36), 4); a46 = gtk_entry_new (); gtk_widget_show (a46); gtk_table_attach (GTK_TABLE (table6), a46, 5, 6, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a46), 4); a56 = gtk_entry_new (); gtk_widget_show (a56); gtk_table_attach (GTK_TABLE (table6), a56, 6, 7, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a56), 4); a66 = gtk_entry_new (); gtk_widget_show (a66); gtk_table_attach (GTK_TABLE (table6), a66, 7, 8, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a66), 4); a76 = gtk_entry_new (); gtk_widget_show (a76); gtk_table_attach (GTK_TABLE (table6), a76, 8, 9, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a76), 4); a07 = gtk_entry_new (); gtk_widget_show (a07); gtk_table_attach (GTK_TABLE (table6), a07, 1, 2, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a07), 4); a17 = gtk_entry_new (); gtk_widget_show (a17); gtk_table_attach (GTK_TABLE (table6), a17, 2, 3, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a17), 4); a27 = gtk_entry_new (); gtk_widget_show (a27); gtk_table_attach (GTK_TABLE (table6), a27, 3, 4, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a27), 4); a37 = gtk_entry_new (); gtk_widget_show (a37); gtk_table_attach (GTK_TABLE (table6), a37, 4, 5, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a37), 4); a47 = gtk_entry_new (); gtk_widget_show (a47); gtk_table_attach (GTK_TABLE (table6), a47, 5, 6, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a47), 4); a57 = gtk_entry_new (); gtk_widget_show (a57); gtk_table_attach (GTK_TABLE (table6), a57, 6, 7, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a57), 4); a67 = gtk_entry_new (); gtk_widget_show (a67); gtk_table_attach (GTK_TABLE (table6), a67, 7, 8, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a67), 4); a77 = gtk_entry_new (); gtk_widget_show (a77); gtk_table_attach (GTK_TABLE (table6), a77, 8, 9, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_width_chars (GTK_ENTRY (a77), 4); table7 = gtk_table_new (3, 6, FALSE); gtk_widget_show (table7); gtk_box_pack_start (GTK_BOX (vbox3), table7, TRUE, TRUE, 0); label31 = gtk_label_new ("Filename"); gtk_widget_show (label31); gtk_table_attach (GTK_TABLE (table7), label31, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label31), 4, 5); close_matrix_edit_but = gtk_button_new (); gtk_widget_show (close_matrix_edit_but); gtk_table_attach (GTK_TABLE (table7), close_matrix_edit_but, 4, 5, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (close_matrix_edit_but), 2); gtk_tooltips_set_tip (tooltips, close_matrix_edit_but, "Close this window", NULL); alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment1); gtk_container_add (GTK_CONTAINER (close_matrix_edit_but), alignment1); hbox1 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (alignment1), hbox1); image1 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image1); gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, FALSE, 0); label69 = gtk_label_new_with_mnemonic ("Dismiss"); gtk_widget_show (label69); gtk_box_pack_start (GTK_BOX (hbox1), label69, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label69), GTK_JUSTIFY_LEFT); open_matrix_file_dlg = gtk_button_new_with_mnemonic ("..."); gtk_widget_show (open_matrix_file_dlg); gtk_table_attach (GTK_TABLE (table7), open_matrix_file_dlg, 5, 6, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (open_matrix_file_dlg), 2); gtk_tooltips_set_tip (tooltips, open_matrix_file_dlg, "Open the file selection dialog", NULL); matrix_edit_file = gtk_entry_new (); gtk_widget_show (matrix_edit_file); gtk_table_attach (GTK_TABLE (table7), matrix_edit_file, 1, 5, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); hseparator2 = gtk_hseparator_new (); gtk_widget_show (hseparator2); gtk_table_attach (GTK_TABLE (table7), hseparator2, 0, 6, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); clear_matrix_but = gtk_button_new (); gtk_widget_show (clear_matrix_but); gtk_table_attach (GTK_TABLE (table7), clear_matrix_but, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (clear_matrix_but), 2); gtk_tooltips_set_tip (tooltips, clear_matrix_but, "Clear all fields", NULL); alignment4 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment4); gtk_container_add (GTK_CONTAINER (clear_matrix_but), alignment4); hbox4 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox4); gtk_container_add (GTK_CONTAINER (alignment4), hbox4); image4 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image4); gtk_box_pack_start (GTK_BOX (hbox4), image4, FALSE, FALSE, 0); label72 = gtk_label_new_with_mnemonic ("Clear"); gtk_widget_show (label72); gtk_box_pack_start (GTK_BOX (hbox4), label72, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label72), GTK_JUSTIFY_LEFT); save_matrix_edit_but = gtk_button_new (); gtk_widget_show (save_matrix_edit_but); gtk_table_attach (GTK_TABLE (table7), save_matrix_edit_but, 3, 4, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (save_matrix_edit_but), 2); gtk_tooltips_set_tip (tooltips, save_matrix_edit_but, "Save Matrix to filename", NULL); alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment2); gtk_container_add (GTK_CONTAINER (save_matrix_edit_but), alignment2); hbox2 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox2); gtk_container_add (GTK_CONTAINER (alignment2), hbox2); image2 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image2); gtk_box_pack_start (GTK_BOX (hbox2), image2, FALSE, FALSE, 0); label70 = gtk_label_new_with_mnemonic ("Save"); gtk_widget_show (label70); gtk_box_pack_start (GTK_BOX (hbox2), label70, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label70), GTK_JUSTIFY_LEFT); load_matrix_edit_but = gtk_button_new (); gtk_widget_show (load_matrix_edit_but); gtk_table_attach (GTK_TABLE (table7), load_matrix_edit_but, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (load_matrix_edit_but), 2); gtk_tooltips_set_tip (tooltips, load_matrix_edit_but, "Load Matrix from filename", NULL); alignment3 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment3); gtk_container_add (GTK_CONTAINER (load_matrix_edit_but), alignment3); hbox3 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox3); gtk_container_add (GTK_CONTAINER (alignment3), hbox3); image3 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image3); gtk_box_pack_start (GTK_BOX (hbox3), image3, FALSE, FALSE, 0); label71 = gtk_label_new_with_mnemonic ("Load"); gtk_widget_show (label71); gtk_box_pack_start (GTK_BOX (hbox3), label71, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label71), GTK_JUSTIFY_LEFT); g_signal_connect_swapped ((gpointer) close_matrix_edit_but, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (matrix_edit_dlg)); g_signal_connect ((gpointer) open_matrix_file_dlg, "clicked", G_CALLBACK (on_open_matrix_file_dlg_clicked), NULL); g_signal_connect ((gpointer) clear_matrix_but, "clicked", G_CALLBACK (on_clear_matrix_but_clicked), NULL); g_signal_connect ((gpointer) save_matrix_edit_but, "clicked", G_CALLBACK (on_save_matrix_edit_but_clicked), NULL); g_signal_connect ((gpointer) load_matrix_edit_but, "clicked", G_CALLBACK (on_load_matrix_edit_but_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (matrix_edit_dlg, matrix_edit_dlg, "matrix_edit_dlg"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, vbox3, "vbox3"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, table6, "table6"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label32, "label32"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label33, "label33"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label34, "label34"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label35, "label35"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label36, "label36"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label37, "label37"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label38, "label38"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label40, "label40"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label41, "label41"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label42, "label42"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label43, "label43"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label44, "label44"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label45, "label45"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label46, "label46"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label47, "label47"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label48, "label48"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a00, "a00"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a10, "a10"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a20, "a20"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a30, "a30"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a40, "a40"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a50, "a50"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a60, "a60"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a70, "a70"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a01, "a01"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a11, "a11"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a21, "a21"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a31, "a31"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a41, "a41"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a51, "a51"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a61, "a61"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a71, "a71"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a02, "a02"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a12, "a12"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a22, "a22"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a32, "a32"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a42, "a42"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a52, "a52"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a62, "a62"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a72, "a72"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a03, "a03"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a13, "a13"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a23, "a23"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a33, "a33"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a43, "a43"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a53, "a53"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a63, "a63"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a73, "a73"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a04, "a04"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a14, "a14"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a24, "a24"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a34, "a34"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a44, "a44"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a54, "a54"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a64, "a64"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a74, "a74"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a05, "a05"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a15, "a15"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a25, "a25"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a35, "a35"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a45, "a45"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a55, "a55"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a65, "a65"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a75, "a75"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a06, "a06"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a16, "a16"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a26, "a26"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a36, "a36"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a46, "a46"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a56, "a56"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a66, "a66"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a76, "a76"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a07, "a07"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a17, "a17"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a27, "a27"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a37, "a37"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a47, "a47"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a57, "a57"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a67, "a67"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, a77, "a77"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, table7, "table7"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label31, "label31"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, close_matrix_edit_but, "close_matrix_edit_but"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, alignment1, "alignment1"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, image1, "image1"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label69, "label69"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, open_matrix_file_dlg, "open_matrix_file_dlg"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, matrix_edit_file, "matrix_edit_file"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, hseparator2, "hseparator2"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, clear_matrix_but, "clear_matrix_but"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, alignment4, "alignment4"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, hbox4, "hbox4"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, image4, "image4"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label72, "label72"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, save_matrix_edit_but, "save_matrix_edit_but"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, alignment2, "alignment2"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, hbox2, "hbox2"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, image2, "image2"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label70, "label70"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, load_matrix_edit_but, "load_matrix_edit_but"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, alignment3, "alignment3"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, hbox3, "hbox3"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, image3, "image3"); GLADE_HOOKUP_OBJECT (matrix_edit_dlg, label71, "label71"); GLADE_HOOKUP_OBJECT_NO_REF (matrix_edit_dlg, tooltips, "tooltips"); return matrix_edit_dlg; } GtkWidget* create_load_settings_dlg (void) { GtkWidget *load_settings_dlg; GtkWidget *load_settings_ok_but; GtkWidget *load_settings_cancel_but; load_settings_dlg = gtk_file_selection_new ("Select File to load settings from"); gtk_container_set_border_width (GTK_CONTAINER (load_settings_dlg), 10); load_settings_ok_but = GTK_FILE_SELECTION (load_settings_dlg)->ok_button; gtk_widget_show (load_settings_ok_but); GTK_WIDGET_SET_FLAGS (load_settings_ok_but, GTK_CAN_DEFAULT); load_settings_cancel_but = GTK_FILE_SELECTION (load_settings_dlg)->cancel_button; gtk_widget_show (load_settings_cancel_but); GTK_WIDGET_SET_FLAGS (load_settings_cancel_but, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) load_settings_ok_but, "clicked", G_CALLBACK (on_load_settings_ok_but_clicked), NULL); g_signal_connect_swapped ((gpointer) load_settings_cancel_but, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (load_settings_dlg)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (load_settings_dlg, load_settings_dlg, "load_settings_dlg"); GLADE_HOOKUP_OBJECT_NO_REF (load_settings_dlg, load_settings_ok_but, "load_settings_ok_but"); GLADE_HOOKUP_OBJECT_NO_REF (load_settings_dlg, load_settings_cancel_but, "load_settings_cancel_but"); return load_settings_dlg; } GtkWidget* create_save_settings_dlg (void) { GtkWidget *save_settings_dlg; GtkWidget *save_settings_dlg_ok; GtkWidget *save_settings_dlg_cancel; save_settings_dlg = gtk_file_selection_new ("Select File to Save settings to"); gtk_container_set_border_width (GTK_CONTAINER (save_settings_dlg), 10); save_settings_dlg_ok = GTK_FILE_SELECTION (save_settings_dlg)->ok_button; gtk_widget_show (save_settings_dlg_ok); GTK_WIDGET_SET_FLAGS (save_settings_dlg_ok, GTK_CAN_DEFAULT); save_settings_dlg_cancel = GTK_FILE_SELECTION (save_settings_dlg)->cancel_button; gtk_widget_show (save_settings_dlg_cancel); GTK_WIDGET_SET_FLAGS (save_settings_dlg_cancel, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) save_settings_dlg_ok, "clicked", G_CALLBACK (on_save_settings_dlg_ok_clicked), NULL); g_signal_connect_swapped ((gpointer) save_settings_dlg_cancel, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (save_settings_dlg)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (save_settings_dlg, save_settings_dlg, "save_settings_dlg"); GLADE_HOOKUP_OBJECT_NO_REF (save_settings_dlg, save_settings_dlg_ok, "save_settings_dlg_ok"); GLADE_HOOKUP_OBJECT_NO_REF (save_settings_dlg, save_settings_dlg_cancel, "save_settings_dlg_cancel"); return save_settings_dlg; } GtkWidget* create_matrix_edit_filsel_dlg (void) { GtkWidget *matrix_edit_filsel_dlg; GtkWidget *matrix_edit_ok_but; GtkWidget *matrix_edit_cancel_but; matrix_edit_filsel_dlg = gtk_file_selection_new ("Select Matrix File"); gtk_container_set_border_width (GTK_CONTAINER (matrix_edit_filsel_dlg), 10); matrix_edit_ok_but = GTK_FILE_SELECTION (matrix_edit_filsel_dlg)->ok_button; gtk_widget_show (matrix_edit_ok_but); GTK_WIDGET_SET_FLAGS (matrix_edit_ok_but, GTK_CAN_DEFAULT); matrix_edit_cancel_but = GTK_FILE_SELECTION (matrix_edit_filsel_dlg)->cancel_button; gtk_widget_show (matrix_edit_cancel_but); GTK_WIDGET_SET_FLAGS (matrix_edit_cancel_but, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) matrix_edit_ok_but, "clicked", G_CALLBACK (on_matrix_edit_ok_but_clicked), NULL); g_signal_connect_swapped ((gpointer) matrix_edit_cancel_but, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (matrix_edit_filsel_dlg)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (matrix_edit_filsel_dlg, matrix_edit_filsel_dlg, "matrix_edit_filsel_dlg"); GLADE_HOOKUP_OBJECT_NO_REF (matrix_edit_filsel_dlg, matrix_edit_ok_but, "matrix_edit_ok_but"); GLADE_HOOKUP_OBJECT_NO_REF (matrix_edit_filsel_dlg, matrix_edit_cancel_but, "matrix_edit_cancel_but"); return matrix_edit_filsel_dlg; } GtkWidget* create_quant_intra_matrix_dlg (void) { GtkWidget *quant_intra_matrix_dlg; GtkWidget *quant_intra_matrix_ok; GtkWidget *quant_intra_matrix_cancel; quant_intra_matrix_dlg = gtk_file_selection_new ("Select File for the INTRA matrix"); gtk_container_set_border_width (GTK_CONTAINER (quant_intra_matrix_dlg), 10); quant_intra_matrix_ok = GTK_FILE_SELECTION (quant_intra_matrix_dlg)->ok_button; gtk_widget_show (quant_intra_matrix_ok); GTK_WIDGET_SET_FLAGS (quant_intra_matrix_ok, GTK_CAN_DEFAULT); quant_intra_matrix_cancel = GTK_FILE_SELECTION (quant_intra_matrix_dlg)->cancel_button; gtk_widget_show (quant_intra_matrix_cancel); GTK_WIDGET_SET_FLAGS (quant_intra_matrix_cancel, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) quant_intra_matrix_ok, "clicked", G_CALLBACK (on_quant_intra_matrix_ok_clicked), NULL); g_signal_connect_swapped ((gpointer) quant_intra_matrix_cancel, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (quant_intra_matrix_dlg)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (quant_intra_matrix_dlg, quant_intra_matrix_dlg, "quant_intra_matrix_dlg"); GLADE_HOOKUP_OBJECT_NO_REF (quant_intra_matrix_dlg, quant_intra_matrix_ok, "quant_intra_matrix_ok"); GLADE_HOOKUP_OBJECT_NO_REF (quant_intra_matrix_dlg, quant_intra_matrix_cancel, "quant_intra_matrix_cancel"); return quant_intra_matrix_dlg; } GtkWidget* create_quant_inter_matrix_dlg (void) { GtkWidget *quant_inter_matrix_dlg; GtkWidget *quant_inter_matrix_ok; GtkWidget *quant_inter_matrix_cancel; quant_inter_matrix_dlg = gtk_file_selection_new ("Select File to read INTER matrix from"); gtk_container_set_border_width (GTK_CONTAINER (quant_inter_matrix_dlg), 10); quant_inter_matrix_ok = GTK_FILE_SELECTION (quant_inter_matrix_dlg)->ok_button; gtk_widget_show (quant_inter_matrix_ok); GTK_WIDGET_SET_FLAGS (quant_inter_matrix_ok, GTK_CAN_DEFAULT); quant_inter_matrix_cancel = GTK_FILE_SELECTION (quant_inter_matrix_dlg)->cancel_button; gtk_widget_show (quant_inter_matrix_cancel); GTK_WIDGET_SET_FLAGS (quant_inter_matrix_cancel, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) quant_inter_matrix_ok, "clicked", G_CALLBACK (on_quant_inter_matrix_ok_clicked), NULL); g_signal_connect_swapped ((gpointer) quant_inter_matrix_cancel, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (quant_inter_matrix_dlg)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (quant_inter_matrix_dlg, quant_inter_matrix_dlg, "quant_inter_matrix_dlg"); GLADE_HOOKUP_OBJECT_NO_REF (quant_inter_matrix_dlg, quant_inter_matrix_ok, "quant_inter_matrix_ok"); GLADE_HOOKUP_OBJECT_NO_REF (quant_inter_matrix_dlg, quant_inter_matrix_cancel, "quant_inter_matrix_cancel"); return quant_inter_matrix_dlg; } GtkWidget* create_help_window (void) { GtkWidget *help_window; GtkWidget *vbox5; GtkWidget *scrolledwindow1; GtkWidget *textview1; GtkWidget *statusbar1; help_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (help_window), "xvid4conf Help"); vbox5 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox5); gtk_container_add (GTK_CONTAINER (help_window), vbox5); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox5), scrolledwindow1, TRUE, TRUE, 0); textview1 = gtk_text_view_new (); gtk_widget_show (textview1); gtk_container_add (GTK_CONTAINER (scrolledwindow1), textview1); gtk_container_set_border_width (GTK_CONTAINER (textview1), 2); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_indent (GTK_TEXT_VIEW (textview1), 2); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1)), "Hello, Welcome to XVID4CONF\nThanks", -1); statusbar1 = gtk_statusbar_new (); gtk_widget_show (statusbar1); gtk_box_pack_start (GTK_BOX (vbox5), statusbar1, FALSE, FALSE, 0); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (help_window, help_window, "help_window"); GLADE_HOOKUP_OBJECT (help_window, vbox5, "vbox5"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (help_window, textview1, "textview1"); GLADE_HOOKUP_OBJECT (help_window, statusbar1, "statusbar1"); return help_window; }