]> granicus.if.org Git - handbrake/commitdiff
gtk2 and wx gui's are no longer used. Removed to save bandwidth.
authorsr55 <sr55.hb@outlook.com>
Mon, 9 Apr 2007 18:10:01 +0000 (18:10 +0000)
committersr55 <sr55.hb@outlook.com>
Mon, 9 Apr 2007 18:10:01 +0000 (18:10 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@490 b64f7644-9d1e-0410-96f1-a4d463321fa5

14 files changed:
gtk2/callbacks.c [deleted file]
gtk2/callbacks.h [deleted file]
gtk2/gtk2hb.glade [deleted file]
gtk2/interface.c [deleted file]
gtk2/interface.h [deleted file]
gtk2/main.c [deleted file]
gtk2/status.h [deleted file]
gtk2/support.c [deleted file]
gtk2/support.h [deleted file]
wx/hb32x32.xpm [deleted file]
wx/hbWizard.cpp [deleted file]
wx/hbWizard.h [deleted file]
wx/wxHB.cpp [deleted file]
wx/wxHB.h [deleted file]

diff --git a/gtk2/callbacks.c b/gtk2/callbacks.c
deleted file mode 100644 (file)
index 8237342..0000000
+++ /dev/null
@@ -1,623 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-#include "../core/HandBrake.h"
-#include "status.h"
-
-#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)
-
-
-static int i_settings_preview_picture;
-static int i_settings_width = 0;
-static int i_settings_crop_top = 0;
-static int i_settings_crop_bottom = 0;
-static int i_settings_crop_left = 0;
-static int i_settings_crop_right = 0;
-static int b_settings_deinterlace = 0;
-
-gboolean on_win_main_delete_event      (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data)
-{
-    HBClose( &hb_handle );
-
-    hb_handle = NULL;
-
-    gtk_main_quit();
-    return FALSE;
-}
-
-
-void on_button_browse_device              (GtkButton       *button,
-                                        gpointer         user_data)
-{
-    GtkWidget *win_open;
-
-    /* Create the open window */
-    win_open = create_win_open();
-    gtk_object_set_data( GTK_OBJECT(win_open), "entry", "entry_device" );
-    gtk_widget_show( win_open );
-    gdk_window_raise( win_open->window );
-}
-
-/***
- * Open file dialog box handle (you should have set entry to the right entry name of hb_win_main
- */
-gboolean on_win_open_delete_event      (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data)
-{
-    GtkWidget *win_open = gtk_widget_get_toplevel( GTK_WIDGET (widget) );
-
-    gtk_widget_destroy( win_open );
-    return FALSE;
-}
-
-void on_ok_button1_clicked             (GtkButton       *button,
-                                        gpointer         user_data)
-{
-    GtkWidget *win_open = gtk_widget_get_toplevel( GTK_WIDGET (button) );
-
-    char       *psz_entry = gtk_object_get_data( GTK_OBJECT( win_open ), "entry" );
-    const char *psz_file = gtk_file_selection_get_filename( GTK_FILE_SELECTION( win_open ) );
-
-    GtkWidget *entry = lookup_widget( hb_win_main, psz_entry );
-
-    gtk_entry_set_text( GTK_ENTRY( entry ), psz_file );
-    if( !strcmp( psz_entry, "entry_device" ) && *psz_file )
-    {
-        /* Feed libhb with a device */
-        HBScanDVD( hb_handle, psz_file, 0 );
-    }
-    gtk_widget_destroy( win_open );
-}
-
-
-void on_cancel_button1_clicked         (GtkButton       *button,
-                                        gpointer         user_data)
-{
-    GtkWidget *win_open = gtk_widget_get_toplevel( GTK_WIDGET (button) );
-    gtk_widget_destroy( win_open );
-}
-
-void on_entry_device_activate( GtkEntry        *entry,
-                               gpointer         user_data)
-{
-    const char *psz_file = gtk_entry_get_text( GTK_ENTRY( entry ) );
-
-    /* Feed libhb with a device */
-    if( *psz_file )
-    {
-        HBScanDVD( hb_handle, psz_file, 0 );
-    }
-}
-
-static void menu_language_new( GtkOptionMenu *optionmenu, char *name, HBTitle *title, int i_default )
-{
-    int i;
-
-    /* build audio menu */
-    GtkWidget *menu = gtk_menu_new();
-    GtkWidget *item;
-
-    item = gtk_menu_item_new_with_mnemonic( "None" );
-    gtk_widget_show( item );
-    gtk_menu_shell_append( GTK_MENU_SHELL(menu), item );
-
-    for( i = 0; i < HBListCount( title->audioList ); i++ )
-    {
-        HBAudio *audio = (HBAudio*) HBListItemAt( title->audioList, i );
-
-        item = gtk_menu_item_new_with_mnemonic( audio->language );
-        gtk_widget_show( item );
-        gtk_menu_shell_append( GTK_MENU_SHELL(menu), item );
-    }
-
-    gtk_option_menu_set_menu( GTK_OPTION_MENU(optionmenu), menu );
-    GLADE_HOOKUP_OBJECT( hb_win_main, menu, name );
-
-    gtk_option_menu_set_history( GTK_OPTION_MENU(optionmenu), i_default );
-}
-
-void on_optionmenu_title_changed( GtkOptionMenu   *optionmenu,
-                                  gpointer         user_data)
-{
-    GtkWidget *optionmenu_language = lookup_widget( hb_win_main, "optionmenu_language" );
-    GtkWidget *optionmenu_language2 = lookup_widget( hb_win_main, "optionmenu_language2" );
-
-    HBTitle *title;
-
-    int i = gtk_option_menu_get_history( optionmenu );
-
-    title = (HBTitle*) HBListItemAt( hb_status->titleList, i );
-
-    /* FIXME is it ok ?*/
-    gtk_option_menu_remove_menu( GTK_OPTION_MENU(optionmenu_language) );
-    gtk_option_menu_remove_menu( GTK_OPTION_MENU(optionmenu_language2) );
-
-    if( title )
-    {
-        /* build audio menu */
-        menu_language_new( GTK_OPTION_MENU(optionmenu_language), "menu_language", title, 1 );
-        menu_language_new( GTK_OPTION_MENU(optionmenu_language2), "menu_language2", title, 0 );
-    }
-}
-
-
-
-
-
-
-
-void on_button_browse_file_clicked( GtkButton       *button,
-                                    gpointer         user_data)
-{
-    GtkWidget *win_open;
-
-    /* Create the open window */
-    win_open = create_win_open();
-    gtk_object_set_data( GTK_OBJECT(win_open), "entry", "entry_file" );
-    gtk_widget_show( win_open );
-    gdk_window_raise( win_open->window );
-}
-
-
-static void on_settings_darea_expose_event_callback( GtkWidget *widget, GdkEventExpose *event, gpointer data )
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(widget) );
-    char label[1024];
-
-    int i;
-    uint8_t *rgba;
-
-    GtkWidget *optionmenu_title = lookup_widget( hb_win_main, "optionmenu_title" );
-    HBTitle   *title;
-
-    title = HBListItemAt( hb_status->titleList, gtk_option_menu_get_history( GTK_OPTION_MENU(optionmenu_title) ) );
-    title->deinterlace = b_settings_deinterlace;
-    title->outWidth = i_settings_width;
-
-    title->topCrop = i_settings_crop_top;
-    title->bottomCrop = i_settings_crop_bottom;
-    title->leftCrop = i_settings_crop_left;
-    title->rightCrop = i_settings_crop_right;
-
-    rgba = HBGetPreview( hb_handle, title, i_settings_preview_picture );
-
-    if( title->outWidth != i_settings_width ||
-        title->topCrop != i_settings_crop_top ||
-        title->bottomCrop != i_settings_crop_bottom ||
-        title->leftCrop != i_settings_crop_left ||
-        title->rightCrop != i_settings_crop_right )
-    {
-        i_settings_width = title->outWidth;
-
-        i_settings_crop_top = title->topCrop;
-        i_settings_crop_bottom = title->bottomCrop;
-        i_settings_crop_left = title->leftCrop;
-        i_settings_crop_right = title->rightCrop;
-
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_width")), i_settings_width );
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_top")), i_settings_crop_top );
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_bottom")), i_settings_crop_bottom );
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_left")), i_settings_crop_left );
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_right")), i_settings_crop_right );
-    }
-
-    sprintf( label, "Final size: %dx%d", title->outWidth, title->outHeight );
-    gtk_label_set_text( GTK_LABEL(lookup_widget(win, "label_settings")), label );
-
-    /* FIXME do that only under x86 */
-    for( i = 0; i < (title->outWidthMax + 2)*(title->outHeightMax + 2); i++ )
-    {
-        const uint8_t r = rgba[4*i+2];
-        const uint8_t g = rgba[4*i+1];
-        const uint8_t b = rgba[4*i+0];
-        const uint8_t a = rgba[4*i+3];
-
-        rgba[4*i+0] = r;
-        rgba[4*i+1] = g;
-        rgba[4*i+2] = b;
-        rgba[4*i+3] = a;
-    }
-    gdk_draw_rgb_32_image( widget->window, widget->style->fg_gc[GTK_STATE_NORMAL],
-                           0, 0, title->outWidthMax + 2, title->outHeightMax + 2,
-                           GDK_RGB_DITHER_MAX,
-                           rgba,
-                           (title->outWidthMax+2) * 4 );
-
-    free( rgba );
-}
-
-void on_spinbutton_width_value_changed( GtkSpinButton   *spinbutton,
-                                        gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(spinbutton) );
-
-    g_print( "on_spinbutton_width_value_changed\n" );
-
-    i_settings_width = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_width")) );
-
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-
-}
-/*
- * FIXME use only one callback
- */
-void
-on_spinbutton_crop_top_value_changed   (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(spinbutton) );
-
-    i_settings_crop_top = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_top")) );
-
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-}
-
-
-void
-on_spinbutton_crop_bottom_value_changed
-                                        (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(spinbutton) );
-
-    i_settings_crop_bottom = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_bottom")) );
-
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-}
-
-
-void
-on_spinbutton_crop_left_value_changed  (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(spinbutton) );
-
-    i_settings_crop_left = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_left")) );
-
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-}
-
-
-void
-on_spinbutton_crop_right_value_changed (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(spinbutton) );
-
-    i_settings_crop_right = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget(win, "spinbutton_crop_right")) );
-
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-}
-
-
-void on_button_settings_clicked( GtkButton       *button,
-                                 gpointer         user_data)
-{
-    GtkWidget *optionmenu_title = lookup_widget( hb_win_main, "optionmenu_title" );
-    HBTitle   *title;
-
-    GtkWidget *settings = create_win_settings();
-    GtkWidget *darea = lookup_widget( settings, "drawingarea" );
-
-    title = HBListItemAt( hb_status->titleList, gtk_option_menu_get_history( GTK_OPTION_MENU(optionmenu_title) ) );
-
-    i_settings_preview_picture = 0;
-
-    gtk_widget_set_size_request( darea, title->outWidthMax + 2, title->outHeightMax + 2 );
-
-    g_signal_connect (G_OBJECT(darea), "expose_event",
-                    G_CALLBACK (on_settings_darea_expose_event_callback), NULL);
-
-    gtk_spin_button_set_value( GTK_SPIN_BUTTON(lookup_widget(settings, "spinbutton_width")), title->outWidth );
-
-    gtk_widget_show( settings );
-}
-
-static void DisplayError( char *title, char *msg )
-{
-    GtkWidget *dialog;
-
-    dialog = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
-                                    "<b>%s</b>\n\n%s", title, msg );
-    gtk_label_set_use_markup( GTK_LABEL( GTK_MESSAGE_DIALOG(dialog)->label), TRUE );
-    gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK );
-    gtk_window_set_modal( GTK_WINDOW(dialog), TRUE );
-    gtk_dialog_run( GTK_DIALOG(dialog) );
-    gtk_widget_destroy( dialog );
-}
-
-void on_button_start_clicked( GtkButton       *button,
-                              gpointer         user_data)
-{
-    int        i;
-
-    if( hb_status->i_state != HB_STATE_ENCODING )
-    {
-        GtkWidget *optionmenu_title = lookup_widget( hb_win_main, "optionmenu_title" );
-        GtkWidget *widget;
-        HBTitle   *title = HBListItemAt( hb_status->titleList, gtk_option_menu_get_history( GTK_OPTION_MENU(optionmenu_title) ) );
-
-        int i_ab;
-
-        widget = lookup_widget( hb_win_main, "entry_file" );
-        title->file = strdup( gtk_entry_get_text( GTK_ENTRY(widget) ) );
-
-        if( title->file == NULL || *title->file == '\0' )
-        {
-            DisplayError( "Missing parameters", "You need to specify a file" );
-            return;
-        }
-
-        widget = lookup_widget( hb_win_main, "checkbutton_2pass" );
-        title->twoPass = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget) );
-
-        title->deinterlace = b_settings_deinterlace;
-
-        title->outWidth = i_settings_width;
-
-        title->topCrop = i_settings_crop_top;
-        title->bottomCrop = i_settings_crop_bottom;
-        title->leftCrop = i_settings_crop_left;
-        title->rightCrop = i_settings_crop_right;
-
-        widget = lookup_widget( hb_win_main, "radiobutton_cbitrate" );
-        if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON( widget ) ) )
-        {
-            widget = lookup_widget( hb_win_main, "spinbutton_bitrate" );
-            title->bitrate = gtk_spin_button_get_value( GTK_SPIN_BUTTON( widget ) );
-        }
-        else
-        {
-            int i_size;
-            widget = lookup_widget( hb_win_main, "spinbutton_size" );
-            i_size = gtk_spin_button_get_value( GTK_SPIN_BUTTON( widget ) );
-
-            /* FIXME FIXME target size FIXME FIXME */
-            title->bitrate = 1024;
-            /* FIXME */
-        }
-
-        widget = lookup_widget( hb_win_main, "optionmenu_codec" );
-        switch( gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) )
-        {
-            case 0:
-                title->codec = HB_CODEC_FFMPEG;
-                break;
-            case 1:
-                title->codec = HB_CODEC_XVID;
-                break;
-            case 2:
-                title->codec = HB_CODEC_X264;
-                break;
-        }
-
-        widget = lookup_widget( hb_win_main, "optionmenu_format" );
-        switch( gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) )
-        {
-            case 0:
-            {
-                /* Auto detect */
-                char *p = strrchr( title->file, '.' );
-                if( p && !strcasecmp( p, ".avi" ) )
-                {
-                    title->mux = HB_MUX_AVI;
-                }
-                else if( p && !strcasecmp( p, ".mp4" ) )
-                {
-                    title->mux = HB_MUX_MP4;
-                }
-                else if( p && !strcasecmp( p, ".ogm" ) )
-                {
-                    title->mux = HB_MUX_OGM;
-                }
-                else
-                {
-                    title->mux = HB_MUX_AVI;
-                }
-                break;
-            }
-            case 1:
-                title->mux = HB_MUX_AVI;
-                break;
-            case 2:
-                title->mux = HB_MUX_MP4;
-                break;
-            case 3:
-                title->mux = HB_MUX_OGM;
-                break;
-        }
-
-        /* audio */
-        widget = lookup_widget( hb_win_main, "optionmenu_bitrate" );
-        switch( gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) )
-        {
-            case 0:
-                i_ab = 64;
-                break;
-            case 1:
-                i_ab = 92;
-                break;
-            case 2:
-                i_ab = 128;
-                break;
-            case 3:
-                i_ab = 160;
-                break;
-            case 4:
-                i_ab = 192;
-                break;
-            case 5:
-                i_ab = 256;
-                break;
-            case 6:
-            default:
-                i_ab = 320;
-                break;
-
-        }
-
-        HBListInit( &title->ripAudioList );
-        widget = lookup_widget( hb_win_main, "optionmenu_language" );
-        if( ( i = gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) ) > 0 )
-        {
-            HBAudio   *audio = HBListItemAt( title->audioList, i - 1 );
-
-            audio->outBitrate = i_ab;
-            if( title->mux == HB_MUX_AVI )
-            {
-                audio->outCodec = HB_CODEC_MP3;
-            }
-            else if( title->mux == HB_MUX_MP4 )
-            {
-                audio->outCodec = HB_CODEC_AAC;
-            }
-            else if( title->mux == HB_MUX_OGM )
-            {
-                audio->outCodec = HB_CODEC_VORBIS;
-            }
-            HBListAdd( title->ripAudioList, audio );
-        }
-
-        widget = lookup_widget( hb_win_main, "optionmenu_language2" );
-        if( ( i = gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) ) > 0 )
-        {
-            HBAudio   *audio = HBListItemAt( title->audioList, i - 1 );
-
-            audio->outBitrate = i_ab;
-            if( title->mux == HB_MUX_AVI )
-            {
-                audio->outCodec = HB_CODEC_MP3;
-            }
-            else if( title->mux == HB_MUX_MP4 )
-            {
-                audio->outCodec = HB_CODEC_AAC;
-            }
-            else if( title->mux == HB_MUX_OGM )
-            {
-                audio->outCodec = HB_CODEC_VORBIS;
-            }
-            HBListAdd( title->ripAudioList, audio );
-        }
-        HBStartRip( hb_handle, title );
-    }
-    else if( hb_status->i_state == HB_STATE_ENCODING )
-    {
-        HBStopRip( hb_handle );
-    }
-}
-
-
-void on_entry_file_activate( GtkEntry        *entry,
-                             gpointer         user_data)
-{
-#if 0
-    GtkWidget *widget = lookup_widget( hb_win_main, "button_start" );
-    char *psz_file = gtk_entry_get_text( entry );
-
-    if( psz_file && *psz_file )
-    {
-        gtk_widget_set_sensitive( widget, TRUE );
-    }
-    else
-    {
-        gtk_widget_set_sensitive( widget, FALSE );
-    }
-#endif
-}
-
-
-static void SettingsUpdate( GtkWidget *win )
-{
-    b_settings_deinterlace = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(lookup_widget(win, "checkbutton_deinterlace")) );
-}
-
-gboolean on_win_settings_delete_event( GtkWidget       *widget,
-                                       GdkEvent        *event,
-                                       gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET (widget) );
-
-    SettingsUpdate( win );
-    gtk_widget_destroy( win );
-
-    return FALSE;
-}
-
-
-void on_button_ok_settings_clicked( GtkButton       *button,
-                                    gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(button) );
-
-    SettingsUpdate( win );
-
-    gtk_widget_destroy( win );
-}
-
-
-void on_button_settings_next_clicked( GtkButton       *button,
-                                      gpointer         user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(button) );
-
-    if( i_settings_preview_picture < 9 )
-    {
-        i_settings_preview_picture++;
-        gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-    }
-
-    if( i_settings_preview_picture == 9 )
-    {
-        gtk_widget_set_sensitive( lookup_widget(win, "button_settings_next"), FALSE );
-    }
-    if( i_settings_preview_picture > 0 )
-    {
-        gtk_widget_set_sensitive( lookup_widget(win, "button_settings_previous"), TRUE );
-    }
-}
-
-
-void on_button_settings_previous_clicked( GtkButton *button,
-                                          gpointer   user_data)
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(button) );
-
-    if( i_settings_preview_picture > 0 )
-    {
-        i_settings_preview_picture--;
-        gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-    }
-
-    if( i_settings_preview_picture < 9 )
-    {
-        gtk_widget_set_sensitive( lookup_widget(win, "button_settings_next"), TRUE );
-    }
-    if( i_settings_preview_picture == 0 )
-    {
-        gtk_widget_set_sensitive( lookup_widget(win, "button_settings_previous"), FALSE );
-    }
-}
-
-
-void on_checkbutton_deinterlace_toggled( GtkToggleButton *togglebutton,
-                                         gpointer         user_data )
-{
-    GtkWidget *win = gtk_widget_get_toplevel( GTK_WIDGET(togglebutton) );
-    b_settings_deinterlace = gtk_toggle_button_get_active( togglebutton );
-    gtk_widget_queue_draw( lookup_widget(win, "drawingarea" ) );
-}
-
-
diff --git a/gtk2/callbacks.h b/gtk2/callbacks.h
deleted file mode 100644 (file)
index 7040f35..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <gtk/gtk.h>
-
-extern GtkWidget *hb_win_main;
-extern HBHandle  *hb_handle;
-extern HBStatus  *hb_status;
-
-gboolean on_win_main_delete_event( GtkWidget       *widget,
-                                   GdkEvent        *event,
-                                   gpointer         user_data);
-
-gboolean on_win_open_delete_event      (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data);
-
-
-void on_button_browse_device                   (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_ok_button1_clicked                  (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_cancel_button1_clicked              (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_entry_device_activate               (GtkEntry        *entry,
-                                        gpointer         user_data);
-
-void on_optionmenu_title_changed            (GtkOptionMenu   *optionmenu,
-                                        gpointer         user_data);
-
-void on_button_browse_file_clicked          (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_button_settings_clicked             (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_button_start_clicked                (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_entry_file_activate                 (GtkEntry        *entry,
-                                        gpointer         user_data);
-
-gboolean on_win_settings_delete_event           (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data);
-
-void on_button_ok_settings_clicked          (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_button_settings_next_clicked        (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_button_settings_previous_clicked    (GtkButton       *button,
-                                        gpointer         user_data);
-
-void on_checkbutton_deinterlace_toggled     (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-void on_spinbutton_width_value_changed( GtkSpinButton   *spinbutton,
-                                        gpointer         user_data);
-
-void on_spinbutton_crop_top_value_changed   (GtkSpinButton   *spinbutton,
-                                         gpointer         user_data);
-
-void on_spinbutton_crop_bottom_value_changed
-                                        (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data);
-
-void
-on_spinbutton_crop_left_value_changed  (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data);
-
-void
-on_spinbutton_crop_right_value_changed (GtkSpinButton   *spinbutton,
-                                        gpointer         user_data);
-
diff --git a/gtk2/gtk2hb.glade b/gtk2/gtk2hb.glade
deleted file mode 100644 (file)
index 50b3e81..0000000
+++ /dev/null
@@ -1,1863 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkWindow" id="win_main">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">HandBrake</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <signal name="delete_event" handler="on_win_main_delete_event" last_modification_time="Fri, 05 Dec 2003 23:54:16 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-       <widget class="GtkFrame" id="frame_dvd">
-         <property name="visible">True</property>
-         <property name="label_xalign">0</property>
-         <property name="label_yalign">0.5</property>
-         <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-         <child>
-           <widget class="GtkVBox" id="vbox11">
-             <property name="border_width">5</property>
-             <property name="visible">True</property>
-             <property name="homogeneous">False</property>
-             <property name="spacing">0</property>
-
-             <child>
-               <widget class="GtkAlignment" id="alignment13">
-                 <property name="visible">True</property>
-                 <property name="xalign">0</property>
-                 <property name="yalign">1</property>
-                 <property name="xscale">1</property>
-                 <property name="yscale">1</property>
-
-                 <child>
-                   <widget class="GtkHBox" id="hbox1">
-                     <property name="visible">True</property>
-                     <property name="homogeneous">False</property>
-                     <property name="spacing">0</property>
-
-                     <child>
-                       <widget class="GtkLabel" id="label3">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Device </property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkCombo" id="combo1">
-                         <property name="visible">True</property>
-                         <property name="value_in_list">False</property>
-                         <property name="allow_empty">True</property>
-                         <property name="case_sensitive">False</property>
-                         <property name="enable_arrow_keys">True</property>
-                         <property name="enable_arrows_always">False</property>
-
-                         <child internal-child="entry">
-                           <widget class="GtkEntry" id="entry_device">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="editable">True</property>
-                             <property name="visibility">True</property>
-                             <property name="max_length">0</property>
-                             <property name="text" translatable="yes"></property>
-                             <property name="has_frame">True</property>
-                             <property name="invisible_char" translatable="yes">*</property>
-                             <property name="activates_default">False</property>
-                             <signal name="activate" handler="on_entry_device_activate" last_modification_time="Sat, 06 Dec 2003 02:59:59 GMT"/>
-                           </widget>
-                         </child>
-
-                         <child internal-child="list">
-                           <widget class="GtkList" id="combo-list1">
-                             <property name="visible">True</property>
-                             <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">True</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkButton" id="button_browse_device">
-                         <property name="visible">True</property>
-                         <property name="can_default">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="relief">GTK_RELIEF_NORMAL</property>
-                         <signal name="clicked" handler="on_button_browse_device" last_modification_time="Sat, 06 Dec 2003 02:19:48 GMT"/>
-
-                         <child>
-                           <widget class="GtkAlignment" id="alignment1">
-                             <property name="visible">True</property>
-                             <property name="xalign">0.5</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xscale">0</property>
-                             <property name="yscale">0</property>
-
-                             <child>
-                               <widget class="GtkHBox" id="hbox2">
-                                 <property name="visible">True</property>
-                                 <property name="homogeneous">False</property>
-                                 <property name="spacing">2</property>
-
-                                 <child>
-                                   <widget class="GtkImage" id="image1">
-                                     <property name="visible">True</property>
-                                     <property name="stock">gtk-open</property>
-                                     <property name="icon_size">4</property>
-                                     <property name="xalign">0.5</property>
-                                     <property name="yalign">0.5</property>
-                                     <property name="xpad">0</property>
-                                     <property name="ypad">0</property>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">False</property>
-                                     <property name="fill">False</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkLabel" id="label4">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">Browse</property>
-                                     <property name="use_underline">True</property>
-                                     <property name="use_markup">False</property>
-                                     <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                     <property name="wrap">False</property>
-                                     <property name="selectable">False</property>
-                                     <property name="xalign">0.5</property>
-                                     <property name="yalign">0.5</property>
-                                     <property name="xpad">0</property>
-                                     <property name="ypad">0</property>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">False</property>
-                                     <property name="fill">False</property>
-                                   </packing>
-                                 </child>
-                               </widget>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">True</property>
-                 <property name="fill">False</property>
-               </packing>
-             </child>
-           </widget>
-         </child>
-
-         <child>
-           <widget class="GtkLabel" id="label1">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">DVD</property>
-             <property name="use_underline">False</property>
-             <property name="use_markup">False</property>
-             <property name="justify">GTK_JUSTIFY_LEFT</property>
-             <property name="wrap">False</property>
-             <property name="selectable">False</property>
-             <property name="xalign">0.5</property>
-             <property name="yalign">0.5</property>
-             <property name="xpad">0</property>
-             <property name="ypad">0</property>
-           </widget>
-           <packing>
-             <property name="type">label_item</property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">True</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkVBox" id="vbox_parameters">
-         <property name="homogeneous">False</property>
-         <property name="spacing">0</property>
-
-         <child>
-           <widget class="GtkFrame" id="frame_video">
-             <property name="visible">True</property>
-             <property name="label_xalign">0</property>
-             <property name="label_yalign">0.5</property>
-             <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-             <child>
-               <widget class="GtkHBox" id="hbox18">
-                 <property name="border_width">5</property>
-                 <property name="visible">True</property>
-                 <property name="homogeneous">True</property>
-                 <property name="spacing">0</property>
-
-                 <child>
-                   <widget class="GtkAlignment" id="alignment7">
-                     <property name="visible">True</property>
-                     <property name="xalign">0</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xscale">1</property>
-                     <property name="yscale">1</property>
-
-                     <child>
-                       <widget class="GtkVBox" id="vbox7">
-                         <property name="visible">True</property>
-                         <property name="homogeneous">True</property>
-                         <property name="spacing">0</property>
-
-                         <child>
-                           <widget class="GtkLabel" id="label13">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Title</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkLabel" id="label12">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Codec</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkRadioButton" id="radiobutton_cbitrate">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="label" translatable="yes">Custom bitrate</property>
-                             <property name="use_underline">True</property>
-                             <property name="relief">GTK_RELIEF_NORMAL</property>
-                             <property name="active">True</property>
-                             <property name="inconsistent">False</property>
-                             <property name="draw_indicator">True</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkRadioButton" id="radiobutton_tsize">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="label" translatable="yes">Target size</property>
-                             <property name="use_underline">True</property>
-                             <property name="relief">GTK_RELIEF_NORMAL</property>
-                             <property name="active">False</property>
-                             <property name="inconsistent">False</property>
-                             <property name="draw_indicator">True</property>
-                             <property name="group">radiobutton_cbitrate</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkCheckButton" id="checkbutton_2pass">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="label" translatable="yes">2-pass encoding</property>
-                             <property name="use_underline">True</property>
-                             <property name="relief">GTK_RELIEF_NORMAL</property>
-                             <property name="active">True</property>
-                             <property name="inconsistent">False</property>
-                             <property name="draw_indicator">True</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-
-                 <child>
-                   <widget class="GtkAlignment" id="alignment8">
-                     <property name="visible">True</property>
-                     <property name="xalign">1</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xscale">1</property>
-                     <property name="yscale">1</property>
-
-                     <child>
-                       <widget class="GtkVBox" id="vbox8">
-                         <property name="visible">True</property>
-                         <property name="homogeneous">True</property>
-                         <property name="spacing">0</property>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_title">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">-1</property>
-                             <signal name="changed" handler="on_optionmenu_title_changed" last_modification_time="Sat, 06 Dec 2003 04:23:30 GMT"/>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_codec">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">0</property>
-
-                             <child>
-                               <widget class="GtkMenu" id="menu_codec">
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="mpeg-4_(ffmpeg)1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">MPEG-4 (FFmpeg)</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="mpeg-4_(xvid)1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">MPEG-4 (XviD)</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="h264_(x264)1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">H264 (x264)</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-                               </widget>
-                             </child>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkSpinButton" id="spinbutton_bitrate">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="climb_rate">1</property>
-                             <property name="digits">0</property>
-                             <property name="numeric">False</property>
-                             <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                             <property name="snap_to_ticks">False</property>
-                             <property name="wrap">False</property>
-                             <property name="adjustment">1024 100 5000 1 10 10</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkSpinButton" id="spinbutton_size">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="climb_rate">1</property>
-                             <property name="digits">0</property>
-                             <property name="numeric">False</property>
-                             <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                             <property name="snap_to_ticks">False</property>
-                             <property name="wrap">False</property>
-                             <property name="adjustment">700 0 2000 1 10 10</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkButton" id="button_settings">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="label" translatable="yes">Crop &amp; Resize..</property>
-                             <property name="use_underline">True</property>
-                             <property name="relief">GTK_RELIEF_NORMAL</property>
-                             <signal name="clicked" handler="on_button_settings_clicked" last_modification_time="Sat, 06 Dec 2003 05:00:14 GMT"/>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkLabel" id="label6">
-                 <property name="visible">True</property>
-                 <property name="label" translatable="yes">Video</property>
-                 <property name="use_underline">False</property>
-                 <property name="use_markup">False</property>
-                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                 <property name="wrap">False</property>
-                 <property name="selectable">False</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xpad">0</property>
-                 <property name="ypad">0</property>
-               </widget>
-               <packing>
-                 <property name="type">label_item</property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkFrame" id="frame_audio">
-             <property name="visible">True</property>
-             <property name="label_xalign">0</property>
-             <property name="label_yalign">0.5</property>
-             <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-             <child>
-               <widget class="GtkHBox" id="hbox19">
-                 <property name="border_width">5</property>
-                 <property name="visible">True</property>
-                 <property name="homogeneous">True</property>
-                 <property name="spacing">0</property>
-
-                 <child>
-                   <widget class="GtkAlignment" id="alignment9">
-                     <property name="visible">True</property>
-                     <property name="xalign">0</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xscale">1</property>
-                     <property name="yscale">1</property>
-
-                     <child>
-                       <widget class="GtkVBox" id="vbox9">
-                         <property name="visible">True</property>
-                         <property name="homogeneous">True</property>
-                         <property name="spacing">0</property>
-
-                         <child>
-                           <widget class="GtkLabel" id="label14">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Language</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkLabel" id="label15">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Secondary language</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkLabel" id="label16">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Bitrate</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-
-                 <child>
-                   <widget class="GtkAlignment" id="alignment10">
-                     <property name="visible">True</property>
-                     <property name="xalign">1</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xscale">1</property>
-                     <property name="yscale">1</property>
-
-                     <child>
-                       <widget class="GtkVBox" id="vbox10">
-                         <property name="visible">True</property>
-                         <property name="homogeneous">True</property>
-                         <property name="spacing">0</property>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_language">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">-1</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_language2">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">-1</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_bitrate">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">0</property>
-
-                             <child>
-                               <widget class="GtkMenu" id="menu1">
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="2">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">64</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="4">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">96</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="7">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">128</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="10">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">160</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="11">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">192</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="12">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">256</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="13">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">320</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-                               </widget>
-                             </child>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkLabel" id="label8">
-                 <property name="visible">True</property>
-                 <property name="label" translatable="yes">Audio</property>
-                 <property name="use_underline">False</property>
-                 <property name="use_markup">False</property>
-                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                 <property name="wrap">False</property>
-                 <property name="selectable">False</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xpad">0</property>
-                 <property name="ypad">0</property>
-               </widget>
-               <packing>
-                 <property name="type">label_item</property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkFrame" id="frame_output">
-             <property name="visible">True</property>
-             <property name="label_xalign">0</property>
-             <property name="label_yalign">0.5</property>
-             <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-             <child>
-               <widget class="GtkVBox" id="vbox2">
-                 <property name="border_width">5</property>
-                 <property name="visible">True</property>
-                 <property name="homogeneous">False</property>
-                 <property name="spacing">0</property>
-
-                 <child>
-                   <widget class="GtkHBox" id="hbox20">
-                     <property name="visible">True</property>
-                     <property name="homogeneous">True</property>
-                     <property name="spacing">0</property>
-
-                     <child>
-                       <widget class="GtkAlignment" id="alignment11">
-                         <property name="visible">True</property>
-                         <property name="xalign">0</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xscale">1</property>
-                         <property name="yscale">1</property>
-
-                         <child>
-                           <widget class="GtkLabel" id="label17">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Format</property>
-                             <property name="use_underline">False</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">True</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkAlignment" id="alignment12">
-                         <property name="visible">True</property>
-                         <property name="xalign">1</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xscale">1</property>
-                         <property name="yscale">1</property>
-
-                         <child>
-                           <widget class="GtkOptionMenu" id="optionmenu_format">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="history">0</property>
-
-                             <child>
-                               <widget class="GtkMenu" id="menu2">
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="auto1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">Auto</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="avi1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">AVI</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="mp1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">MP4</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkMenuItem" id="ogm1">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">OGM</property>
-                                     <property name="use_underline">True</property>
-                                   </widget>
-                                 </child>
-                               </widget>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">True</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-
-                 <child>
-                   <widget class="GtkHBox" id="hbox6">
-                     <property name="visible">True</property>
-                     <property name="homogeneous">False</property>
-                     <property name="spacing">0</property>
-
-                     <child>
-                       <widget class="GtkLabel" id="label18">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">File </property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkCombo" id="combo2">
-                         <property name="visible">True</property>
-                         <property name="value_in_list">False</property>
-                         <property name="allow_empty">True</property>
-                         <property name="case_sensitive">False</property>
-                         <property name="enable_arrow_keys">True</property>
-                         <property name="enable_arrows_always">False</property>
-
-                         <child internal-child="entry">
-                           <widget class="GtkEntry" id="entry_file">
-                             <property name="visible">True</property>
-                             <property name="can_focus">True</property>
-                             <property name="editable">True</property>
-                             <property name="visibility">True</property>
-                             <property name="max_length">0</property>
-                             <property name="text" translatable="yes"></property>
-                             <property name="has_frame">True</property>
-                             <property name="invisible_char" translatable="yes">*</property>
-                             <property name="activates_default">False</property>
-                             <signal name="activate" handler="on_entry_file_activate" last_modification_time="Sat, 06 Dec 2003 05:04:29 GMT"/>
-                           </widget>
-                         </child>
-
-                         <child internal-child="list">
-                           <widget class="GtkList" id="list1">
-                             <property name="visible">True</property>
-                             <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">True</property>
-                         <property name="fill">True</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkButton" id="button_browse_file">
-                         <property name="visible">True</property>
-                         <property name="can_default">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="relief">GTK_RELIEF_NORMAL</property>
-                         <signal name="clicked" handler="on_button_browse_file_clicked" last_modification_time="Sat, 06 Dec 2003 04:52:12 GMT"/>
-
-                         <child>
-                           <widget class="GtkAlignment" id="alignment2">
-                             <property name="visible">True</property>
-                             <property name="xalign">0.5</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xscale">0</property>
-                             <property name="yscale">0</property>
-
-                             <child>
-                               <widget class="GtkHBox" id="hbox7">
-                                 <property name="visible">True</property>
-                                 <property name="homogeneous">False</property>
-                                 <property name="spacing">2</property>
-
-                                 <child>
-                                   <widget class="GtkImage" id="image4">
-                                     <property name="visible">True</property>
-                                     <property name="stock">gtk-open</property>
-                                     <property name="icon_size">4</property>
-                                     <property name="xalign">0.5</property>
-                                     <property name="yalign">0.5</property>
-                                     <property name="xpad">0</property>
-                                     <property name="ypad">0</property>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">False</property>
-                                     <property name="fill">False</property>
-                                   </packing>
-                                 </child>
-
-                                 <child>
-                                   <widget class="GtkLabel" id="label19">
-                                     <property name="visible">True</property>
-                                     <property name="label" translatable="yes">Browse</property>
-                                     <property name="use_underline">True</property>
-                                     <property name="use_markup">False</property>
-                                     <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                     <property name="wrap">False</property>
-                                     <property name="selectable">False</property>
-                                     <property name="xalign">0.5</property>
-                                     <property name="yalign">0.5</property>
-                                     <property name="xpad">0</property>
-                                     <property name="ypad">0</property>
-                                   </widget>
-                                   <packing>
-                                     <property name="padding">0</property>
-                                     <property name="expand">False</property>
-                                     <property name="fill">False</property>
-                                   </packing>
-                                 </child>
-                               </widget>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkLabel" id="label9">
-                 <property name="visible">True</property>
-                 <property name="label" translatable="yes">Output</property>
-                 <property name="use_underline">False</property>
-                 <property name="use_markup">False</property>
-                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                 <property name="wrap">False</property>
-                 <property name="selectable">False</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xpad">0</property>
-                 <property name="ypad">0</property>
-               </widget>
-               <packing>
-                 <property name="type">label_item</property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="padding">6</property>
-             <property name="expand">False</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkHButtonBox" id="hbuttonbox1">
-             <property name="visible">True</property>
-             <property name="layout_style">GTK_BUTTONBOX_END</property>
-             <property name="spacing">0</property>
-
-             <child>
-               <widget class="GtkButton" id="button_start">
-                 <property name="visible">True</property>
-                 <property name="can_default">True</property>
-                 <property name="can_focus">True</property>
-                 <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="on_button_start_clicked" last_modification_time="Sat, 06 Dec 2003 04:59:15 GMT"/>
-
-                 <child>
-                   <widget class="GtkAlignment" id="alignment3">
-                     <property name="visible">True</property>
-                     <property name="xalign">0.5</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xscale">0</property>
-                     <property name="yscale">0</property>
-
-                     <child>
-                       <widget class="GtkHBox" id="hbox9">
-                         <property name="visible">True</property>
-                         <property name="homogeneous">False</property>
-                         <property name="spacing">2</property>
-
-                         <child>
-                           <widget class="GtkImage" id="button_start_image">
-                             <property name="visible">True</property>
-                             <property name="stock">gtk-apply</property>
-                             <property name="icon_size">4</property>
-                             <property name="xalign">0.5</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkLabel" id="button_start_label">
-                             <property name="visible">True</property>
-                             <property name="label" translatable="yes">Start</property>
-                             <property name="use_underline">True</property>
-                             <property name="use_markup">False</property>
-                             <property name="justify">GTK_JUSTIFY_LEFT</property>
-                             <property name="wrap">False</property>
-                             <property name="selectable">False</property>
-                             <property name="xalign">0.5</property>
-                             <property name="yalign">0.5</property>
-                             <property name="xpad">0</property>
-                             <property name="ypad">0</property>
-                           </widget>
-                           <packing>
-                             <property name="padding">0</property>
-                             <property name="expand">False</property>
-                             <property name="fill">False</property>
-                           </packing>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-           <packing>
-             <property name="padding">4</property>
-             <property name="expand">False</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkHBox" id="hbox10">
-         <property name="visible">True</property>
-         <property name="homogeneous">False</property>
-         <property name="spacing">0</property>
-
-         <child>
-           <widget class="GtkProgressBar" id="progressbar">
-             <property name="visible">True</property>
-             <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-             <property name="fraction">0</property>
-             <property name="pulse_step">0.1</property>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">False</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkStatusbar" id="statusbar">
-             <property name="visible">True</property>
-             <property name="has_resize_grip">True</property>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">True</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">False</property>
-       </packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkFileSelection" id="win_open">
-  <property name="border_width">10</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Select File</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="show_fileops">True</property>
-  <signal name="delete_event" handler="on_win_open_delete_event" last_modification_time="Sat, 06 Dec 2003 00:17:21 GMT"/>
-
-  <child internal-child="cancel_button">
-    <widget class="GtkButton" id="cancel_button1">
-      <property name="visible">True</property>
-      <property name="can_default">True</property>
-      <property name="can_focus">True</property>
-      <property name="relief">GTK_RELIEF_NORMAL</property>
-      <signal name="clicked" handler="on_cancel_button1_clicked" last_modification_time="Sat, 06 Dec 2003 00:17:46 GMT"/>
-    </widget>
-  </child>
-
-  <child internal-child="ok_button">
-    <widget class="GtkButton" id="ok_button1">
-      <property name="visible">True</property>
-      <property name="can_default">True</property>
-      <property name="can_focus">True</property>
-      <property name="relief">GTK_RELIEF_NORMAL</property>
-      <signal name="clicked" handler="on_ok_button1_clicked" last_modification_time="Sat, 06 Dec 2003 00:17:56 GMT"/>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkWindow" id="win_settings">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Picture settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <signal name="delete_event" handler="on_win_settings_delete_event" last_modification_time="Sat, 06 Dec 2003 19:07:23 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox4">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-       <widget class="GtkDrawingArea" id="drawingarea">
-         <property name="visible">True</property>
-       </widget>
-       <packing>
-         <property name="padding">10</property>
-         <property name="expand">True</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkTable" id="table5">
-         <property name="visible">True</property>
-         <property name="n_rows">1</property>
-         <property name="n_columns">3</property>
-         <property name="homogeneous">False</property>
-         <property name="row_spacing">0</property>
-         <property name="column_spacing">0</property>
-
-         <child>
-           <widget class="GtkVBox" id="vbox5">
-             <property name="visible">True</property>
-             <property name="homogeneous">False</property>
-             <property name="spacing">0</property>
-
-             <child>
-               <widget class="GtkHButtonBox" id="hbuttonbox2">
-                 <property name="visible">True</property>
-                 <property name="layout_style">GTK_BUTTONBOX_END</property>
-                 <property name="spacing">0</property>
-
-                 <child>
-                   <widget class="GtkButton" id="button_settings_previous">
-                     <property name="visible">True</property>
-                     <property name="sensitive">False</property>
-                     <property name="can_default">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="relief">GTK_RELIEF_NORMAL</property>
-                     <signal name="clicked" handler="on_button_settings_previous_clicked" last_modification_time="Sat, 06 Dec 2003 20:58:51 GMT"/>
-
-                     <child>
-                       <widget class="GtkAlignment" id="alignment5">
-                         <property name="visible">True</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xscale">0</property>
-                         <property name="yscale">0</property>
-
-                         <child>
-                           <widget class="GtkHBox" id="hbox12">
-                             <property name="visible">True</property>
-                             <property name="homogeneous">False</property>
-                             <property name="spacing">2</property>
-
-                             <child>
-                               <widget class="GtkImage" id="image7">
-                                 <property name="visible">True</property>
-                                 <property name="stock">gtk-go-back</property>
-                                 <property name="icon_size">4</property>
-                                 <property name="xalign">0.5</property>
-                                 <property name="yalign">0.5</property>
-                                 <property name="xpad">0</property>
-                                 <property name="ypad">0</property>
-                               </widget>
-                               <packing>
-                                 <property name="padding">0</property>
-                                 <property name="expand">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-
-                             <child>
-                               <widget class="GtkLabel" id="label22">
-                                 <property name="visible">True</property>
-                                 <property name="label" translatable="yes">Previous</property>
-                                 <property name="use_underline">True</property>
-                                 <property name="use_markup">False</property>
-                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                 <property name="wrap">False</property>
-                                 <property name="selectable">False</property>
-                                 <property name="xalign">0.5</property>
-                                 <property name="yalign">0.5</property>
-                                 <property name="xpad">0</property>
-                                 <property name="ypad">0</property>
-                               </widget>
-                               <packing>
-                                 <property name="padding">0</property>
-                                 <property name="expand">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkButton" id="button_settings_next">
-                     <property name="visible">True</property>
-                     <property name="can_default">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="relief">GTK_RELIEF_NORMAL</property>
-                     <signal name="clicked" handler="on_button_settings_next_clicked" last_modification_time="Sat, 06 Dec 2003 20:51:27 GMT"/>
-
-                     <child>
-                       <widget class="GtkAlignment" id="alignment6">
-                         <property name="visible">True</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xscale">0</property>
-                         <property name="yscale">0</property>
-
-                         <child>
-                           <widget class="GtkHBox" id="hbox13">
-                             <property name="visible">True</property>
-                             <property name="homogeneous">False</property>
-                             <property name="spacing">2</property>
-
-                             <child>
-                               <widget class="GtkImage" id="image8">
-                                 <property name="visible">True</property>
-                                 <property name="stock">gtk-go-forward</property>
-                                 <property name="icon_size">4</property>
-                                 <property name="xalign">0.5</property>
-                                 <property name="yalign">0.5</property>
-                                 <property name="xpad">0</property>
-                                 <property name="ypad">0</property>
-                               </widget>
-                               <packing>
-                                 <property name="padding">0</property>
-                                 <property name="expand">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-
-                             <child>
-                               <widget class="GtkLabel" id="label23">
-                                 <property name="visible">True</property>
-                                 <property name="label" translatable="yes">Next</property>
-                                 <property name="use_underline">True</property>
-                                 <property name="use_markup">False</property>
-                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                 <property name="wrap">False</property>
-                                 <property name="selectable">False</property>
-                                 <property name="xalign">0.5</property>
-                                 <property name="yalign">0.5</property>
-                                 <property name="xpad">0</property>
-                                 <property name="ypad">0</property>
-                               </widget>
-                               <packing>
-                                 <property name="padding">0</property>
-                                 <property name="expand">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">True</property>
-                 <property name="fill">True</property>
-               </packing>
-             </child>
-
-             <child>
-               <placeholder/>
-             </child>
-           </widget>
-           <packing>
-             <property name="left_attach">2</property>
-             <property name="right_attach">3</property>
-             <property name="top_attach">0</property>
-             <property name="bottom_attach">1</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkVBox" id="vbox6">
-             <property name="visible">True</property>
-             <property name="homogeneous">False</property>
-             <property name="spacing">0</property>
-
-             <child>
-               <widget class="GtkHBox" id="hbox17">
-                 <property name="visible">True</property>
-                 <property name="homogeneous">True</property>
-                 <property name="spacing">0</property>
-
-                 <child>
-                   <widget class="GtkTable" id="table8">
-                     <property name="visible">True</property>
-                     <property name="n_rows">3</property>
-                     <property name="n_columns">3</property>
-                     <property name="homogeneous">False</property>
-                     <property name="row_spacing">0</property>
-                     <property name="column_spacing">0</property>
-
-                     <child>
-                       <widget class="GtkSpinButton" id="spinbutton_width">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="climb_rate">1</property>
-                         <property name="digits">0</property>
-                         <property name="numeric">True</property>
-                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                         <property name="snap_to_ticks">False</property>
-                         <property name="wrap">False</property>
-                         <property name="adjustment">0 0 4096 16 16 10</property>
-                         <signal name="value_changed" handler="on_spinbutton_width_value_changed" last_modification_time="Sun, 07 Dec 2003 23:24:59 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">2</property>
-                         <property name="right_attach">3</property>
-                         <property name="top_attach">0</property>
-                         <property name="bottom_attach">1</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSpinButton" id="spinbutton_crop_top">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="climb_rate">1</property>
-                         <property name="digits">0</property>
-                         <property name="numeric">False</property>
-                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                         <property name="snap_to_ticks">False</property>
-                         <property name="wrap">False</property>
-                         <property name="adjustment">0 0 4096 2 10 10</property>
-                         <signal name="value_changed" handler="on_spinbutton_crop_top_value_changed" last_modification_time="Sun, 07 Dec 2003 23:42:52 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">2</property>
-                         <property name="right_attach">3</property>
-                         <property name="top_attach">1</property>
-                         <property name="bottom_attach">2</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label26">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Bottom crop</property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">2</property>
-                         <property name="bottom_attach">3</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label25">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Top crop</property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">1</property>
-                         <property name="bottom_attach">2</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label24">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Picture width</property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">0</property>
-                         <property name="bottom_attach">1</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSpinButton" id="spinbutton_crop_bottom">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="climb_rate">1</property>
-                         <property name="digits">0</property>
-                         <property name="numeric">False</property>
-                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                         <property name="snap_to_ticks">False</property>
-                         <property name="wrap">False</property>
-                         <property name="adjustment">0 0 4096 2 10 10</property>
-                         <signal name="value_changed" handler="on_spinbutton_crop_bottom_value_changed" last_modification_time="Sun, 07 Dec 2003 23:43:06 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">2</property>
-                         <property name="right_attach">3</property>
-                         <property name="top_attach">2</property>
-                         <property name="bottom_attach">3</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">5</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-
-                 <child>
-                   <widget class="GtkTable" id="table9">
-                     <property name="visible">True</property>
-                     <property name="n_rows">3</property>
-                     <property name="n_columns">3</property>
-                     <property name="homogeneous">False</property>
-                     <property name="row_spacing">0</property>
-                     <property name="column_spacing">0</property>
-
-                     <child>
-                       <widget class="GtkSpinButton" id="spinbutton_crop_left">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="climb_rate">1</property>
-                         <property name="digits">0</property>
-                         <property name="numeric">False</property>
-                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                         <property name="snap_to_ticks">False</property>
-                         <property name="wrap">False</property>
-                         <property name="adjustment">0 0 4096 2 10 10</property>
-                         <signal name="value_changed" handler="on_spinbutton_crop_left_value_changed" last_modification_time="Sun, 07 Dec 2003 23:43:30 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">2</property>
-                         <property name="right_attach">3</property>
-                         <property name="top_attach">1</property>
-                         <property name="bottom_attach">2</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label28">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Right crop</property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">2</property>
-                         <property name="bottom_attach">3</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label27">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Left crop</property>
-                         <property name="use_underline">False</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">1</property>
-                         <property name="bottom_attach">2</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSpinButton" id="spinbutton_crop_right">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="climb_rate">1</property>
-                         <property name="digits">0</property>
-                         <property name="numeric">False</property>
-                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                         <property name="snap_to_ticks">False</property>
-                         <property name="wrap">False</property>
-                         <property name="adjustment">0 0 4096 2 10 10</property>
-                         <signal name="value_changed" handler="on_spinbutton_crop_right_value_changed" last_modification_time="Sun, 07 Dec 2003 23:43:42 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">2</property>
-                         <property name="right_attach">3</property>
-                         <property name="top_attach">2</property>
-                         <property name="bottom_attach">3</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkCheckButton" id="checkbutton_deinterlace">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
-                         <property name="label" translatable="yes">deinterlace</property>
-                         <property name="use_underline">True</property>
-                         <property name="relief">GTK_RELIEF_NORMAL</property>
-                         <property name="active">False</property>
-                         <property name="inconsistent">False</property>
-                         <property name="draw_indicator">True</property>
-                         <signal name="toggled" handler="on_checkbutton_deinterlace_toggled" last_modification_time="Sat, 06 Dec 2003 21:12:08 GMT"/>
-                       </widget>
-                       <packing>
-                         <property name="left_attach">0</property>
-                         <property name="right_attach">1</property>
-                         <property name="top_attach">0</property>
-                         <property name="bottom_attach">1</property>
-                         <property name="x_options">fill</property>
-                         <property name="y_options"></property>
-                       </packing>
-                     </child>
-                   </widget>
-                   <packing>
-                     <property name="padding">5</property>
-                     <property name="expand">True</property>
-                     <property name="fill">True</property>
-                   </packing>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">True</property>
-                 <property name="fill">True</property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="right_attach">1</property>
-             <property name="top_attach">0</property>
-             <property name="bottom_attach">1</property>
-             <property name="y_options">fill</property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">True</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkHSeparator" id="hseparator1">
-         <property name="visible">True</property>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkTable" id="table4">
-         <property name="visible">True</property>
-         <property name="n_rows">1</property>
-         <property name="n_columns">2</property>
-         <property name="homogeneous">False</property>
-         <property name="row_spacing">0</property>
-         <property name="column_spacing">0</property>
-
-         <child>
-           <widget class="GtkButton" id="button1">
-             <property name="visible">True</property>
-             <property name="can_focus">True</property>
-             <property name="relief">GTK_RELIEF_NORMAL</property>
-             <signal name="clicked" handler="on_button_ok_settings_clicked" last_modification_time="Sat, 06 Dec 2003 19:07:02 GMT"/>
-
-             <child>
-               <widget class="GtkAlignment" id="alignment4">
-                 <property name="visible">True</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xscale">0</property>
-                 <property name="yscale">0</property>
-
-                 <child>
-                   <widget class="GtkHBox" id="hbox11">
-                     <property name="visible">True</property>
-                     <property name="homogeneous">False</property>
-                     <property name="spacing">2</property>
-
-                     <child>
-                       <widget class="GtkImage" id="image5">
-                         <property name="visible">True</property>
-                         <property name="stock">gtk-apply</property>
-                         <property name="icon_size">4</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label20">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">Ok</property>
-                         <property name="use_underline">True</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-           <packing>
-             <property name="left_attach">1</property>
-             <property name="right_attach">2</property>
-             <property name="top_attach">0</property>
-             <property name="bottom_attach">1</property>
-             <property name="x_options">fill</property>
-             <property name="y_options"></property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkLabel" id="label_settings">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">label21</property>
-             <property name="use_underline">False</property>
-             <property name="use_markup">False</property>
-             <property name="justify">GTK_JUSTIFY_LEFT</property>
-             <property name="wrap">False</property>
-             <property name="selectable">False</property>
-             <property name="xalign">0</property>
-             <property name="yalign">0.5</property>
-             <property name="xpad">0</property>
-             <property name="ypad">0</property>
-           </widget>
-           <packing>
-             <property name="left_attach">0</property>
-             <property name="right_attach">1</property>
-             <property name="top_attach">0</property>
-             <property name="bottom_attach">1</property>
-             <property name="y_options"></property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">5</property>
-         <property name="expand">False</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
diff --git a/gtk2/interface.c b/gtk2/interface.c
deleted file mode 100644 (file)
index 826889c..0000000
+++ /dev/null
@@ -1,984 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "HandBrake.h"
-#include "status.h"
-#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_win_main (void)
-{
-  GtkWidget *win_main;
-  GtkWidget *vbox1;
-  GtkWidget *frame_dvd;
-  GtkWidget *vbox11;
-  GtkWidget *alignment13;
-  GtkWidget *hbox1;
-  GtkWidget *label3;
-  GtkWidget *combo1;
-  GtkWidget *entry_device;
-  GtkWidget *button_browse_device;
-  GtkWidget *alignment1;
-  GtkWidget *hbox2;
-  GtkWidget *image1;
-  GtkWidget *label4;
-  GtkWidget *label1;
-  GtkWidget *vbox_parameters;
-  GtkWidget *frame_video;
-  GtkWidget *hbox18;
-  GtkWidget *alignment7;
-  GtkWidget *vbox7;
-  GtkWidget *label13;
-  GtkWidget *label12;
-  GtkWidget *radiobutton_cbitrate;
-  GSList *radiobutton_cbitrate_group = NULL;
-  GtkWidget *radiobutton_tsize;
-  GtkWidget *checkbutton_2pass;
-  GtkWidget *alignment8;
-  GtkWidget *vbox8;
-  GtkWidget *optionmenu_title;
-  GtkWidget *optionmenu_codec;
-  GtkWidget *menu_codec;
-  GtkWidget *mpeg_4__ffmpeg_1;
-  GtkWidget *mpeg_4__xvid_1;
-  GtkWidget *h264__x264_1;
-  GtkObject *spinbutton_bitrate_adj;
-  GtkWidget *spinbutton_bitrate;
-  GtkObject *spinbutton_size_adj;
-  GtkWidget *spinbutton_size;
-  GtkWidget *button_settings;
-  GtkWidget *label6;
-  GtkWidget *frame_audio;
-  GtkWidget *hbox19;
-  GtkWidget *alignment9;
-  GtkWidget *vbox9;
-  GtkWidget *label14;
-  GtkWidget *label15;
-  GtkWidget *label16;
-  GtkWidget *alignment10;
-  GtkWidget *vbox10;
-  GtkWidget *optionmenu_language;
-  GtkWidget *optionmenu_language2;
-  GtkWidget *optionmenu_bitrate;
-  GtkWidget *menu1;
-  GtkWidget *_2;
-  GtkWidget *_4;
-  GtkWidget *_7;
-  GtkWidget *_10;
-  GtkWidget *_11;
-  GtkWidget *_12;
-  GtkWidget *_13;
-  GtkWidget *label8;
-  GtkWidget *frame_output;
-  GtkWidget *vbox2;
-  GtkWidget *hbox20;
-  GtkWidget *alignment11;
-  GtkWidget *label17;
-  GtkWidget *alignment12;
-  GtkWidget *optionmenu_format;
-  GtkWidget *menu2;
-  GtkWidget *auto1;
-  GtkWidget *avi1;
-  GtkWidget *mp1;
-  GtkWidget *ogm1;
-  GtkWidget *hbox6;
-  GtkWidget *label18;
-  GtkWidget *combo2;
-  GtkWidget *entry_file;
-  GtkWidget *button_browse_file;
-  GtkWidget *alignment2;
-  GtkWidget *hbox7;
-  GtkWidget *image4;
-  GtkWidget *label19;
-  GtkWidget *label9;
-  GtkWidget *hbuttonbox1;
-  GtkWidget *button_start;
-  GtkWidget *alignment3;
-  GtkWidget *hbox9;
-  GtkWidget *button_start_image;
-  GtkWidget *button_start_label;
-  GtkWidget *hbox10;
-  GtkWidget *progressbar;
-  GtkWidget *statusbar;
-
-  win_main = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (win_main), "HandBrake");
-
-  vbox1 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox1);
-  gtk_container_add (GTK_CONTAINER (win_main), vbox1);
-
-  frame_dvd = gtk_frame_new (NULL);
-  gtk_widget_show (frame_dvd);
-  gtk_box_pack_start (GTK_BOX (vbox1), frame_dvd, TRUE, TRUE, 0);
-
-  vbox11 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox11);
-  gtk_container_add (GTK_CONTAINER (frame_dvd), vbox11);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
-
-  alignment13 = gtk_alignment_new (0, 1, 1, 1);
-  gtk_widget_show (alignment13);
-  gtk_box_pack_start (GTK_BOX (vbox11), alignment13, TRUE, FALSE, 0);
-
-  hbox1 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox1);
-  gtk_container_add (GTK_CONTAINER (alignment13), hbox1);
-
-  label3 = gtk_label_new ("Device ");
-  gtk_widget_show (label3);
-  gtk_box_pack_start (GTK_BOX (hbox1), label3, FALSE, TRUE, 0);
-
-  combo1 = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (combo1)->popwin),
-                     "GladeParentKey", combo1);
-  gtk_widget_show (combo1);
-  gtk_box_pack_start (GTK_BOX (hbox1), combo1, TRUE, TRUE, 0);
-
-  entry_device = GTK_COMBO (combo1)->entry;
-  gtk_widget_show (entry_device);
-
-  button_browse_device = gtk_button_new ();
-  gtk_widget_show (button_browse_device);
-  gtk_box_pack_start (GTK_BOX (hbox1), button_browse_device, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (button_browse_device, GTK_CAN_DEFAULT);
-
-  alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment1);
-  gtk_container_add (GTK_CONTAINER (button_browse_device), alignment1);
-
-  hbox2 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox2);
-  gtk_container_add (GTK_CONTAINER (alignment1), hbox2);
-
-  image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1);
-  gtk_box_pack_start (GTK_BOX (hbox2), image1, FALSE, FALSE, 0);
-
-  label4 = gtk_label_new_with_mnemonic ("Browse");
-  gtk_widget_show (label4);
-  gtk_box_pack_start (GTK_BOX (hbox2), label4, FALSE, FALSE, 0);
-
-  label1 = gtk_label_new ("DVD");
-  gtk_widget_show (label1);
-  gtk_frame_set_label_widget (GTK_FRAME (frame_dvd), label1);
-
-  vbox_parameters = gtk_vbox_new (FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (vbox1), vbox_parameters, FALSE, TRUE, 0);
-
-  frame_video = gtk_frame_new (NULL);
-  gtk_widget_show (frame_video);
-  gtk_box_pack_start (GTK_BOX (vbox_parameters), frame_video, FALSE, TRUE, 0);
-
-  hbox18 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox18);
-  gtk_container_add (GTK_CONTAINER (frame_video), hbox18);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox18), 5);
-
-  alignment7 = gtk_alignment_new (0, 0.5, 1, 1);
-  gtk_widget_show (alignment7);
-  gtk_box_pack_start (GTK_BOX (hbox18), alignment7, TRUE, TRUE, 0);
-
-  vbox7 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_show (vbox7);
-  gtk_container_add (GTK_CONTAINER (alignment7), vbox7);
-
-  label13 = gtk_label_new ("Title");
-  gtk_widget_show (label13);
-  gtk_box_pack_start (GTK_BOX (vbox7), label13, FALSE, FALSE, 0);
-  gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
-
-  label12 = gtk_label_new ("Codec");
-  gtk_widget_show (label12);
-  gtk_box_pack_start (GTK_BOX (vbox7), label12, FALSE, FALSE, 0);
-  gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
-
-  radiobutton_cbitrate = gtk_radio_button_new_with_mnemonic (NULL, "Custom bitrate");
-  gtk_widget_show (radiobutton_cbitrate);
-  gtk_box_pack_start (GTK_BOX (vbox7), radiobutton_cbitrate, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_cbitrate), radiobutton_cbitrate_group);
-  radiobutton_cbitrate_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_cbitrate));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton_cbitrate), TRUE);
-
-  radiobutton_tsize = gtk_radio_button_new_with_mnemonic (NULL, "Target size");
-  gtk_widget_show (radiobutton_tsize);
-  gtk_box_pack_start (GTK_BOX (vbox7), radiobutton_tsize, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_tsize), radiobutton_cbitrate_group);
-  radiobutton_cbitrate_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_tsize));
-
-  checkbutton_2pass = gtk_check_button_new_with_mnemonic ("2-pass encoding");
-  gtk_widget_show (checkbutton_2pass);
-  gtk_box_pack_start (GTK_BOX (vbox7), checkbutton_2pass, FALSE, FALSE, 0);
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton_2pass), TRUE);
-
-  alignment8 = gtk_alignment_new (1, 0.5, 1, 1);
-  gtk_widget_show (alignment8);
-  gtk_box_pack_start (GTK_BOX (hbox18), alignment8, TRUE, TRUE, 0);
-
-  vbox8 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_show (vbox8);
-  gtk_container_add (GTK_CONTAINER (alignment8), vbox8);
-
-  optionmenu_title = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_title);
-  gtk_box_pack_start (GTK_BOX (vbox8), optionmenu_title, FALSE, FALSE, 0);
-
-  optionmenu_codec = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_codec);
-  gtk_box_pack_start (GTK_BOX (vbox8), optionmenu_codec, FALSE, FALSE, 0);
-
-  menu_codec = gtk_menu_new ();
-
-  mpeg_4__ffmpeg_1 = gtk_menu_item_new_with_mnemonic ("MPEG-4 (FFmpeg)");
-  gtk_widget_show (mpeg_4__ffmpeg_1);
-  gtk_container_add (GTK_CONTAINER (menu_codec), mpeg_4__ffmpeg_1);
-
-  mpeg_4__xvid_1 = gtk_menu_item_new_with_mnemonic ("MPEG-4 (XviD)");
-  gtk_widget_show (mpeg_4__xvid_1);
-  gtk_container_add (GTK_CONTAINER (menu_codec), mpeg_4__xvid_1);
-
-  h264__x264_1 = gtk_menu_item_new_with_mnemonic ("H264 (x264)");
-  gtk_widget_show (h264__x264_1);
-  gtk_container_add (GTK_CONTAINER (menu_codec), h264__x264_1);
-
-  gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_codec), menu_codec);
-
-  spinbutton_bitrate_adj = gtk_adjustment_new (1024, 100, 5000, 1, 10, 10);
-  spinbutton_bitrate = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_bitrate_adj), 1, 0);
-  gtk_widget_show (spinbutton_bitrate);
-  gtk_box_pack_start (GTK_BOX (vbox8), spinbutton_bitrate, FALSE, FALSE, 0);
-
-  spinbutton_size_adj = gtk_adjustment_new (700, 0, 2000, 1, 10, 10);
-  spinbutton_size = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_size_adj), 1, 0);
-  gtk_widget_show (spinbutton_size);
-  gtk_box_pack_start (GTK_BOX (vbox8), spinbutton_size, FALSE, FALSE, 0);
-
-  button_settings = gtk_button_new_with_mnemonic ("Crop & Resize..");
-  gtk_widget_show (button_settings);
-  gtk_box_pack_start (GTK_BOX (vbox8), button_settings, FALSE, FALSE, 0);
-
-  label6 = gtk_label_new ("Video");
-  gtk_widget_show (label6);
-  gtk_frame_set_label_widget (GTK_FRAME (frame_video), label6);
-
-  frame_audio = gtk_frame_new (NULL);
-  gtk_widget_show (frame_audio);
-  gtk_box_pack_start (GTK_BOX (vbox_parameters), frame_audio, FALSE, TRUE, 0);
-
-  hbox19 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox19);
-  gtk_container_add (GTK_CONTAINER (frame_audio), hbox19);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox19), 5);
-
-  alignment9 = gtk_alignment_new (0, 0.5, 1, 1);
-  gtk_widget_show (alignment9);
-  gtk_box_pack_start (GTK_BOX (hbox19), alignment9, TRUE, TRUE, 0);
-
-  vbox9 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_show (vbox9);
-  gtk_container_add (GTK_CONTAINER (alignment9), vbox9);
-
-  label14 = gtk_label_new ("Language");
-  gtk_widget_show (label14);
-  gtk_box_pack_start (GTK_BOX (vbox9), label14, FALSE, FALSE, 0);
-  gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
-
-  label15 = gtk_label_new ("Secondary language");
-  gtk_widget_show (label15);
-  gtk_box_pack_start (GTK_BOX (vbox9), label15, FALSE, FALSE, 0);
-  gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
-
-  label16 = gtk_label_new ("Bitrate");
-  gtk_widget_show (label16);
-  gtk_box_pack_start (GTK_BOX (vbox9), label16, FALSE, FALSE, 0);
-  gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5);
-
-  alignment10 = gtk_alignment_new (1, 0.5, 1, 1);
-  gtk_widget_show (alignment10);
-  gtk_box_pack_start (GTK_BOX (hbox19), alignment10, TRUE, TRUE, 0);
-
-  vbox10 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_show (vbox10);
-  gtk_container_add (GTK_CONTAINER (alignment10), vbox10);
-
-  optionmenu_language = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_language);
-  gtk_box_pack_start (GTK_BOX (vbox10), optionmenu_language, FALSE, FALSE, 0);
-
-  optionmenu_language2 = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_language2);
-  gtk_box_pack_start (GTK_BOX (vbox10), optionmenu_language2, FALSE, FALSE, 0);
-
-  optionmenu_bitrate = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_bitrate);
-  gtk_box_pack_start (GTK_BOX (vbox10), optionmenu_bitrate, FALSE, FALSE, 0);
-
-  menu1 = gtk_menu_new ();
-
-  _2 = gtk_menu_item_new_with_mnemonic ("64");
-  gtk_widget_show (_2);
-  gtk_container_add (GTK_CONTAINER (menu1), _2);
-
-  _4 = gtk_menu_item_new_with_mnemonic ("96");
-  gtk_widget_show (_4);
-  gtk_container_add (GTK_CONTAINER (menu1), _4);
-
-  _7 = gtk_menu_item_new_with_mnemonic ("128");
-  gtk_widget_show (_7);
-  gtk_container_add (GTK_CONTAINER (menu1), _7);
-
-  _10 = gtk_menu_item_new_with_mnemonic ("160");
-  gtk_widget_show (_10);
-  gtk_container_add (GTK_CONTAINER (menu1), _10);
-
-  _11 = gtk_menu_item_new_with_mnemonic ("192");
-  gtk_widget_show (_11);
-  gtk_container_add (GTK_CONTAINER (menu1), _11);
-
-  _12 = gtk_menu_item_new_with_mnemonic ("256");
-  gtk_widget_show (_12);
-  gtk_container_add (GTK_CONTAINER (menu1), _12);
-
-  _13 = gtk_menu_item_new_with_mnemonic ("320");
-  gtk_widget_show (_13);
-  gtk_container_add (GTK_CONTAINER (menu1), _13);
-
-  gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_bitrate), menu1);
-
-  label8 = gtk_label_new ("Audio");
-  gtk_widget_show (label8);
-  gtk_frame_set_label_widget (GTK_FRAME (frame_audio), label8);
-
-  frame_output = gtk_frame_new (NULL);
-  gtk_widget_show (frame_output);
-  gtk_box_pack_start (GTK_BOX (vbox_parameters), frame_output, FALSE, TRUE, 6);
-
-  vbox2 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox2);
-  gtk_container_add (GTK_CONTAINER (frame_output), vbox2);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox2), 5);
-
-  hbox20 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox20);
-  gtk_box_pack_start (GTK_BOX (vbox2), hbox20, TRUE, TRUE, 0);
-
-  alignment11 = gtk_alignment_new (0, 0.5, 1, 1);
-  gtk_widget_show (alignment11);
-  gtk_box_pack_start (GTK_BOX (hbox20), alignment11, TRUE, TRUE, 0);
-
-  label17 = gtk_label_new ("Format");
-  gtk_widget_show (label17);
-  gtk_container_add (GTK_CONTAINER (alignment11), label17);
-  gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
-
-  alignment12 = gtk_alignment_new (1, 0.5, 1, 1);
-  gtk_widget_show (alignment12);
-  gtk_box_pack_start (GTK_BOX (hbox20), alignment12, TRUE, TRUE, 0);
-
-  optionmenu_format = gtk_option_menu_new ();
-  gtk_widget_show (optionmenu_format);
-  gtk_container_add (GTK_CONTAINER (alignment12), optionmenu_format);
-
-  menu2 = gtk_menu_new ();
-
-  auto1 = gtk_menu_item_new_with_mnemonic ("Auto");
-  gtk_widget_show (auto1);
-  gtk_container_add (GTK_CONTAINER (menu2), auto1);
-
-  avi1 = gtk_menu_item_new_with_mnemonic ("AVI");
-  gtk_widget_show (avi1);
-  gtk_container_add (GTK_CONTAINER (menu2), avi1);
-
-  mp1 = gtk_menu_item_new_with_mnemonic ("MP4");
-  gtk_widget_show (mp1);
-  gtk_container_add (GTK_CONTAINER (menu2), mp1);
-
-  ogm1 = gtk_menu_item_new_with_mnemonic ("OGM");
-  gtk_widget_show (ogm1);
-  gtk_container_add (GTK_CONTAINER (menu2), ogm1);
-
-  gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_format), menu2);
-
-  hbox6 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox6);
-  gtk_box_pack_start (GTK_BOX (vbox2), hbox6, TRUE, TRUE, 0);
-
-  label18 = gtk_label_new ("File ");
-  gtk_widget_show (label18);
-  gtk_box_pack_start (GTK_BOX (hbox6), label18, FALSE, TRUE, 0);
-
-  combo2 = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (combo2)->popwin),
-                     "GladeParentKey", combo2);
-  gtk_widget_show (combo2);
-  gtk_box_pack_start (GTK_BOX (hbox6), combo2, TRUE, TRUE, 0);
-
-  entry_file = GTK_COMBO (combo2)->entry;
-  gtk_widget_show (entry_file);
-
-  button_browse_file = gtk_button_new ();
-  gtk_widget_show (button_browse_file);
-  gtk_box_pack_start (GTK_BOX (hbox6), button_browse_file, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (button_browse_file, GTK_CAN_DEFAULT);
-
-  alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment2);
-  gtk_container_add (GTK_CONTAINER (button_browse_file), alignment2);
-
-  hbox7 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox7);
-  gtk_container_add (GTK_CONTAINER (alignment2), hbox7);
-
-  image4 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image4);
-  gtk_box_pack_start (GTK_BOX (hbox7), image4, FALSE, FALSE, 0);
-
-  label19 = gtk_label_new_with_mnemonic ("Browse");
-  gtk_widget_show (label19);
-  gtk_box_pack_start (GTK_BOX (hbox7), label19, FALSE, FALSE, 0);
-
-  label9 = gtk_label_new ("Output");
-  gtk_widget_show (label9);
-  gtk_frame_set_label_widget (GTK_FRAME (frame_output), label9);
-
-  hbuttonbox1 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox1);
-  gtk_box_pack_start (GTK_BOX (vbox_parameters), hbuttonbox1, FALSE, TRUE, 4);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
-
-  button_start = gtk_button_new ();
-  gtk_widget_show (button_start);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_start);
-  GTK_WIDGET_SET_FLAGS (button_start, GTK_CAN_DEFAULT);
-
-  alignment3 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment3);
-  gtk_container_add (GTK_CONTAINER (button_start), alignment3);
-
-  hbox9 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox9);
-  gtk_container_add (GTK_CONTAINER (alignment3), hbox9);
-
-  button_start_image = gtk_image_new_from_stock ("gtk-apply", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (button_start_image);
-  gtk_box_pack_start (GTK_BOX (hbox9), button_start_image, FALSE, FALSE, 0);
-
-  button_start_label = gtk_label_new_with_mnemonic ("Start");
-  gtk_widget_show (button_start_label);
-  gtk_box_pack_start (GTK_BOX (hbox9), button_start_label, FALSE, FALSE, 0);
-
-  hbox10 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox10);
-  gtk_box_pack_start (GTK_BOX (vbox1), hbox10, FALSE, FALSE, 0);
-
-  progressbar = gtk_progress_bar_new ();
-  gtk_widget_show (progressbar);
-  gtk_box_pack_start (GTK_BOX (hbox10), progressbar, FALSE, FALSE, 0);
-
-  statusbar = gtk_statusbar_new ();
-  gtk_widget_show (statusbar);
-  gtk_box_pack_start (GTK_BOX (hbox10), statusbar, TRUE, TRUE, 0);
-
-  g_signal_connect ((gpointer) win_main, "delete_event",
-                    G_CALLBACK (on_win_main_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) entry_device, "activate",
-                    G_CALLBACK (on_entry_device_activate),
-                    NULL);
-  g_signal_connect ((gpointer) button_browse_device, "clicked",
-                    G_CALLBACK (on_button_browse_device),
-                    NULL);
-  g_signal_connect ((gpointer) optionmenu_title, "changed",
-                    G_CALLBACK (on_optionmenu_title_changed),
-                    NULL);
-  g_signal_connect ((gpointer) button_settings, "clicked",
-                    G_CALLBACK (on_button_settings_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) entry_file, "activate",
-                    G_CALLBACK (on_entry_file_activate),
-                    NULL);
-  g_signal_connect ((gpointer) button_browse_file, "clicked",
-                    G_CALLBACK (on_button_browse_file_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) button_start, "clicked",
-                    G_CALLBACK (on_button_start_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (win_main, win_main, "win_main");
-  GLADE_HOOKUP_OBJECT (win_main, vbox1, "vbox1");
-  GLADE_HOOKUP_OBJECT (win_main, frame_dvd, "frame_dvd");
-  GLADE_HOOKUP_OBJECT (win_main, vbox11, "vbox11");
-  GLADE_HOOKUP_OBJECT (win_main, alignment13, "alignment13");
-  GLADE_HOOKUP_OBJECT (win_main, hbox1, "hbox1");
-  GLADE_HOOKUP_OBJECT (win_main, label3, "label3");
-  GLADE_HOOKUP_OBJECT (win_main, combo1, "combo1");
-  GLADE_HOOKUP_OBJECT (win_main, entry_device, "entry_device");
-  GLADE_HOOKUP_OBJECT (win_main, button_browse_device, "button_browse_device");
-  GLADE_HOOKUP_OBJECT (win_main, alignment1, "alignment1");
-  GLADE_HOOKUP_OBJECT (win_main, hbox2, "hbox2");
-  GLADE_HOOKUP_OBJECT (win_main, image1, "image1");
-  GLADE_HOOKUP_OBJECT (win_main, label4, "label4");
-  GLADE_HOOKUP_OBJECT (win_main, label1, "label1");
-  GLADE_HOOKUP_OBJECT (win_main, vbox_parameters, "vbox_parameters");
-  GLADE_HOOKUP_OBJECT (win_main, frame_video, "frame_video");
-  GLADE_HOOKUP_OBJECT (win_main, hbox18, "hbox18");
-  GLADE_HOOKUP_OBJECT (win_main, alignment7, "alignment7");
-  GLADE_HOOKUP_OBJECT (win_main, vbox7, "vbox7");
-  GLADE_HOOKUP_OBJECT (win_main, label13, "label13");
-  GLADE_HOOKUP_OBJECT (win_main, label12, "label12");
-  GLADE_HOOKUP_OBJECT (win_main, radiobutton_cbitrate, "radiobutton_cbitrate");
-  GLADE_HOOKUP_OBJECT (win_main, radiobutton_tsize, "radiobutton_tsize");
-  GLADE_HOOKUP_OBJECT (win_main, checkbutton_2pass, "checkbutton_2pass");
-  GLADE_HOOKUP_OBJECT (win_main, alignment8, "alignment8");
-  GLADE_HOOKUP_OBJECT (win_main, vbox8, "vbox8");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_title, "optionmenu_title");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_codec, "optionmenu_codec");
-  GLADE_HOOKUP_OBJECT (win_main, menu_codec, "menu_codec");
-  GLADE_HOOKUP_OBJECT (win_main, mpeg_4__ffmpeg_1, "mpeg_4__ffmpeg_1");
-  GLADE_HOOKUP_OBJECT (win_main, mpeg_4__xvid_1, "mpeg_4__xvid_1");
-  GLADE_HOOKUP_OBJECT (win_main, h264__x264_1, "h264__x264_1");
-  GLADE_HOOKUP_OBJECT (win_main, spinbutton_bitrate, "spinbutton_bitrate");
-  GLADE_HOOKUP_OBJECT (win_main, spinbutton_size, "spinbutton_size");
-  GLADE_HOOKUP_OBJECT (win_main, button_settings, "button_settings");
-  GLADE_HOOKUP_OBJECT (win_main, label6, "label6");
-  GLADE_HOOKUP_OBJECT (win_main, frame_audio, "frame_audio");
-  GLADE_HOOKUP_OBJECT (win_main, hbox19, "hbox19");
-  GLADE_HOOKUP_OBJECT (win_main, alignment9, "alignment9");
-  GLADE_HOOKUP_OBJECT (win_main, vbox9, "vbox9");
-  GLADE_HOOKUP_OBJECT (win_main, label14, "label14");
-  GLADE_HOOKUP_OBJECT (win_main, label15, "label15");
-  GLADE_HOOKUP_OBJECT (win_main, label16, "label16");
-  GLADE_HOOKUP_OBJECT (win_main, alignment10, "alignment10");
-  GLADE_HOOKUP_OBJECT (win_main, vbox10, "vbox10");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_language, "optionmenu_language");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_language2, "optionmenu_language2");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_bitrate, "optionmenu_bitrate");
-  GLADE_HOOKUP_OBJECT (win_main, menu1, "menu1");
-  GLADE_HOOKUP_OBJECT (win_main, _2, "_2");
-  GLADE_HOOKUP_OBJECT (win_main, _4, "_4");
-  GLADE_HOOKUP_OBJECT (win_main, _7, "_7");
-  GLADE_HOOKUP_OBJECT (win_main, _10, "_10");
-  GLADE_HOOKUP_OBJECT (win_main, _11, "_11");
-  GLADE_HOOKUP_OBJECT (win_main, _12, "_12");
-  GLADE_HOOKUP_OBJECT (win_main, _13, "_13");
-  GLADE_HOOKUP_OBJECT (win_main, label8, "label8");
-  GLADE_HOOKUP_OBJECT (win_main, frame_output, "frame_output");
-  GLADE_HOOKUP_OBJECT (win_main, vbox2, "vbox2");
-  GLADE_HOOKUP_OBJECT (win_main, hbox20, "hbox20");
-  GLADE_HOOKUP_OBJECT (win_main, alignment11, "alignment11");
-  GLADE_HOOKUP_OBJECT (win_main, label17, "label17");
-  GLADE_HOOKUP_OBJECT (win_main, alignment12, "alignment12");
-  GLADE_HOOKUP_OBJECT (win_main, optionmenu_format, "optionmenu_format");
-  GLADE_HOOKUP_OBJECT (win_main, menu2, "menu2");
-  GLADE_HOOKUP_OBJECT (win_main, auto1, "auto1");
-  GLADE_HOOKUP_OBJECT (win_main, avi1, "avi1");
-  GLADE_HOOKUP_OBJECT (win_main, mp1, "mp1");
-  GLADE_HOOKUP_OBJECT (win_main, ogm1, "ogm1");
-  GLADE_HOOKUP_OBJECT (win_main, hbox6, "hbox6");
-  GLADE_HOOKUP_OBJECT (win_main, label18, "label18");
-  GLADE_HOOKUP_OBJECT (win_main, combo2, "combo2");
-  GLADE_HOOKUP_OBJECT (win_main, entry_file, "entry_file");
-  GLADE_HOOKUP_OBJECT (win_main, button_browse_file, "button_browse_file");
-  GLADE_HOOKUP_OBJECT (win_main, alignment2, "alignment2");
-  GLADE_HOOKUP_OBJECT (win_main, hbox7, "hbox7");
-  GLADE_HOOKUP_OBJECT (win_main, image4, "image4");
-  GLADE_HOOKUP_OBJECT (win_main, label19, "label19");
-  GLADE_HOOKUP_OBJECT (win_main, label9, "label9");
-  GLADE_HOOKUP_OBJECT (win_main, hbuttonbox1, "hbuttonbox1");
-  GLADE_HOOKUP_OBJECT (win_main, button_start, "button_start");
-  GLADE_HOOKUP_OBJECT (win_main, alignment3, "alignment3");
-  GLADE_HOOKUP_OBJECT (win_main, hbox9, "hbox9");
-  GLADE_HOOKUP_OBJECT (win_main, button_start_image, "button_start_image");
-  GLADE_HOOKUP_OBJECT (win_main, button_start_label, "button_start_label");
-  GLADE_HOOKUP_OBJECT (win_main, hbox10, "hbox10");
-  GLADE_HOOKUP_OBJECT (win_main, progressbar, "progressbar");
-  GLADE_HOOKUP_OBJECT (win_main, statusbar, "statusbar");
-
-  return win_main;
-}
-
-GtkWidget*
-create_win_open (void)
-{
-  GtkWidget *win_open;
-  GtkWidget *ok_button1;
-  GtkWidget *cancel_button1;
-
-  win_open = gtk_file_selection_new ("Select File");
-  gtk_container_set_border_width (GTK_CONTAINER (win_open), 10);
-  gtk_window_set_modal (GTK_WINDOW (win_open), TRUE);
-
-  ok_button1 = GTK_FILE_SELECTION (win_open)->ok_button;
-  gtk_widget_show (ok_button1);
-  GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
-
-  cancel_button1 = GTK_FILE_SELECTION (win_open)->cancel_button;
-  gtk_widget_show (cancel_button1);
-  GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
-
-  g_signal_connect ((gpointer) win_open, "delete_event",
-                    G_CALLBACK (on_win_open_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) ok_button1, "clicked",
-                    G_CALLBACK (on_ok_button1_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) cancel_button1, "clicked",
-                    G_CALLBACK (on_cancel_button1_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (win_open, win_open, "win_open");
-  GLADE_HOOKUP_OBJECT_NO_REF (win_open, ok_button1, "ok_button1");
-  GLADE_HOOKUP_OBJECT_NO_REF (win_open, cancel_button1, "cancel_button1");
-
-  return win_open;
-}
-
-GtkWidget*
-create_win_settings (void)
-{
-  GtkWidget *win_settings;
-  GtkWidget *vbox4;
-  GtkWidget *drawingarea;
-  GtkWidget *table5;
-  GtkWidget *vbox5;
-  GtkWidget *hbuttonbox2;
-  GtkWidget *button_settings_previous;
-  GtkWidget *alignment5;
-  GtkWidget *hbox12;
-  GtkWidget *image7;
-  GtkWidget *label22;
-  GtkWidget *button_settings_next;
-  GtkWidget *alignment6;
-  GtkWidget *hbox13;
-  GtkWidget *image8;
-  GtkWidget *label23;
-  GtkWidget *vbox6;
-  GtkWidget *hbox17;
-  GtkWidget *table8;
-  GtkObject *spinbutton_width_adj;
-  GtkWidget *spinbutton_width;
-  GtkObject *spinbutton_crop_top_adj;
-  GtkWidget *spinbutton_crop_top;
-  GtkWidget *label26;
-  GtkWidget *label25;
-  GtkWidget *label24;
-  GtkObject *spinbutton_crop_bottom_adj;
-  GtkWidget *spinbutton_crop_bottom;
-  GtkWidget *table9;
-  GtkObject *spinbutton_crop_left_adj;
-  GtkWidget *spinbutton_crop_left;
-  GtkWidget *label28;
-  GtkWidget *label27;
-  GtkObject *spinbutton_crop_right_adj;
-  GtkWidget *spinbutton_crop_right;
-  GtkWidget *checkbutton_deinterlace;
-  GtkWidget *hseparator1;
-  GtkWidget *table4;
-  GtkWidget *button1;
-  GtkWidget *alignment4;
-  GtkWidget *hbox11;
-  GtkWidget *image5;
-  GtkWidget *label20;
-  GtkWidget *label_settings;
-
-  win_settings = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (win_settings), "Picture settings");
-  gtk_window_set_modal (GTK_WINDOW (win_settings), TRUE);
-
-  vbox4 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox4);
-  gtk_container_add (GTK_CONTAINER (win_settings), vbox4);
-
-  drawingarea = gtk_drawing_area_new ();
-  gtk_widget_show (drawingarea);
-  gtk_box_pack_start (GTK_BOX (vbox4), drawingarea, TRUE, TRUE, 10);
-
-  table5 = gtk_table_new (1, 3, FALSE);
-  gtk_widget_show (table5);
-  gtk_box_pack_start (GTK_BOX (vbox4), table5, TRUE, TRUE, 0);
-
-  vbox5 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox5);
-  gtk_table_attach (GTK_TABLE (table5), vbox5, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  hbuttonbox2 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox2);
-  gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox2, TRUE, TRUE, 0);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
-
-  button_settings_previous = gtk_button_new ();
-  gtk_widget_show (button_settings_previous);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox2), button_settings_previous);
-  gtk_widget_set_sensitive (button_settings_previous, FALSE);
-  GTK_WIDGET_SET_FLAGS (button_settings_previous, GTK_CAN_DEFAULT);
-
-  alignment5 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment5);
-  gtk_container_add (GTK_CONTAINER (button_settings_previous), alignment5);
-
-  hbox12 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox12);
-  gtk_container_add (GTK_CONTAINER (alignment5), hbox12);
-
-  image7 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image7);
-  gtk_box_pack_start (GTK_BOX (hbox12), image7, FALSE, FALSE, 0);
-
-  label22 = gtk_label_new_with_mnemonic ("Previous");
-  gtk_widget_show (label22);
-  gtk_box_pack_start (GTK_BOX (hbox12), label22, FALSE, FALSE, 0);
-
-  button_settings_next = gtk_button_new ();
-  gtk_widget_show (button_settings_next);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox2), button_settings_next);
-  GTK_WIDGET_SET_FLAGS (button_settings_next, GTK_CAN_DEFAULT);
-
-  alignment6 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment6);
-  gtk_container_add (GTK_CONTAINER (button_settings_next), alignment6);
-
-  hbox13 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox13);
-  gtk_container_add (GTK_CONTAINER (alignment6), hbox13);
-
-  image8 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image8);
-  gtk_box_pack_start (GTK_BOX (hbox13), image8, FALSE, FALSE, 0);
-
-  label23 = gtk_label_new_with_mnemonic ("Next");
-  gtk_widget_show (label23);
-  gtk_box_pack_start (GTK_BOX (hbox13), label23, FALSE, FALSE, 0);
-
-  vbox6 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox6);
-  gtk_table_attach (GTK_TABLE (table5), vbox6, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hbox17 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox17);
-  gtk_box_pack_start (GTK_BOX (vbox6), hbox17, TRUE, TRUE, 0);
-
-  table8 = gtk_table_new (3, 3, FALSE);
-  gtk_widget_show (table8);
-  gtk_box_pack_start (GTK_BOX (hbox17), table8, TRUE, TRUE, 5);
-
-  spinbutton_width_adj = gtk_adjustment_new (0, 0, 4096, 16, 16, 10);
-  spinbutton_width = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_width_adj), 1, 0);
-  gtk_widget_show (spinbutton_width);
-  gtk_table_attach (GTK_TABLE (table8), spinbutton_width, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_width), TRUE);
-
-  spinbutton_crop_top_adj = gtk_adjustment_new (0, 0, 4096, 2, 10, 10);
-  spinbutton_crop_top = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_crop_top_adj), 1, 0);
-  gtk_widget_show (spinbutton_crop_top);
-  gtk_table_attach (GTK_TABLE (table8), spinbutton_crop_top, 2, 3, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label26 = gtk_label_new ("Bottom crop");
-  gtk_widget_show (label26);
-  gtk_table_attach (GTK_TABLE (table8), label26, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
-
-  label25 = gtk_label_new ("Top crop");
-  gtk_widget_show (label25);
-  gtk_table_attach (GTK_TABLE (table8), label25, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
-
-  label24 = gtk_label_new ("Picture width");
-  gtk_widget_show (label24);
-  gtk_table_attach (GTK_TABLE (table8), label24, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  spinbutton_crop_bottom_adj = gtk_adjustment_new (0, 0, 4096, 2, 10, 10);
-  spinbutton_crop_bottom = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_crop_bottom_adj), 1, 0);
-  gtk_widget_show (spinbutton_crop_bottom);
-  gtk_table_attach (GTK_TABLE (table8), spinbutton_crop_bottom, 2, 3, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  table9 = gtk_table_new (3, 3, FALSE);
-  gtk_widget_show (table9);
-  gtk_box_pack_start (GTK_BOX (hbox17), table9, TRUE, TRUE, 5);
-
-  spinbutton_crop_left_adj = gtk_adjustment_new (0, 0, 4096, 2, 10, 10);
-  spinbutton_crop_left = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_crop_left_adj), 1, 0);
-  gtk_widget_show (spinbutton_crop_left);
-  gtk_table_attach (GTK_TABLE (table9), spinbutton_crop_left, 2, 3, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label28 = gtk_label_new ("Right crop");
-  gtk_widget_show (label28);
-  gtk_table_attach (GTK_TABLE (table9), label28, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label28), 0, 0.5);
-
-  label27 = gtk_label_new ("Left crop");
-  gtk_widget_show (label27);
-  gtk_table_attach (GTK_TABLE (table9), label27, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
-
-  spinbutton_crop_right_adj = gtk_adjustment_new (0, 0, 4096, 2, 10, 10);
-  spinbutton_crop_right = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_crop_right_adj), 1, 0);
-  gtk_widget_show (spinbutton_crop_right);
-  gtk_table_attach (GTK_TABLE (table9), spinbutton_crop_right, 2, 3, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  checkbutton_deinterlace = gtk_check_button_new_with_mnemonic ("deinterlace");
-  gtk_widget_show (checkbutton_deinterlace);
-  gtk_table_attach (GTK_TABLE (table9), checkbutton_deinterlace, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator1 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator1);
-  gtk_box_pack_start (GTK_BOX (vbox4), hseparator1, FALSE, TRUE, 0);
-
-  table4 = gtk_table_new (1, 2, FALSE);
-  gtk_widget_show (table4);
-  gtk_box_pack_start (GTK_BOX (vbox4), table4, FALSE, TRUE, 5);
-
-  button1 = gtk_button_new ();
-  gtk_widget_show (button1);
-  gtk_table_attach (GTK_TABLE (table4), button1, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  alignment4 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment4);
-  gtk_container_add (GTK_CONTAINER (button1), alignment4);
-
-  hbox11 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox11);
-  gtk_container_add (GTK_CONTAINER (alignment4), hbox11);
-
-  image5 = gtk_image_new_from_stock ("gtk-apply", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image5);
-  gtk_box_pack_start (GTK_BOX (hbox11), image5, FALSE, FALSE, 0);
-
-  label20 = gtk_label_new_with_mnemonic ("Ok");
-  gtk_widget_show (label20);
-  gtk_box_pack_start (GTK_BOX (hbox11), label20, FALSE, FALSE, 0);
-
-  label_settings = gtk_label_new ("label21");
-  gtk_widget_show (label_settings);
-  gtk_table_attach (GTK_TABLE (table4), label_settings, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label_settings), 0, 0.5);
-
-  g_signal_connect ((gpointer) win_settings, "delete_event",
-                    G_CALLBACK (on_win_settings_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) button_settings_previous, "clicked",
-                    G_CALLBACK (on_button_settings_previous_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) button_settings_next, "clicked",
-                    G_CALLBACK (on_button_settings_next_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) spinbutton_width, "value_changed",
-                    G_CALLBACK (on_spinbutton_width_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) spinbutton_crop_top, "value_changed",
-                    G_CALLBACK (on_spinbutton_crop_top_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) spinbutton_crop_bottom, "value_changed",
-                    G_CALLBACK (on_spinbutton_crop_bottom_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) spinbutton_crop_left, "value_changed",
-                    G_CALLBACK (on_spinbutton_crop_left_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) spinbutton_crop_right, "value_changed",
-                    G_CALLBACK (on_spinbutton_crop_right_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) checkbutton_deinterlace, "toggled",
-                    G_CALLBACK (on_checkbutton_deinterlace_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) button1, "clicked",
-                    G_CALLBACK (on_button_ok_settings_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (win_settings, win_settings, "win_settings");
-  GLADE_HOOKUP_OBJECT (win_settings, vbox4, "vbox4");
-  GLADE_HOOKUP_OBJECT (win_settings, drawingarea, "drawingarea");
-  GLADE_HOOKUP_OBJECT (win_settings, table5, "table5");
-  GLADE_HOOKUP_OBJECT (win_settings, vbox5, "vbox5");
-  GLADE_HOOKUP_OBJECT (win_settings, hbuttonbox2, "hbuttonbox2");
-  GLADE_HOOKUP_OBJECT (win_settings, button_settings_previous, "button_settings_previous");
-  GLADE_HOOKUP_OBJECT (win_settings, alignment5, "alignment5");
-  GLADE_HOOKUP_OBJECT (win_settings, hbox12, "hbox12");
-  GLADE_HOOKUP_OBJECT (win_settings, image7, "image7");
-  GLADE_HOOKUP_OBJECT (win_settings, label22, "label22");
-  GLADE_HOOKUP_OBJECT (win_settings, button_settings_next, "button_settings_next");
-  GLADE_HOOKUP_OBJECT (win_settings, alignment6, "alignment6");
-  GLADE_HOOKUP_OBJECT (win_settings, hbox13, "hbox13");
-  GLADE_HOOKUP_OBJECT (win_settings, image8, "image8");
-  GLADE_HOOKUP_OBJECT (win_settings, label23, "label23");
-  GLADE_HOOKUP_OBJECT (win_settings, vbox6, "vbox6");
-  GLADE_HOOKUP_OBJECT (win_settings, hbox17, "hbox17");
-  GLADE_HOOKUP_OBJECT (win_settings, table8, "table8");
-  GLADE_HOOKUP_OBJECT (win_settings, spinbutton_width, "spinbutton_width");
-  GLADE_HOOKUP_OBJECT (win_settings, spinbutton_crop_top, "spinbutton_crop_top");
-  GLADE_HOOKUP_OBJECT (win_settings, label26, "label26");
-  GLADE_HOOKUP_OBJECT (win_settings, label25, "label25");
-  GLADE_HOOKUP_OBJECT (win_settings, label24, "label24");
-  GLADE_HOOKUP_OBJECT (win_settings, spinbutton_crop_bottom, "spinbutton_crop_bottom");
-  GLADE_HOOKUP_OBJECT (win_settings, table9, "table9");
-  GLADE_HOOKUP_OBJECT (win_settings, spinbutton_crop_left, "spinbutton_crop_left");
-  GLADE_HOOKUP_OBJECT (win_settings, label28, "label28");
-  GLADE_HOOKUP_OBJECT (win_settings, label27, "label27");
-  GLADE_HOOKUP_OBJECT (win_settings, spinbutton_crop_right, "spinbutton_crop_right");
-  GLADE_HOOKUP_OBJECT (win_settings, checkbutton_deinterlace, "checkbutton_deinterlace");
-  GLADE_HOOKUP_OBJECT (win_settings, hseparator1, "hseparator1");
-  GLADE_HOOKUP_OBJECT (win_settings, table4, "table4");
-  GLADE_HOOKUP_OBJECT (win_settings, button1, "button1");
-  GLADE_HOOKUP_OBJECT (win_settings, alignment4, "alignment4");
-  GLADE_HOOKUP_OBJECT (win_settings, hbox11, "hbox11");
-  GLADE_HOOKUP_OBJECT (win_settings, image5, "image5");
-  GLADE_HOOKUP_OBJECT (win_settings, label20, "label20");
-  GLADE_HOOKUP_OBJECT (win_settings, label_settings, "label_settings");
-
-  return win_settings;
-}
-
diff --git a/gtk2/interface.h b/gtk2/interface.h
deleted file mode 100644 (file)
index 303e644..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_win_main (void);
-GtkWidget* create_win_open (void);
-GtkWidget* create_win_settings (void);
diff --git a/gtk2/main.c b/gtk2/main.c
deleted file mode 100644 (file)
index d4e4d5d..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Initial main.c file generated by Glade. Edit as required.
- * Glade will not overwrite this file.
- */
-
-#include "../core/HandBrake.h"
-
-#include <gtk/gtk.h>
-
-#include "interface.h"
-#include "support.h"
-
-#include "status.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)
-
-GtkWidget *hb_win_main = NULL;
-HBHandle  *hb_handle = NULL;
-HBStatus  *hb_status = NULL;
-
-static int HBMain( void *data );
-
-/* libhb callbacks */
-static void Scanning( void * data, int title, int titleCount );
-static void ScanDone( void * data, HBList * titleList );
-static void Encoding( void * data, float position, int pass,
-                      int passCount, float frameRate,
-                      float avgFrameRate, int remainingTime );
-static void RipDone( void * data, int result );
-
-
-int main (int argc, char **argv )
-{
-    HBCallbacks callbacks;
-    GtkWidget   *widget;
-    GList       *items = NULL;
-
-    int i_dummy;
-
-    /* Create HB stuff */
-    if( ( hb_handle = HBInit( 1, 0 ) ) == NULL )
-    {
-        g_print( "HBInit: failed\n" );
-        return -1;
-    }
-
-    /* Emulate a HBStatus */
-    hb_status = malloc( sizeof( HBStatus ) );
-    hb_status->i_state = HB_STATE_NEED_DEVICE;
-    hb_status->b_new = 1;
-    hb_status->i_title = 0;
-    hb_status->i_title_count = 0;
-    hb_status->titleList = NULL;
-    hb_status->position = 0.0;
-    hb_status->i_remaining = 0;
-    hb_status->fps = 0.0;
-
-    /* Set libhb callbacks */
-    callbacks.data     = NULL;
-    callbacks.scanning = Scanning;
-    callbacks.scanDone = ScanDone;
-    callbacks.encoding = Encoding;
-    callbacks.ripDone  = RipDone;
-    HBSetCallbacks( hb_handle, callbacks );
-
-    gtk_set_locale ();
-    gtk_init (&argc, &argv);
-
-    //add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
-
-    /* Create the main window */
-    hb_win_main = create_win_main();
-    gtk_window_set_title( GTK_WINDOW(hb_win_main), "HandBrake " HB_VERSION );
-
-    widget = lookup_widget( hb_win_main, "combo1" );
-    gtk_combo_disable_activate( GTK_COMBO( widget ) );
-
-    widget = lookup_widget( hb_win_main, "combo2" );
-    gtk_combo_disable_activate( GTK_COMBO( widget ) );
-
-    widget = lookup_widget( hb_win_main, "optionmenu_bitrate" );
-    gtk_option_menu_set_history( GTK_OPTION_MENU(widget), 2 );
-
-    /* build dvd list */
-    items = g_list_append (items, "" );
-    items = g_list_append (items, "/dev/dvd" );
-    gtk_combo_set_popdown_strings( GTK_COMBO(lookup_widget( hb_win_main, "combo1") ), items );
-
-    /* Display the main window */
-    gtk_widget_show( hb_win_main );
-
-    i_dummy = gtk_timeout_add( 100, (GtkFunction)HBMain, NULL );
-    gtk_main();
-    gtk_timeout_remove( i_dummy );
-
-    return 0;
-}
-
-static void StatusBarUpdate( char *msg )
-{
-    GtkWidget *widget = lookup_widget( hb_win_main, "statusbar" );
-
-    gtk_statusbar_push( GTK_STATUSBAR(widget),
-                        gtk_statusbar_get_context_id(GTK_STATUSBAR(widget), "status" ),
-                        msg );
-}
-
-static void DisplayError( char *title, char *msg )
-{
-    GtkWidget *dialog = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL,
-                                                GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
-                                                "<b>%s</b>\n\n%s", title, msg );
-    gtk_label_set_use_markup( GTK_LABEL( GTK_MESSAGE_DIALOG(dialog)->label), TRUE );
-    gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK );
-    gtk_window_set_modal( GTK_WINDOW(dialog), TRUE );
-    gtk_dialog_run( GTK_DIALOG(dialog) );
-    gtk_widget_destroy( dialog );
-}
-
-static void DisplayInfo( char *msg )
-{
-    GtkWidget *dialog = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL,
-                                                GTK_MESSAGE_INFO, GTK_BUTTONS_OK, msg );
-    gtk_label_set_use_markup( GTK_LABEL( GTK_MESSAGE_DIALOG(dialog)->label), TRUE );
-    gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK );
-    gtk_window_set_modal( GTK_WINDOW(dialog), TRUE );
-    gtk_dialog_run( GTK_DIALOG(dialog) );
-    gtk_widget_destroy( dialog );
-}
-
-static int HBMain( void *data )
-{
-    int        b_new = hb_status->b_new;
-    GtkWidget  *widget;
-    gchar      msg[1000];
-
-    hb_status->b_new = 0;
-
-    switch( hb_status->i_state )
-    {
-        case HB_STATE_NEED_DEVICE:
-            if( b_new )
-            {
-                g_print( "HBMain: HB_MODE_NEED_DEVICE\n" );
-                gtk_widget_set_sensitive( lookup_widget( hb_win_main, "frame_dvd"), TRUE );
-                StatusBarUpdate( "Enter a device" );
-            }
-            break;
-
-        case HB_STATE_SCANNING:
-            if( b_new )
-            {
-                g_print( "HBMain: HB_MODE_SCANNING\n" );
-            }
-
-            gtk_widget_set_sensitive( lookup_widget( hb_win_main, "frame_dvd"), FALSE );
-
-            gtk_progress_bar_pulse( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" ) ));
-            if( hb_status->i_title )
-            {
-                sprintf( msg, "Scanning title %d/%d...", hb_status->i_title, hb_status->i_title_count );
-            }
-            else
-            {
-                sprintf( msg, "Opening device..." );
-            }
-            StatusBarUpdate( msg );
-            break;
-
-        case HB_STATE_INVALID_DEVICE:
-            if( b_new )
-            {
-                g_print( "HBMain: HB_MODE_INVALID_DEVICE\n" );
-
-                gtk_widget_set_sensitive( lookup_widget( hb_win_main, "frame_dvd"), TRUE );
-
-                gtk_entry_set_text( GTK_ENTRY(lookup_widget( hb_win_main, "entry_device")), "" );
-
-                gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), 0.0 );
-
-                StatusBarUpdate( "Enter a valid device" );
-
-                /* error dialog */
-                DisplayError( "Invalid device", "Please select a valide device" );
-            }
-            break;
-
-        case HB_STATE_READY_TO_RIP:
-            if( b_new )
-            {
-                GtkWidget *optionmenu_title = lookup_widget( hb_win_main, "optionmenu_title" );
-                GtkWidget *menu;
-                GtkWidget *item;
-                int i;
-
-                g_print( "HBMain: HB_MODE_READY_TO_RIP\n" );
-
-                /* create title menu */
-                menu = gtk_menu_new();
-                for( i = 0; i < HBListCount( hb_status->titleList ); i++ )
-                {
-                    HBTitle *title = (HBTitle*) HBListItemAt( hb_status->titleList, i );
-                    char string[1024];
-
-                    sprintf( string, "%d - %02dh%02dm%02ds",
-                             title->title, title->hours, title->minutes,
-                             title->seconds );
-
-                    item = gtk_menu_item_new_with_mnemonic( string );
-                    gtk_widget_show( item );
-                    gtk_menu_shell_append( GTK_MENU_SHELL(menu), item );
-                }
-
-                gtk_option_menu_set_menu( GTK_OPTION_MENU(optionmenu_title), menu );
-                GLADE_HOOKUP_OBJECT( hb_win_main, menu, "menu_title" );
-
-                /* unhide */
-                widget = lookup_widget( hb_win_main, "vbox_parameters" );
-                gtk_widget_show( widget );
-
-                gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), 0.0 );
-                gtk_progress_bar_set_text( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), "" );
-
-                StatusBarUpdate( "Select your parameters" );
-            }
-            break;
-
-        case HB_STATE_ENCODING:
-            if( b_new )
-            {
-                /* change the name to Stop */
-                widget = lookup_widget( hb_win_main, "button_start_label" );
-                gtk_label_set_text( GTK_LABEL( widget ), "Stop" );
-
-                widget = lookup_widget( hb_win_main, "button_start_image" );
-                gtk_image_set_from_stock( GTK_IMAGE(widget), "gtk-cancel", GTK_ICON_SIZE_BUTTON );
-
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_video"), FALSE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_audio"), FALSE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_output"), FALSE );
-            }
-
-            if( hb_status->position <= 0 )
-            {
-                StatusBarUpdate( "Starting..." );
-            }
-            else
-            {
-                char string[1024];
-
-                /* Status bar */
-                sprintf( string, "Encoding: %02dh%02dm%02ds remaining",
-                         hb_status->i_remaining / 3600,
-                         ( hb_status->i_remaining % 3600 ) / 60,
-                         hb_status->i_remaining % 60 );
-                StatusBarUpdate( string );
-
-                /* Progressbar */
-                sprintf( string, "%.2f %% (%.2f fps)", 100 * hb_status->position, hb_status->fps );
-                gtk_progress_bar_set_text( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), string );
-                gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), hb_status->position );
-            }
-            break;
-
-        case HB_STATE_DONE:
-        case HB_STATE_CANCELED:
-            if( b_new )
-            {
-                g_print( "HBMain: HB_MODE_DONE/HB_MODE_CANCELED\n" );
-
-                /* change the name to Start */
-                widget = lookup_widget( hb_win_main, "button_start_label" );
-                gtk_label_set_text( GTK_LABEL( widget ), "Start" );
-
-                widget = lookup_widget( hb_win_main, "button_start_image" );
-                gtk_image_set_from_stock( GTK_IMAGE(widget), "gtk-apply", GTK_ICON_SIZE_BUTTON );
-
-                gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), 0.0 );
-                gtk_progress_bar_set_text( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), "" );
-
-                if( hb_status->i_state == HB_STATE_DONE )
-                {
-                    StatusBarUpdate( "Done." );
-                    DisplayInfo( "Encoding finished with success." );
-                }
-                else
-                {
-                    StatusBarUpdate( "Canceled." );
-                    DisplayInfo("Encoding canceled.");
-                }
-
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_video"), TRUE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_audio"), TRUE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_output"), TRUE );
-            }
-            break;
-
-        case HB_STATE_ERROR:
-            if( b_new )
-            {
-                char *msg = "Unknown";
-
-                g_print( "HBMain: HB_MODE_ERROR\n" );
-
-                /* change the name to Start */
-                widget = lookup_widget( hb_win_main, "button_start_label" );
-                gtk_label_set_text( GTK_LABEL( widget ), "Start" );
-
-                widget = lookup_widget( hb_win_main, "button_start_image" );
-                gtk_image_set_from_stock( GTK_IMAGE(widget), "gtk-apply", GTK_ICON_SIZE_BUTTON );
-
-                gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), 0.0 );
-                gtk_progress_bar_set_text( GTK_PROGRESS_BAR(lookup_widget( hb_win_main, "progressbar" )), "" );
-
-                StatusBarUpdate( "Error." );
-                switch( hb_status->i_error )
-                {
-#if 0
-                    case HB_ERROR_A52_SYNC:
-                        msg = "corrupted AC3 data.";
-                        break;
-                    case HB_ERROR_AVI_WRITE:
-                        msg = "could not write to file.";
-                        break;
-                    case HB_ERROR_DVD_OPEN:
-                        msg = "could not open device.";
-                        break;
-                    case HB_ERROR_DVD_READ:
-                        msg = "DVD read failed.";
-                        break;
-                    case HB_ERROR_MP3_INIT:
-                        msg = "could not init MP3 encoder.";
-                        break;
-                    case HB_ERROR_MP3_ENCODE:
-                        msg = "MP3 encoder failed.";
-                        break;
-                    case HB_ERROR_MPEG4_INIT:
-                        msg = "could not init MPEG4 encoder.";
-                        break;
-#endif
-                    default:
-                        msg = "Generic error";
-                        break;
-                }
-                DisplayError( "An error occured", msg );
-
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_video"), TRUE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_audio"), TRUE );
-                gtk_widget_set_sensitive( lookup_widget(hb_win_main, "frame_output"), TRUE );
-            }
-            break;
-    }
-
-
-    return TRUE;
-}
-
-
-static void Scanning( void * data, int title, int titleCount )
-{
-    if( hb_status->i_state != HB_STATE_SCANNING )
-    {
-        hb_status->i_state = HB_STATE_SCANNING;
-        hb_status->b_new = 1;
-    }
-    hb_status->i_title = title;
-    hb_status->i_title_count = titleCount;
-}
-
-static void ScanDone( void * data, HBList * titleList )
-{
-    if( titleList == NULL )
-    {
-        hb_status->i_state = HB_STATE_INVALID_DEVICE;
-    }
-    else
-    {
-        hb_status->i_state = HB_STATE_READY_TO_RIP;
-    }
-    hb_status->b_new = 1;
-
-    hb_status->titleList = titleList;
-}
-
-static void Encoding( void * data, float position, int pass,
-                      int passCount, float frameRate,
-                      float avgFrameRate, int remainingTime )
-{
-    if( hb_status->i_state != HB_STATE_ENCODING )
-    {
-        hb_status->i_state = HB_STATE_ENCODING;
-        hb_status->b_new = 1;
-    }
-
-    hb_status->position = position;
-    hb_status->fps = frameRate;
-    hb_status->i_remaining = remainingTime;
-}
-
-static void RipDone( void * data, int result )
-{
-    /* TODO check result */
-    hb_status->i_state = HB_STATE_DONE;
-    hb_status->b_new = 1;
-}
-
diff --git a/gtk2/status.h b/gtk2/status.h
deleted file mode 100644 (file)
index c98e4c9..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *
- */
-
-enum HBState_e
-{
-    HB_STATE_NEED_DEVICE,
-    HB_STATE_SCANNING,
-    HB_STATE_INVALID_DEVICE,
-    HB_STATE_READY_TO_RIP,
-    HB_STATE_ENCODING,
-    HB_STATE_DONE,
-    HB_STATE_CANCELED,
-    HB_STATE_ERROR,
-};
-
-typedef struct
-{
-    int i_state;
-    int i_error;
-    int b_new;
-
-    int i_title;
-    int i_title_count;
-
-    HBList *titleList;
-
-    float   position;
-    int     i_remaining;
-    float   fps;
-
-} HBStatus;
-
diff --git a/gtk2/support.c b/gtk2/support.c
deleted file mode 100644 (file)
index 7dc3c78..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include "support.h"
-
-GtkWidget*
-lookup_widget                          (GtkWidget       *widget,
-                                        const gchar     *widget_name)
-{
-  GtkWidget *parent, *found_widget;
-
-  for (;;)
-    {
-      if (GTK_IS_MENU (widget))
-        parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
-      else
-        parent = widget->parent;
-      if (!parent)
-        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
-      if (parent == NULL)
-        break;
-      widget = parent;
-    }
-
-  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
-                                                 widget_name);
-  if (!found_widget)
-    g_warning ("Widget not found: %s", widget_name);
-  return found_widget;
-}
-
-static GList *pixmaps_directories = NULL;
-
-/* Use this function to set the directory containing installed pixmaps. */
-void
-add_pixmap_directory                   (const gchar     *directory)
-{
-  pixmaps_directories = g_list_prepend (pixmaps_directories,
-                                        g_strdup (directory));
-}
-
-/* This is an internally used function to find pixmap files. */
-static gchar*
-find_pixmap_file                       (const gchar     *filename)
-{
-  GList *elem;
-
-  /* We step through each of the pixmaps directory to find it. */
-  elem = pixmaps_directories;
-  while (elem)
-    {
-      gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
-                                         G_DIR_SEPARATOR_S, filename);
-      if (g_file_test (pathname, G_FILE_TEST_EXISTS))
-        return pathname;
-      g_free (pathname);
-      elem = elem->next;
-    }
-  return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap                          (GtkWidget       *widget,
-                                        const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GtkWidget *pixmap;
-
-  if (!filename || !filename[0])
-      return gtk_image_new ();
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning ("Couldn't find pixmap file: %s", filename);
-      return gtk_image_new ();
-    }
-
-  pixmap = gtk_image_new_from_file (pathname);
-  g_free (pathname);
-  return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf                          (const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GdkPixbuf *pixbuf;
-  GError *error = NULL;
-
-  if (!filename || !filename[0])
-      return NULL;
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning ("Couldn't find pixmap file: %s", filename);
-      return NULL;
-    }
-
-  pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
-  if (!pixbuf)
-    {
-      fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
-               pathname, error->message);
-      g_error_free (error);
-    }
-  g_free (pathname);
-  return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description       (AtkAction       *action,
-                                        const gchar     *action_name,
-                                        const gchar     *description)
-{
-  gint n_actions, i;
-
-  n_actions = atk_action_get_n_actions (action);
-  for (i = 0; i < n_actions; i++)
-    {
-      if (!strcmp (atk_action_get_name (action, i), action_name))
-        atk_action_set_description (action, i, description);
-    }
-}
-
diff --git a/gtk2/support.h b/gtk2/support.h
deleted file mode 100644 (file)
index 2dea079..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Public Functions.
- */
-
-/*
- * This function returns a widget in a component created by Glade.
- * Call it with the toplevel widget in the component (i.e. a window/dialog),
- * or alternatively any widget in the component, and the name of the widget
- * you want returned.
- */
-GtkWidget*  lookup_widget              (GtkWidget       *widget,
-                                        const gchar     *widget_name);
-
-
-/* Use this function to set the directory containing installed pixmaps. */
-void        add_pixmap_directory       (const gchar     *directory);
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps used in the interface. */
-GtkWidget*  create_pixmap              (GtkWidget       *widget,
-                                        const gchar     *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf*  create_pixbuf              (const gchar     *filename);
-
-/* This is used to set ATK action descriptions. */
-void        glade_set_atk_action_description (AtkAction       *action,
-                                              const gchar     *action_name,
-                                              const gchar     *description);
-
diff --git a/wx/hb32x32.xpm b/wx/hb32x32.xpm
deleted file mode 100644 (file)
index baa88bc..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-/* XPM */
-static char *hb_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 257 2",
-"   c #00044C",
-".  c #180F3C",
-"X  c #150C6A",
-"o  c #171465",
-"O  c #4E0A0D",
-"+  c #470D15",
-"@  c #1D1D3E",
-"#  c #670501",
-"$  c #5E080A",
-"%  c #10320A",
-"&  c #003D04",
-"*  c #770105",
-"=  c #0F3412",
-"-  c #511412",
-";  c #431733",
-":  c #29281F",
-">  c #880001",
-",  c #33261E",
-"<  c #442017",
-"1  c #930000",
-"2  c #372C16",
-"3  c #6C1501",
-"4  c #9B0200",
-"5  c #52250F",
-"6  c #631D13",
-"7  c #542225",
-"8  c #432C2A",
-"9  c #005603",
-"0  c #413416",
-"q  c #75124B",
-"w  c #81161A",
-"e  c #A6070B",
-"r  c #2D4034",
-"t  c #3C3837",
-"y  c #144F2E",
-"u  c #443B1C",
-"i  c #961219",
-"p  c #8F161C",
-"a  c #015C2A",
-"s  c #473B23",
-"d  c #393E41",
-"f  c #901B11",
-"g  c #56362E",
-"h  c #195629",
-"j  c #4A3A3C",
-"k  c #4F3E1F",
-"l  c #6D311F",
-"z  c #514118",
-"x  c #3E3B71",
-"c  c #45452D",
-"v  c #403E62",
-"b  c #792F18",
-"n  c #006B27",
-"m  c #3C4652",
-"M  c #5B4215",
-"N  c #424648",
-"B  c #52452C",
-"V  c #634117",
-"C  c #096B33",
-"Z  c #545004",
-"A  c #00732E",
-"S  c #57482A",
-"D  c #146D1C",
-"F  c #524A2F",
-"G  c #007D02",
-"H  c #23623A",
-"J  c #41552E",
-"K  c #644916",
-"L  c #5F4A22",
-"P  c #5D4C28",
-"I  c #B92312",
-"U  c #644C1E",
-"Y  c #007C2F",
-"T  c #59512B",
-"R  c #157139",
-"E  c #5F4C37",
-"W  c #2D654D",
-"Q  c #58523E",
-"!  c #2E6744",
-"~  c #724D16",
-"^  c #515350",
-"/  c #6E501C",
-"(  c #675229",
-")  c #684865",
-"_  c #0F832E",
-"`  c #42634F",
-"'  c #485B71",
-"]  c #009500",
-"[  c #685A22",
-"{  c #755523",
-"}  c #535B62",
-"|  c #76561E",
-" . c #16823A",
-".. c #357337",
-"X. c #CE2F03",
-"o. c #725824",
-"O. c #3C6B54",
-"+. c #575C5E",
-"@. c #71592A",
-"#. c #15882C",
-"$. c #7F571A",
-"%. c #2B7B49",
-"&. c #68595B",
-"*. c #5E5E5C",
-"=. c #7C5B1B",
-"-. c #80514C",
-";. c #00A100",
-":. c #66623F",
-">. c #357853",
-",. c #7B620E",
-"<. c #0E942C",
-"1. c #6A5F4F",
-"2. c #636449",
-"3. c #7F5D25",
-"4. c #845159",
-"5. c #8F5337",
-"6. c #7C6026",
-"7. c #64635C",
-"8. c #984D48",
-"9. c #357E52",
-"0. c #7D612D",
-"q. c #4E7061",
-"w. c #89601C",
-"e. c #717103",
-"r. c #626667",
-"t. c #7C6334",
-"y. c #7C633A",
-"u. c #786442",
-"i. c #746354",
-"p. c #6C6469",
-"a. c #856525",
-"s. c #89661F",
-"d. c #636B72",
-"f. c #836933",
-"g. c #72732F",
-"h. c #86692F",
-"j. c #716B5E",
-"k. c #766863",
-"l. c #806754",
-"z. c #5F6F84",
-"x. c #877302",
-"c. c #527C63",
-"v. c #6A6E6E",
-"b. c #5C795F",
-"n. c #637085",
-"m. c #BC4675",
-"M. c #946A26",
-"N. c #597B6C",
-"B. c #79714B",
-"V. c #956B1F",
-"C. c #8B6E2C",
-"Z. c #916C2A",
-"A. c #D64A27",
-"S. c #925F75",
-"D. c #1BAB2D",
-"F. c #C14A74",
-"G. c #84743B",
-"H. c #717678",
-"J. c #907239",
-"K. c #8C6B6C",
-"L. c #867452",
-"P. c #757773",
-"I. c #6E7882",
-"U. c #87745A",
-"Y. c #8C7644",
-"T. c #89830E",
-"R. c #867A48",
-"E. c #808329",
-"W. c #7F7A5E",
-"Q. c #6C7B8D",
-"!. c #A17522",
-"~. c #9A7730",
-"^. c #9F762A",
-"/. c #817A75",
-"(. c #6A7F99",
-"). c #88891E",
-"_. c #E45A2B",
-"`. c #20BF2A",
-"'. c #798189",
-"]. c #BD6D43",
-"[. c #A07F35",
-"{. c #81827E",
-"}. c #AA7D2A",
-"|. c #8A8074",
-" X c #AE7E25",
-".X c #987D8D",
-"XX c #AE8430",
-"oX c #AB8838",
-"OX c #868B8D",
-"+X c #998677",
-"@X c #948A7E",
-"#X c #9D8D58",
-"$X c #7D90AE",
-"%X c #A79430",
-"&X c #AC8E4A",
-"*X c #B19517",
-"=X c #BC8C2F",
-"-X c #819A86",
-";X c #7F92B7",
-":X c #7995B8",
-">X c #F76D38",
-",X c #A08E78",
-"<X c #998F8C",
-"1X c #A09B42",
-"2X c #929491",
-"3X c #9C966D",
-"4X c #919499",
-"5X c #9E9476",
-"6X c #809F91",
-"7X c #D48829",
-"8X c #FE628E",
-"9X c #FA7832",
-"0X c #8A99B8",
-"qX c #859DBA",
-"wX c #999B98",
-"eX c #74B486",
-"rX c #91A29B",
-"tX c #A8A263",
-"yX c #999FA5",
-"uX c #CC9B31",
-"iX c #CCA504",
-"pX c #D8887F",
-"aX c #FA8728",
-"sX c #E18971",
-"dX c #C99E42",
-"fX c #C4A23B",
-"gX c #CD9F3C",
-"hX c #A7A9A6",
-"jX c #9EA9C3",
-"kX c #99ACC3",
-"lX c #FB9C1A",
-"zX c #DCA645",
-"xX c #CFA39A",
-"cX c #FAAA05",
-"vX c #BAB971",
-"bX c #F29C75",
-"nX c #DAAD5E",
-"mX c #A9B7CB",
-"MX c #B1B9C1",
-"NX c #FFB904",
-"BX c #FBA873",
-"VX c #E7BE37",
-"CX c #B3C4BD",
-"ZX c #B8C4D4",
-"AX c #D1BFB4",
-"SX c #F1B49D",
-"DX c #FBBF48",
-"FX c #FECC00",
-"GX c #C5CACD",
-"HX c #FCBE8D",
-"JX c #CDCFCB",
-"KX c #C8D2DD",
-"LX c #C0DACB",
-"PX c #FBD5C2",
-"IX c #F7F698",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXYXYXS.F.S.YXYXYXYXYXYXYXYXYX{.YXYXYXYXYXYXYXYXYXYXYXYX4XYXYXYX",
-"YXYXYXm.8Xm.YXYXYXYXYXYXYXYXW.1XYXYXYXYXYXYXYXMXYXYXYX} YXYXYXYX",
-"YXYXYX.Xq ) YXYXYXYXYXYXYXH.g.3XYXYXYXYXYXYXYXYXd.YXYXr YXYXYXYX",
-"YXYXYX{.x v j.,X/.YXYX` G 9 & = b.YXYXYXYXYXYXYXq.6XrXO.YXO.yXYX",
-"YXYX/.+X/.AX+Xj.E YXYX'.G ;.;.G ] ..YXYXYXYXH >.6XC ! 9.C q.YXYX",
-"YXYX1.U.Q U.l.i.|.YXYXYX-X% n D b.YXYXYXYXYXYXR A R n n O.LXYXYX",
-"YXYX/.+Xl.5.b &.YXYXYXYXYXT.YXwX/.YXYXYXYXYXYX6X_ <.A Y #.h +.MX",
-"YXYXYXYX-.X.X.8 H.v.H.H.2.E.2.T *X%XYXYXYXYXN.O.C D._ `.A y N.CX",
-"YXYXYXYXYX8 . <XGXyXwXwXT.c vXQ 2.FX#XYXYX6X%.D.A <.D. .a ` YXYX",
-"YXYXYXYX+.k.  +.<Xv.p.*.Z t N +.x.iX5XYXYXYXv.q.#.<.<.#._ a c.LX",
-"YXYXYXd.P.<Xo @ &.j 8 , e.j t s 5 7 YXYXr.u.uXgXQ J D _  .eXYXYX",
-"YXYXYX7 xXp ; X 1 e p ,.V w g IX- $ p.U.gX[.V.^.gXXX&XY.:.6XYXYX",
-"YXYXK.8.xX# - X p i w e.+ $ B IXtX6 < { ~.( ~.0.^.=XF }.h.&XYXYX",
-"YXYX4.sXpX1 > > * * * > > 1 > l tXIXB.P [.J.=.gXP [.XX0.J.J.{.YX",
-"YXYXk.bXpXI 1 4 4 1 1 e I e 1 > f B.R.f.M t.6.oX[.}.=XB XX=XN YX",
-"YXYXYX].PX>X>X1 A.I A.>X_._.e 3 x.0 o.t.Z.C.Y.$.zX( f.dXt.y.U.YX",
-"YXYXYX+XzXBXaXA.>X>X>X>XaX9XA.SX7Xk @.( J.V.f.XXf.J.dX| 6.o.o.YX",
-"YXYXYXYXW.nXDXlXaX9XlXlXcXcXHXnXK s Z.Z.0.3.Z.P  X XP ^.[.Y.h.YX",
-"YXYXYXYXYXYX5XfXFXNXFXFXFXVXG.k L =X( @.s.a. XZ.^.XX=.o.V.~.s YX",
-"YXYXYXYXYXYXYXYX7.[ R.R.T d.P.=.$.f.( !.!.=.w.Z.( a.uXs.s.6.L.YX",
-"YXYXYXYXYXYXYXYXYXI.wXOXI.YX1.| s s.XX{ =.0.@.h.=X3.=.K =.6.U.YX",
-"YXYXYXYXYXYXYXYXYXYXH.P.YXYXd.S { Z.oXB h. X!.( w.k | /  Xs.YXYX",
-"YXYXYXYXYXYXYXYXYXYXv.H.YXYX*.o.$.k 0.=Xf.Z.XXs | U uX0.w.S YXYX",
-"YXYXYXYXYXYXYXYXYXYXH.H.YXYXP./ K =Xf.~ ~.T 0.f. X6.| U s.L.YXYX",
-"YXYXYXYXYXYXYXYXYXYXH.{.YXYXYXS / ~ @.| t.C.!.0.w.L 0.( G.YXYXYX",
-"YXYXYXYXZXmXkXkXmXYXv.4X+.YXYXL.K M.o.t.3.3.a.s h.C.}.XX'.YXYXYX",
-"YXYXkX:X;X;X;X;Xn.m hX4Xr.r.YX{.3.: $.@.t.L C.f.~ @.0.2 kXYXYXYX",
-"mXqX;XqX:X$Xz.+.H.4XGX<X{.4XwXd d ^.k @.L ~ L z S ~.: (.jXYXYXYX",
-"0X$X;X$X:X;X} H.<X{.H.p.v.H.4X<X' P | $.k U { o.K Q ;X0XZXYXYXYX",
-"mX;X$X;X;X;X$Xn.Q.'.I.I.I.n.Q.:X$X;X*.Q P 2 B } z.;XqXZXYXYXYXYX",
-"YXZX0X;X$X;X;X;X;X;X:X;X;X;X;X;X$X$X0XkXjXmXmXmXZXKXYXYXYXYXYXYX",
-"YXYXYXGXmXjXjX0X$XqX;X$XjXjXmXMXmXKXYXYXYXYXYXYXYXYXYXYXYXYXYXYX"
-};
diff --git a/wx/hbWizard.cpp b/wx/hbWizard.cpp
deleted file mode 100644 (file)
index c947306..0000000
+++ /dev/null
@@ -1,1259 +0,0 @@
-/*****************************************************************************
- * wxHB:
- *****************************************************************************
- * Copyright (C)
- * $Id: hbWizard.cpp,v 1.4 2005/03/17 19:22:47 titer Exp $
- *
- * Authors:
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-#include "wxHB.h"
-#include "hbWizard.h"
-
-#include "hb32x32.xpm"
-
-/* All IDs
- * CB: ComboBox
- * BT: Button
- * RD: Radio
- * NB: NoteBook
- */
-enum
-{
-    /* Source page */
-    ID_SOURCE_RD_DRIVE = wxID_HIGHEST,
-    ID_SOURCE_RD_DIR,
-    ID_SOURCE_BT_DIR,
-    ID_SOURCE_CB_DRIVE,
-    ID_SOURCE_CB_DIR,
-
-    ID_SOURCE_BT_ABOUT,
-    ID_SOURCE_BT_PREFERENCES,
-
-    /* Settings page */
-    ID_SETTINGS_CB_TITLE = wxID_HIGHEST,
-    ID_SETTINGS_CB_CHAPTER_START,
-    ID_SETTINGS_CB_CHAPTER_END,
-    ID_SETTINGS_CB_AUDIO_LANGUAGE,
-    ID_SETTINGS_CB_AUDIO_QUALITY,
-    ID_SETTINGS_CB_SUBTITLE_LANGUAGE,
-    ID_SETTINGS_CB_VIDEO_QUALITY,
-    ID_SETTINGS_CB_OUTPUT_FILE,
-    ID_SETTINGS_CB_OUTPUT_SIZE,
-    ID_SETTINGS_CB_OUTPUT_BITRATE,
-    ID_SETTINGS_SC_OUTPUT_FILE_COUNT,
-
-    ID_SETTINGS_RD_OUTPUT_SIZE,
-    ID_SETTINGS_RD_OUTPUT_BITRATE,
-
-    ID_SETTINGS_CB_VIDEO_CODEC,
-    ID_SETTINGS_CB_VIDEO_FPS,
-    ID_SETTINGS_CH_VIDEO_DEINTERLACE,
-    ID_SETTINGS_CH_VIDEO_CROP,
-    ID_SETTINGS_SC_VIDEO_CROP_LEFT,
-    ID_SETTINGS_SC_VIDEO_CROP_TOP,
-    ID_SETTINGS_SC_VIDEO_CROP_RIGHT,
-    ID_SETTINGS_SC_VIDEO_CROP_BOTTOM,
-    ID_SETTINGS_SC_VIDEO_WIDTH,
-    ID_SETTINGS_SC_VIDEO_HEIGHT,
-
-    ID_SETTINGS_CB_AUDIO_SAMPLERATE,
-
-    ID_SETTINGS_CB_CPU,
-    ID_SETTINGS_CB_PRIORITY,
-
-    ID_SETTINGS_BT_FILE,
-
-    ID_SETTINGS_NB,
-
-    /* */
-    //ID_ALL_FIXME,
-};
-
-class hbImage: public wxControl
-{
-public:
-    hbImage( wxWindow *parent ) :
-        wxControl( parent, -1, wxDefaultPosition, wxSize(128,128),
-                   wxBORDER_NONE  )
-    {
-    }
-
-    void OnPaint(wxPaintEvent &event)
-    {
-        wxPaintDC dc(this);
-        dc.SetBrush( wxBrush(*wxGREEN, wxSOLID) );
-        dc.DrawText( wxU("Solid green"), 10, 10 );
-    }
-
-private:
-    DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE( hbImage, wxControl )
-    EVT_PAINT( hbImage::OnPaint )
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * hbWizard
- *****************************************************************************/
-static void hbWizardPageHeaders( wxWizardPageSimple *page,
-                                 char *psz_title,
-                                 char *psz_description,
-                                 wxSizer *sizerC )
-{
-    wxBoxSizer *sizerH = new wxBoxSizer(wxHORIZONTAL);
-
-    wxStaticBitmap *bm = new wxStaticBitmap( page, wxID_ANY,
-                                             wxBitmap(hb_xpm) );
-    wxBoxSizer *sizerV = new wxBoxSizer(wxVERTICAL);
-
-
-    wxStaticText *title = new wxStaticText( page, -1, wxU(psz_title) );
-    wxFont font = title->GetFont();
-    font.SetPointSize(14);
-    title->SetFont( font );
-
-    sizerV->Add( title, 0, wxALIGN_CENTER|wxALL, 5 );
-
-    sizerV->Add( new wxStaticLine(page, -1), 0, wxEXPAND|wxALL, 5 );
-
-    wxStaticText *text =  new wxStaticText( page, -1,
-                                            wxU( psz_description ) );
-    sizerV->Add( text, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
-
-    //sizerV->Add( 0, 1, 1, wxALL );
-
-    sizerV->Add( sizerC, 1, wxEXPAND|wxALIGN_CENTER|wxALL, 5 );
-
-
-    /* Add bmp */
-    sizerH->Add( bm, 0, wxALL|wxALIGN_CENTER, 5 );
-    /* Add sizer */
-    sizerH->Add( sizerV, 1, wxEXPAND|wxALIGN_CENTER|wxALL, 5 );
-
-    /* */
-    page->SetSizerAndFit( sizerH );
-
-    /* Needed ? */
-    page->SetAutoLayout( TRUE );
-    page->Layout();
-}
-
-/*****************************************************************************
- * hbWizardPageSource:
- *****************************************************************************/
-class hbWizardPageSource: public wxWizardPageSimple
-{
-public:
-    hbWizardPageSource( wxWizard *p_wizard );
-    virtual ~hbWizardPageSource();
-
-
-    void OnRadio( wxCommandEvent &event );
-    void OnBrowseDir( wxCommandEvent &event );
-    void OnTextDirChange( wxCommandEvent &event );
-    void OnTextDriveChange( wxCommandEvent &event );
-    void OnPageChanging( wxWizardEvent &event );
-    
-private:
-
-    wxDirDialog *dlgDir;
-    wxComboBox *comboDir;
-    wxComboBox *comboDrive;
-    wxButton   *buttonDir;
-
-    DECLARE_EVENT_TABLE()
-};
-
-
-hbWizardPageSource::hbWizardPageSource( wxWizard *p_wizard ) :
-                                                 wxWizardPageSimple(p_wizard)
-{
-    wxRadioButton *radio[2];
-    wxFlexGridSizer *sizerDrive;
-    wxFlexGridSizer *sizerDir;
-    wxBoxSizer *sizerH;
-    wxButton *button;
-    
-    /* Create radio and subpanel */
-    radio[0] = new wxRadioButton( this, ID_SOURCE_RD_DRIVE,
-                                  wxU("DVD drive" ) );
-    radio[1] = new wxRadioButton( this, ID_SOURCE_RD_DIR,
-                                  wxU("DVD directory" ) );
-
-    /* - Create DRIVE row */
-    sizerDrive = new wxFlexGridSizer( 1, 1, 20 );
-    /* combo */
-    wxArrayString &sD = *g_hbApp->GetSystemDrive();
-    comboDrive = new wxComboBox( this, ID_SOURCE_CB_DRIVE, sD[0],
-                                 wxDefaultPosition, wxDefaultSize,
-                                 sD );
-    sizerDrive->Add( comboDrive, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    /* - Create DIR row */
-    sizerDir = new wxFlexGridSizer( 2, 1, 20 );
-    /* combo */
-    comboDir = new wxComboBox( this, ID_SOURCE_CB_DIR,  wxU("") );
-    sizerDir->Add( comboDir, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    /* button */
-    buttonDir = new wxButton( this, ID_SOURCE_BT_DIR, wxU("Browse..."));
-    sizerDir->Add( buttonDir,
-                   0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-    /* - Hop in the main */
-    wxFlexGridSizer *sizerChoice = new wxFlexGridSizer( 2, 2, 20 );
-    sizerChoice->Add( radio[0],
-                      0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-    sizerChoice->Add( sizerDrive, 1, wxEXPAND|wxALIGN_LEFT|
-                                     wxALIGN_CENTER_VERTICAL|wxALL, 5  );
-    sizerChoice->Add( radio[1],
-                      0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-    sizerChoice->Add( sizerDir, 1, wxEXPAND|wxALIGN_LEFT|
-                                   wxALIGN_CENTER_VERTICAL|wxALL, 5  );
-
-    wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-    sizer->Add( sizerChoice, 1,
-                wxEXPAND|wxALIGN_CENTER|wxALL, 5 );
-
-    sizer->Add( 0, 0 );
-
-    sizerH = new wxBoxSizer( wxHORIZONTAL );
-    sizerH->Add( 0, 0, 1 );
-    button = new wxButton( this, ID_SOURCE_BT_ABOUT, wxU("About") );
-    button->Enable(FALSE);
-    sizerH->Add( button, 0, wxALL|wxALIGN_RIGHT, 5 );
-    button = new wxButton( this, ID_SOURCE_BT_PREFERENCES, wxU("Preferences"));
-    button->Enable(FALSE);
-    sizerH->Add( button, 0, wxALL|wxALIGN_RIGHT, 5 );
-
-    sizer->Add( sizerH, 0, wxALIGN_BOTTOM|wxEXPAND, 5 );
-
-    /* */
-#if 0
-    hbImage *img = new hbImage( this );
-    sizer->Add( img );
-#endif
-    
-
-    hbWizardPageHeaders( this, "Source",
-                         "Select the DVD (drive or a directory)", sizer );
-
-    comboDir->Enable( FALSE );
-    buttonDir->Enable( FALSE );
-
-    //SetAutoLayout( TRUE );
-    //Layout();
-
-    /* */
-    dlgDir = NULL;
-}
-
-hbWizardPageSource::~hbWizardPageSource()
-{
-}
-
-void hbWizardPageSource::OnRadio( wxCommandEvent &event )
-{
-    if( event.GetId() == ID_SOURCE_RD_DRIVE )
-    {
-        comboDrive->Enable( TRUE );
-
-        comboDir->Enable( FALSE );
-        buttonDir->Enable( FALSE );
-    }
-    else
-    {
-        comboDir->Enable( TRUE );
-        buttonDir->Enable( TRUE );
-
-        comboDrive->Enable( FALSE );
-    }
-}
-
-void hbWizardPageSource::OnBrowseDir( wxCommandEvent &event )
-{
-    if( dlgDir == NULL )
-        dlgDir = new wxDirDialog( this, wxU( "Choose a directory"),
-                                      wxGetCwd() );
-
-    if( dlgDir->ShowModal() == wxID_OK )
-    {
-        const wxChar *p = dlgDir->GetPath();
-
-        comboDir->SetValue( p );
-    }
-}
-
-void hbWizardPageSource::OnTextDirChange( wxCommandEvent &event )
-{
-}
-void hbWizardPageSource::OnTextDriveChange( wxCommandEvent &event )
-{
-}
-
-void hbWizardPageSource::OnPageChanging( wxWizardEvent &event )
-{
-    wxRadioButton *rdDrive = (wxRadioButton*)FindWindow( ID_SOURCE_RD_DRIVE );
-    wxString sDevice;
-
-    if( rdDrive->GetValue() )
-    {
-        wxComboBox *cbDrive = (wxComboBox*)FindWindow( ID_SOURCE_CB_DRIVE );
-        /* Get the drive value */
-        sDevice = cbDrive->GetValue();
-    }
-    else
-    {
-        wxComboBox *cbDir = (wxComboBox*)FindWindow( ID_SOURCE_CB_DIR );
-        sDevice = cbDir->GetValue();
-
-        if( sDevice.IsEmpty() )
-        {
-            hbError( this, wxU("You have to give a directory name") );
-            event.Veto();
-            return;
-        }
-    }
-
-    if( g_hbApp->Scan( sDevice ) < 0 )
-    {
-        event.Veto();
-    }
-}
-
-
-
-BEGIN_EVENT_TABLE( hbWizardPageSource, wxWizardPageSimple )
-    EVT_RADIOBUTTON( ID_SOURCE_RD_DRIVE, hbWizardPageSource::OnRadio )
-    EVT_RADIOBUTTON( ID_SOURCE_RD_DIR, hbWizardPageSource::OnRadio )
-
-    EVT_BUTTON( ID_SOURCE_BT_DIR, hbWizardPageSource::OnBrowseDir )
-
-    EVT_TEXT( ID_SOURCE_CB_DIR, hbWizardPageSource::OnTextDirChange )
-    EVT_TEXT( ID_SOURCE_CB_DRIVE, hbWizardPageSource::OnTextDriveChange )
-
-    EVT_WIZARD_PAGE_CHANGING( -1, hbWizardPageSource::OnPageChanging )
-END_EVENT_TABLE()
-
-
-/*****************************************************************************
- * hbWizardPageSettings:
- *****************************************************************************/
-static wxPanel *PanelSettingsGeneral( wxWindow *p_parent )
-{
-    wxPanel *panel = new wxPanel( p_parent, -1,
-                                  wxDefaultPosition, wxSize(200, 200));
-    wxBoxSizer *sizerV = new wxBoxSizer( wxVERTICAL );
-    wxGridSizer *sizerG;
-    wxBoxSizer *sizerS;
-    wxStaticBox *ibox;
-    wxStaticBoxSizer *sbox;
-    wxFlexGridSizer *sizerF;
-    wxComboBox  *combo;
-    wxButton *button;
-    wxRadioButton *radio;
-    wxSpinCtrl *spin;
-
-    wxArrayString aQ;
-
-    /* Selection (title/chapter) */
-    ibox = new wxStaticBox( panel, -1, wxU("Selection") );
-    sbox  = new wxStaticBoxSizer( ibox, wxHORIZONTAL);
-
-    sbox->Add( new wxStaticText( panel, -1, wxU("Title") ),
-                 0, wxALL, 5 );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_TITLE, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, 0, NULL,
-                            wxCB_READONLY );
-
-    sbox->Add( combo, 1, wxEXPAND|wxALL, 5 );
-    //sbox->Add( 0, 0, 1 );
-
-    sbox->Add( new wxStaticText( panel, -1, wxU( "Chapters" ) ),
-                 0, wxALL, 5 );
-
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_CHAPTER_START, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, 0, NULL,
-                            wxCB_READONLY );
-    sbox->Add( combo, 0, wxEXPAND|wxALL, 5 );
-
-    sbox->Add( new wxStaticText( panel, -1, wxU( "to" ) ),
-                 0, wxALL, 5 );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_CHAPTER_END, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, 0, NULL,
-                            wxCB_READONLY );
-
-    sbox->Add( combo, 0, wxEXPAND|wxALL, 5 );
-
-    sizerV->Add( sbox, 1, wxEXPAND|wxALL, 5 );
-
-    /* Sizer for audio + video box */
-    sizerG = new wxGridSizer( 1, 2, 10, 10 );
-
-    /* Audio */
-    ibox = new wxStaticBox( panel, -1, wxU("Audio") );
-    sbox  = new wxStaticBoxSizer( ibox, wxHORIZONTAL);
-
-    sizerF = new wxFlexGridSizer( 2, 2, 20 );
-    sizerF->Add( new wxStaticText( panel, -1, wxU( "Language" ) ),
-                 0, wxALL|wxALIGN_LEFT, 5 );
-    //sbox->Add( 0, 0, 1 );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_AUDIO_LANGUAGE, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, 0, NULL,
-                            wxCB_READONLY );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT, 5 );
-    
-    sizerF->Add( new wxStaticText( panel, -1, wxU( "Quality" ) ),
-                 0, wxALL|wxALIGN_LEFT, 5 );
-    //sbox->Add( 0, 0, 1 );
-
-    aQ.Clear();
-    aQ.Add( wxU("Low - 64 kb/s") );
-    aQ.Add( wxU("Normal - 128 kb/s") );
-    aQ.Add( wxU("High - 160 kb/s") );
-    aQ.Add( wxU("Extra - 192 kb/s") );
-
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_AUDIO_QUALITY, aQ[2],
-                            wxDefaultPosition, wxDefaultSize,
-                            aQ, wxCB_READONLY );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT, 5 );
-
-    sbox->Add( sizerF, 1, wxEXPAND|wxALL, 0 );
-    //sizerV->Add( sbox, 0, wxALL, 5 );
-    sizerG->Add( sbox, 1, wxEXPAND|wxALL, 0 );
-
-    /* Video */
-    ibox = new wxStaticBox( panel, -1, wxU("Video") );
-    sbox  = new wxStaticBoxSizer( ibox, wxHORIZONTAL);
-
-    sizerF = new wxFlexGridSizer( 2, 2, 20 );
-
-    sizerF->Add( new wxStaticText( panel, -1, wxU( "Quality" ) ),
-                 0, wxALL|wxALIGN_LEFT, 5 );
-
-    aQ.Clear();
-    aQ.Add( wxU("Low (fast)") );
-    aQ.Add( wxU("Normal") );
-    aQ.Add( wxU("High (slow)") );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_VIDEO_QUALITY, aQ[2],
-                            wxDefaultPosition, wxDefaultSize,
-                            aQ, wxCB_READONLY );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT, 5 );
-
-    sizerF->Add( new wxStaticText( panel, -1, wxU( "Subtitle" ) ),
-                 0, wxALL|wxALIGN_LEFT, 5 );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_SUBTITLE_LANGUAGE, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, 0, NULL,
-                            wxCB_READONLY );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT, 5 );
-
-    sbox->Add( sizerF, 0, wxALL, 5 );
-
-    sizerG->Add( sbox, 1, wxEXPAND|wxALL, 0 );
-
-    sizerV->Add( sizerG, 1, wxEXPAND|wxALL, 5 );
-
-    /* Output */
-    ibox = new wxStaticBox( panel, -1, wxU("Output") );
-    sbox  = new wxStaticBoxSizer( ibox, wxVERTICAL);
-
-    sizerF = new wxFlexGridSizer( 3, 1, 20 );
-    sizerF->Add( new wxStaticText( panel, -1, wxU("File") ),
-                     0, wxALL|wxALIGN_LEFT, 5 );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_OUTPUT_FILE, wxU("") );
-
-    sizerF->Add( combo, 1, wxEXPAND|wxALIGN_RIGHT|
-                           wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-    button = new wxButton( panel, ID_SETTINGS_BT_FILE, wxU("Browse..."));
-    sizerF->Add( button, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-    sbox->Add( sizerF, 0, wxEXPAND|wxALL, 5 );
-
-
-    sizerS = new wxBoxSizer( wxHORIZONTAL );
-
-    sizerF = new wxFlexGridSizer( 2, 2, 20 );
-
-    aQ.Clear();
-    aQ.Add( wxU("800") ); aQ.Add( wxU("700") );
-    aQ.Add( wxU("650") ); aQ.Add( wxU("350") );
-    aQ.Add( wxU("250") ); aQ.Add( wxU("200") );
-    aQ.Add( wxU("150") );
-    radio = new wxRadioButton( panel, ID_SETTINGS_RD_OUTPUT_SIZE, wxU("Size") );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_OUTPUT_SIZE, wxU(""),
-                            wxDefaultPosition, wxDefaultSize, aQ );
-    sizerF->Add( radio, 0, wxALL|wxALIGN_LEFT );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT );
-    radio->SetValue( FALSE );
-    combo->Enable( FALSE );
-
-    aQ.Clear();
-    aQ.Add( wxU("2500") ); aQ.Add( wxU("2000") );
-    aQ.Add( wxU("1500") ); aQ.Add( wxU("1000") );
-    aQ.Add( wxU("800") ); aQ.Add( wxU("500") );
-    aQ.Add( wxU("300") );
-    radio = new wxRadioButton( panel, ID_SETTINGS_RD_OUTPUT_BITRATE,
-                               wxU("Bitrate" ) );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_OUTPUT_BITRATE, aQ[3],
-                            wxDefaultPosition, wxDefaultSize, aQ );
-    sizerF->Add( radio, 0, wxALL|wxALIGN_LEFT );
-    sizerF->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT );
-    radio->SetValue( TRUE );
-    combo->Enable( TRUE );
-
-    sizerS->Add( sizerF, 0, wxALL|wxALIGN_CENTER_VERTICAL );
-
-
-    wxBoxSizer *sizerSS = new wxBoxSizer( wxHORIZONTAL );
-    sizerSS->Add( new wxStaticText( panel, -1, wxU( "x" ) ), 0, wxALL, 5 );
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_OUTPUT_FILE_COUNT, wxU("1"),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 1, 5, 1 );
-    spin->Enable( FALSE );
-    sizerSS->Add( spin, 0, wxALL, 5 );
-
-    sizerS->Add( sizerSS, 0, wxALL|wxALIGN_CENTER_VERTICAL );
-
-    sbox->Add( sizerS, 1, wxEXPAND|wxALL, 5 );
-
-    sizerV->Add( sbox, 1, wxEXPAND|wxALL, 5 );
-
-    panel->SetSizerAndFit( sizerV );
-
-    return panel;
-}
-
-static wxPanel *PanelSettingsVideo( wxWindow *p_parent )
-{
-    wxPanel *panel = new wxPanel( p_parent, -1,
-                                  wxDefaultPosition, wxSize(200, 200));
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 5, 20 );
-    wxBoxSizer *sizer2;
-    wxBoxSizer *sizer3;
-    wxArrayString aS;
-    wxComboBox *combo;
-    wxCheckBox *check;
-    wxSpinCtrl *spin;
-    int i;
-
-    
-    /* Codec */
-    sizer->Add( new wxStaticText( panel, -1, wxU("Codec") ),
-                1, wxEXPAND|wxALL|wxALIGN_LEFT, 5 );
-    aS.Clear();
-    aS.Add( wxU("FFmpeg") );
-    aS.Add( wxU("XviD") );
-    aS.Add( wxU("x264") );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_VIDEO_CODEC, aS[0],
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 0, wxALL|wxALIGN_RIGHT, 5 );
-
-    /* FPS */
-    sizer->Add( new wxStaticText( panel, -1, wxU("Fps") ),
-                1, wxEXPAND|wxALL|wxALIGN_LEFT, 5 );
-    aS.Clear();
-    for( i = 0; i < hb_video_rates_count; i++ )
-        aS.Add( wxU(hb_video_rates[i].string) );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_VIDEO_FPS, wxU(""),
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 0, wxALL|wxALIGN_RIGHT, 5 );
-
-    
-    /* Deinterlace */
-    check = new wxCheckBox( panel, ID_SETTINGS_CH_VIDEO_DEINTERLACE,
-                            wxU("Deinterlace") );
-    check->SetValue( FALSE );
-
-    sizer->Add( check, 1, wxEXPAND|wxALL|wxALIGN_LEFT, 5 );
-    sizer->Add( 0, 0, 0 );
-
-    /* Crop */
-    check = new wxCheckBox( panel, ID_SETTINGS_CH_VIDEO_CROP, wxU("Crop") );
-    check->SetValue( FALSE );
-    sizer->Add( check, 0, wxTOP|wxBOTTOM|
-                          wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-#if 0
-    sizer2 = new wxBoxSizer( wxVERTICAL );
-    radio = new wxRadioButton( panel, ID_SETTINGS_RD_VIDEO_AUTOCROP,
-                                  wxU("Autocrop" ) );
-    radio->SetValue( TRUE );
-    sizer2->Add( radio, 0, wxTOP|wxBOTTOM|
-                           wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-    radio = new wxRadioButton( panel, ID_SETTINGS_RD_VIDEO_CUSTOMCROP,
-                                  wxU("Custom crop" ) );
-    radio->SetValue( FALSE );
-    sizer2->Add( radio, 0, wxTOP|wxBOTTOM|
-                           wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-    sizer->Add( sizer2, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5 );
-#endif
-
-    sizer2 = new wxBoxSizer( wxVERTICAL);
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_CROP_TOP, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer2->Add( spin, 0, wxALL|wxALIGN_CENTER, 2 );
-    sizer3 = new wxBoxSizer( wxHORIZONTAL);
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_CROP_LEFT, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer3->Add( spin, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 2 );
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_CROP_RIGHT, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer3->Add( spin, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 2 );
-    sizer2->Add( sizer3, 0, wxALL|wxALIGN_CENTER );
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_CROP_BOTTOM, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer2->Add( spin, 0, wxALL|wxALIGN_CENTER, 2 );
-    sizer->Add( sizer2, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
-    /* Size */
-    sizer->Add( new wxStaticText( panel, -1, wxU("Size") ),
-                0, wxALL|wxALIGN_LEFT, 5 );
-    sizer2 = new wxBoxSizer( wxHORIZONTAL );
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_WIDTH, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer2->Add( spin, 0, wxALL, 5 );
-    sizer2->Add( new wxStaticText( panel, -1, wxU("x") ), 0, wxALL, 5 );
-    spin = new wxSpinCtrl( panel, ID_SETTINGS_SC_VIDEO_HEIGHT, wxU(""),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS, 0, 2048, 2 );
-    spin->Enable( FALSE );
-    sizer2->Add( spin, 0, wxALL, 5 );
-
-    sizer->Add( sizer2, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
-#if 0
-    sizer->Add( new wxStaticText( panel, -1, wxU("Autocrop: []\n"
-                                                 "Crop: [] [] [] []\n"
-                                                 "2 pass: []\n"
-                                                 "Width: []\n"
-                                                 "Height: []\n"
-                                                 "Preview [..]" ) ),
-                0, wxALL, 5 );
-#endif
-    panel->SetSizerAndFit( sizer );
-    panel->SetAutoLayout( TRUE );
-    panel->Layout();
-
-    return panel;
-}
-
-static wxPanel *PanelSettingsAudio( wxWindow *p_parent )
-{
-    wxPanel *panel = new wxPanel( p_parent, -1,
-                                  wxDefaultPosition, wxSize(200, 200));
-    wxFlexGridSizer * sizer = new wxFlexGridSizer( 2, 1, 20 );
-    wxArrayString aS;
-    wxComboBox *combo;
-    unsigned int i;
-
-#if 0
-    /* TODO in the right way (there is a few problem with file type) */
-    /* Codec */
-    sizer->Add( new wxStaticText( panel, -1, wxU("Codec") ),
-                0, wxALL|wxALIGN_LEFT, 5 );
-    aS.Clear();
-    aS.Add( "Faac" );
-    aS.Add( "Lame" );
-    aS.Add( "Vorbis" );
-    aS.Add( "Ac3" );
-    aS.Add( "Mpga" );
-    aS.Add( "LPCM" );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_VIDEO_CODEC, aS[0],
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 1, wxEXPAND|wxALL|wxALIGN_RIGHT, 5 );
-#endif
-    sizer->Add( new wxStaticText( panel, -1, wxU("Samplerate") ),
-                1, wxEXPAND|wxALL|wxALIGN_LEFT, 5 );
-    aS.Clear();
-    for( i = 0; i < hb_audio_rates_count; i++ )
-        aS.Add( wxString::Format( wxU("%d"), hb_audio_rates[i].rate ) );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_AUDIO_SAMPLERATE, wxU(""),
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 0, wxALL|wxALIGN_RIGHT, 5 );
-
-
-    panel->SetSizerAndFit( sizer );
-
-    return panel;
-}
-
-static wxPanel *PanelSettingsOthers( wxWindow *p_parent )
-{
-    wxPanel *panel = new wxPanel( p_parent, -1,
-                                  wxDefaultPosition, wxSize(200, 200));
-
-    wxBoxSizer *sizer_row = new wxBoxSizer( wxVERTICAL );
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 2, 20 );
-    wxComboBox *combo;
-    wxArrayString aS;
-    int i;
-    int i_count;
-
-    
-    /* CPU */
-    sizer->Add( new wxStaticText( panel, -1, wxU( "CPU" ) ),
-                1, wxEXPAND|wxALL|wxALIGN_LEFT );
-
-    i_count = g_hbApp->GetSystemCpuCount();
-    aS.Clear();
-    for( i = 0; i < i_count; i++ )
-        aS.Add( wxString::Format( wxU("%d"), i+1 ) );
-
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_CPU,
-                            aS[g_hbApp->GetDefaultCpuCount()-1],
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 0, wxALL|wxALIGN_RIGHT );
-
-    /* Priority */
-    sizer->Add( new wxStaticText( panel, -1, wxU( "Priority" ) ),
-                1, wxEXPAND|wxALL|wxALIGN_LEFT );
-
-    aS.Clear();
-    aS.Add( wxU("Highest") );
-    aS.Add( wxU("Above Normal") );
-    aS.Add( wxU("Normal") );
-    aS.Add( wxU("Below Normal") );
-    aS.Add( wxU("Lowest") );
-    combo = new wxComboBox( panel, ID_SETTINGS_CB_PRIORITY,
-                            aS[4-g_hbApp->GetDefaultPriority()],
-                            wxDefaultPosition, wxDefaultSize,
-                            aS, wxCB_READONLY );
-    sizer->Add( combo, 0, wxALL|wxALIGN_RIGHT );
-    combo->Enable( FALSE ); /* Marche pas pr le moment */
-
-    sizer_row->Add( sizer, 0, wxEXPAND|wxALL, 5 );
-
-    panel->SetSizerAndFit( sizer_row );
-
-    return panel;
-}
-
-
-class hbWizardPageSettings: public wxWizardPageSimple
-{
-public:
-    hbWizardPageSettings( wxWizard *p_wizard );
-    virtual ~hbWizardPageSettings();
-
-    void OnBrowse( wxCommandEvent &event );
-    void OnTitle( wxCommandEvent &event );
-    void OnChapter( wxCommandEvent &event );
-    void OnRadio( wxCommandEvent &event );
-    void OnAudio( wxCommandEvent &event );
-
-    void SetTitle( int i_title = -1 );
-    void OnPageChanging( wxWizardEvent &event );
-    void OnPageChanged( wxWizardEvent &event );
-
-private:
-    DECLARE_EVENT_TABLE()
-    wxFileDialog *dlgFile;
-};
-
-hbWizardPageSettings::hbWizardPageSettings( wxWizard *p_wizard ) :
-                                                wxWizardPageSimple(p_wizard)
-{
-    wxNotebook *nb = new wxNotebook( this, ID_SETTINGS_NB );
-    wxNotebookSizer *sizerN = new wxNotebookSizer( nb );
-
-    /* General settings */
-    nb->AddPage( PanelSettingsGeneral(nb), wxU("General"), TRUE );
-
-    /* Advanced */
-    nb->AddPage( PanelSettingsVideo(nb), wxU("Advanced Video"), FALSE );
-
-    /* Advanced */
-    nb->AddPage( PanelSettingsAudio(nb), wxU("Advanced Audio"), FALSE );
-    
-    /* Others */
-    nb->AddPage( PanelSettingsOthers(nb), wxU("Others"), FALSE );
-
-
-    hbWizardPageHeaders( this, "Settings", "Set your settings ;).",
-                         sizerN );
-
-    /* */
-    dlgFile = NULL;
-}
-
-hbWizardPageSettings::~hbWizardPageSettings()
-{
-}
-
-void hbWizardPageSettings::SetTitle( int i_title )
-{
-    wxArrayString &aT = *g_hbApp->GetTitles();
-    wxArrayString *p_array;
-    wxComboBox *title;
-    wxComboBox *chp;
-    wxComboBox *lg;
-    wxComboBox *fps;
-    wxComboBox *arate;
-    wxString sL;
-    bool bSetDefault = false;
-    int i;
-
-    /* Update title */
-    title = (wxComboBox*)FindWindow( ID_SETTINGS_CB_TITLE );
-    if( i_title < 0 )
-    {
-        title->Clear();
-        title->Append( aT );
-
-        i_title = g_hbApp->GetDefaultTitle();
-        title->SetValue( aT[i_title] );
-        bSetDefault = true;
-    }
-
-    g_hbApp->SetTitle( i_title );
-
-
-    /* Update chapter start/end */
-    chp = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_START );
-    chp->Clear();
-    for( i = 0; i < g_hbApp->GetChaptersCount(); i++ )
-        chp->Append( wxString::Format( wxU("%d"), i+1 ) );
-    chp->SetValue( wxU("1") );
-
-    chp = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_END );
-    chp->Clear();
-    for( i = 0; i < g_hbApp->GetChaptersCount(); i++ )
-        chp->Append( wxString::Format( wxU("%d"), i+1 ) );
-    chp->SetValue( wxString::Format( wxU("%d"), g_hbApp->GetChaptersCount() ) );
-
-    /* Update Audio language */
-    lg = (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_LANGUAGE );
-    sL = lg->GetValue();
-    lg->Clear();
-    p_array = g_hbApp->GetTracksAudio();
-    lg->Append( *p_array );
-
-    if( bSetDefault || p_array->Index(sL) == wxNOT_FOUND )
-    {
-        sL = g_hbApp->GetDefaultAudio();
-        if( p_array->Index( sL ) == wxNOT_FOUND )
-            sL = (*p_array)[0];
-    }
-    lg->SetValue( sL );
-    g_hbApp->SetTrackAudio( p_array->Index(sL) );/* Needed for audio settings */
-
-    lg = (wxComboBox*)FindWindow( ID_SETTINGS_CB_SUBTITLE_LANGUAGE );
-    sL = lg->GetValue();
-    lg->Clear();
-    p_array = g_hbApp->GetTracksSubtitle();
-    lg->Append( *p_array );
-
-    if( bSetDefault || p_array->Index(sL) == wxNOT_FOUND )
-    {
-        sL = g_hbApp->GetDefaultSubtitle();
-        if( p_array->Index( sL ) == wxNOT_FOUND )
-            sL = p_array->Last();
-    }
-    lg->SetValue( sL );
-
-    if( bSetDefault || g_hbApp->GetDefaultVideoRateBase() != 0 )
-    {
-        int i_base = g_hbApp->GetDefaultVideoRateBase();
-
-        if( i_base == 0 || !bSetDefault )
-            i_base = g_hbApp->GetVideoRateBase();
-
-        fps = (wxComboBox*)FindWindow( ID_SETTINGS_CB_VIDEO_FPS );
-        for( i = 0; i  < hb_video_rates_count; i++ )
-        {
-            if( hb_video_rates[i].rate  == i_base )
-            {
-                fps->SetSelection( i );
-                break;
-            }
-        }
-    }
-
-    if( bSetDefault || g_hbApp->GetDefaultAudioSamplerate() != 0 )
-    {
-        int i_rate = g_hbApp->GetDefaultAudioSamplerate();
-
-        if( i_rate == 0 || !bSetDefault )
-            i_rate = g_hbApp->GetAudioSamplerate();
-        if( i_rate == 0 )
-            i_rate = 44100;
-
-        arate = (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_SAMPLERATE );
-        arate->SetValue( wxString::Format( wxU("%d"), i_rate ) );
-    }
-
-    /* Set auto crop values and width size */
-    if( bSetDefault )
-    {
-        wxSpinCtrl *spin;
-        int crop[4];
-        int i_width, i_height;
-
-        g_hbApp->GetVideoAutocrop( crop );
-        g_hbApp->GetVideoSize( &i_width, &i_height );
-
-        /* Crop */
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_TOP );
-        spin->SetValue( crop[0] );
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_BOTTOM );
-        spin->SetValue( crop[1] );
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_LEFT );
-        spin->SetValue( crop[2] );
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_RIGHT );
-        spin->SetValue( crop[3] );
-
-        /* Size */
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_WIDTH );
-        spin->SetValue( i_width - (crop[2]+crop[3]) );
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_HEIGHT );
-        spin->SetValue( i_height - (crop[0]+crop[1]) );
-    }
-}
-
-
-void hbWizardPageSettings::OnTitle( wxCommandEvent &event )
-{
-    SetTitle( event.GetSelection() );
-}
-
-void hbWizardPageSettings::OnChapter( wxCommandEvent &event )
-{
-    wxComboBox *start = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_START );
-    wxComboBox *end   = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_END );
-
-    if( event.GetId() == ID_SETTINGS_CB_CHAPTER_START )
-    {
-        if( start->GetSelection() > end->GetSelection() )
-            end->SetSelection( start->GetSelection() );
-    }
-    else
-    {
-        if( end->GetSelection() < start->GetSelection() )
-            start->SetSelection( end->GetSelection() );
-    }
-}
-
-void hbWizardPageSettings::OnBrowse( wxCommandEvent &event )
-{
-    if( dlgFile == NULL )
-        dlgFile = new wxFileDialog( this, wxU( "Choose a file"),
-                                      wxGetCwd() );
-
-    if( dlgFile->ShowModal() == wxID_OK )
-    {
-        const wxChar *p = dlgFile->GetPath();
-        wxComboBox *file = (wxComboBox*)FindWindow(ID_SETTINGS_CB_OUTPUT_FILE);
-        file->SetValue( p );
-    }
-}
-
-void hbWizardPageSettings::OnRadio( wxCommandEvent &event )
-{
-    wxRadioButton *rSize =
-        (wxRadioButton*)FindWindow( ID_SETTINGS_RD_OUTPUT_SIZE );
-    wxRadioButton *rBitrate =
-        (wxRadioButton*)FindWindow( ID_SETTINGS_RD_OUTPUT_BITRATE );
-    wxComboBox *cSize =
-        (wxComboBox*)FindWindow( ID_SETTINGS_CB_OUTPUT_SIZE );
-    wxComboBox *cBitrate =
-        (wxComboBox*)FindWindow( ID_SETTINGS_CB_OUTPUT_BITRATE );
-
-    if( event.GetId() == ID_SETTINGS_RD_OUTPUT_SIZE )
-    {
-        /* FIXME is that needed ?? */
-        rBitrate->SetValue(FALSE);
-        cBitrate->Enable(FALSE);
-        cSize->Enable(TRUE);
-    }
-    else
-    {
-        rSize->SetValue(FALSE);
-        cSize->Enable(FALSE);
-        cBitrate->Enable(TRUE);
-    }
-}
-void hbWizardPageSettings::OnAudio( wxCommandEvent &event )
-{
-    if( g_hbApp->GetDefaultAudioSamplerate() == 0 )
-    {
-        int i_rate = g_hbApp->GetAudioSamplerate();
-        wxComboBox *arate =
-            (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_SAMPLERATE );
-
-        if( i_rate == 0 ) i_rate = 44100;
-        arate->SetValue( wxString::Format( wxU("%d"), i_rate ) );
-    }
-}
-
-void hbWizardPageSettings::OnPageChanging( wxWizardEvent &event )
-{
-    wxComboBox *cFile;
-    wxComboBox *cChap;
-    wxComboBox *cLang;
-    wxComboBox *cQ;
-    wxComboBox *cCombo;
-    wxCheckBox *cCheck;
-    wxRadioButton *rSize;
-    wxSpinCtrl *spin;
-    int i_bitrate_audio;
-    int crop[4];
-    int i_width, i_height;
-
-    wxString sFile;
-
-    if( !event.GetDirection() )
-        return;
-
-    /* We need to validate params and start encoding */
-
-    /* Get and Check validity of parameters */
-    cFile = (wxComboBox*)FindWindow( ID_SETTINGS_CB_OUTPUT_FILE );
-    sFile = cFile->GetValue();
-    if( sFile.IsEmpty() )
-    {
-        hbError( this, wxU("You have to give a output file name") );
-        event.Veto();
-        return;
-    }
-    g_hbApp->SetOutputFile( sFile );
-
-    /* Chapter start/end */
-    cChap = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_START );
-    g_hbApp->SetChapterStart( cChap->GetSelection() + 1 );
-
-    cChap = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CHAPTER_END );
-    g_hbApp->SetChapterEnd( cChap->GetSelection() + 1 );
-
-    /* Audio */
-    cLang = (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_LANGUAGE );
-    g_hbApp->SetTrackAudio( cLang->GetSelection(), 0 );
-    /* FIXME find a better way */
-    cQ = (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_QUALITY );
-    sscanf( cQ->GetValue().ToAscii(), "%*s - %d kb/s", &i_bitrate_audio );
-    g_hbApp->SetAudioBitrate( i_bitrate_audio );
-
-    long arate;
-    cCombo = (wxComboBox*)FindWindow( ID_SETTINGS_CB_AUDIO_SAMPLERATE );
-    cCombo->GetValue().ToLong( &arate );
-    g_hbApp->SetAudioSamplerate( arate );
-
-    /* Subs */
-    cLang = (wxComboBox*)FindWindow( ID_SETTINGS_CB_SUBTITLE_LANGUAGE );
-    g_hbApp->SetTrackSubtitle( cLang->GetSelection() );
-
-    /* Video/Quality */
-    cQ = (wxComboBox*)FindWindow( ID_SETTINGS_CB_VIDEO_QUALITY );
-    if( cQ->GetSelection() == 3 )
-        g_hbApp->SetVideoPass( 2 );
-    else
-        g_hbApp->SetVideoPass( 1 );
-    /* Video codec */
-    cCombo = (wxComboBox*)FindWindow( ID_SETTINGS_CB_VIDEO_CODEC );
-    g_hbApp->SetVideoCodec( cCombo->GetValue() );
-    /* Video fps */
-    cCombo = (wxComboBox*)FindWindow( ID_SETTINGS_CB_VIDEO_FPS );
-    g_hbApp->SetVideoRateBase( hb_video_rates[cCombo->GetSelection()].rate );
-    /* Deinterlace */
-    cCheck = (wxCheckBox*)FindWindow( ID_SETTINGS_CH_VIDEO_DEINTERLACE );
-    g_hbApp->SetVideoDeinterlace( cCheck->GetValue() );
-    /* Crop */
-    cCheck = (wxCheckBox*)FindWindow( ID_SETTINGS_CH_VIDEO_CROP );
-    if( cCheck->GetValue() )
-    {
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_TOP );
-        crop[0] = spin->GetValue();
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_BOTTOM );
-        crop[1] = spin->GetValue();
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_LEFT );
-        crop[2] = spin->GetValue();
-        spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_CROP_RIGHT );
-        crop[3] = spin->GetValue();
-        g_hbApp->SetVideoCrop( crop );
-    }
-    else
-    {
-        g_hbApp->SetVideoCrop( NULL );
-    }
-    spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_WIDTH );
-    i_width = spin->GetValue();
-    spin = (wxSpinCtrl*)FindWindow( ID_SETTINGS_SC_VIDEO_HEIGHT );
-    i_height = spin->GetValue();
-    g_hbApp->SetVideoSize( i_width, i_height );
-
-
-    rSize = (wxRadioButton*)FindWindow( ID_SETTINGS_RD_OUTPUT_SIZE );
-    if( rSize->GetValue() )
-    {
-        wxComboBox *cSize =
-            (wxComboBox*)FindWindow( ID_SETTINGS_CB_OUTPUT_SIZE );
-        long i_size;
-        
-        cSize->GetValue().ToLong( &i_size );
-        if( i_size <= 0 )
-        {
-            hbError( this, wxU("Invalide file size") );
-            event.Veto();
-            return;
-        }
-        g_hbApp->SetTotalSize( i_size );
-    }
-    else
-    {
-        wxComboBox *cBitrate =
-            (wxComboBox*)FindWindow( ID_SETTINGS_CB_OUTPUT_BITRATE );
-        long i_bitrate;
-
-       cBitrate->GetValue().ToLong( &i_bitrate );
-        if( i_bitrate<= 0 )
-        {
-            hbError( this, wxU("Invalid total bitrate") );
-            event.Veto();
-            return;
-        }
-        else if( i_bitrate <= i_bitrate_audio )
-        {
-            hbError( this, wxU("Incompatible total bitrate with audio bitrate") );
-            event.Veto();
-            return;
-        }
-        g_hbApp->SetTotalBitrate( i_bitrate );
-    }
-
-    /* Other settings */
-    /* CPU */
-    cCombo = (wxComboBox*)FindWindow( ID_SETTINGS_CB_CPU );
-    g_hbApp->SetCpuCount( cCombo->GetSelection() );
-
-    cCombo = (wxComboBox*)FindWindow( ID_SETTINGS_CB_PRIORITY );
-    g_hbApp->SetPriority( cCombo->GetSelection() );
-
-    /* TODO finish */
-
-    /* Start the encode (TODO) */
-    if( g_hbApp->Encode() < 0 )
-    {
-        event.Veto();   /* Wrong */
-        return;
-    }
-}
-void hbWizardPageSettings::OnPageChanged( wxWizardEvent &event )
-{
-    /* Initialise avec le titre par défaut */
-    SetTitle();
-}
-
-BEGIN_EVENT_TABLE( hbWizardPageSettings, wxWizardPageSimple )
-    EVT_BUTTON( ID_SETTINGS_BT_FILE, hbWizardPageSettings::OnBrowse )
-    EVT_COMBOBOX( ID_SETTINGS_CB_TITLE, hbWizardPageSettings::OnTitle )
-    EVT_COMBOBOX( ID_SETTINGS_CB_CHAPTER_START,hbWizardPageSettings::OnChapter)
-    EVT_COMBOBOX( ID_SETTINGS_CB_CHAPTER_END, hbWizardPageSettings::OnChapter )
-    EVT_COMBOBOX( ID_SETTINGS_CB_AUDIO_LANGUAGE, hbWizardPageSettings::OnAudio )
-    EVT_WIZARD_PAGE_CHANGING( -1, hbWizardPageSettings::OnPageChanging )
-    EVT_WIZARD_PAGE_CHANGED( -1, hbWizardPageSettings::OnPageChanged )
-    EVT_RADIOBUTTON( ID_SETTINGS_RD_OUTPUT_SIZE, hbWizardPageSettings::OnRadio)
-    EVT_RADIOBUTTON( ID_SETTINGS_RD_OUTPUT_BITRATE, hbWizardPageSettings::OnRadio)
-END_EVENT_TABLE()
-
-
-/*****************************************************************************
- * hbWizardPageEncode:
- *****************************************************************************/
-class hbWizardPageEncode: public wxWizardPageSimple
-{
-public:
-    hbWizardPageEncode( wxWizard *p_wizard );
-    virtual ~hbWizardPageEncode();
-
-private:
-    //DECLARE_EVENT_TABLE()
-};
-
-hbWizardPageEncode::hbWizardPageEncode( wxWizard *p_wizard ) :
-                                             wxWizardPageSimple(p_wizard)
-{
-    wxBoxSizer *sizer;
-    sizer = new wxBoxSizer( wxVERTICAL );
-#if 0
-    wxGauge * gauge;
-    sizer->Add( new wxStaticText( this, -1, wxU("Progess: x%%" ) ) );
-
-    gauge = new wxGauge( this, -1, 100 );
-    gauge->SetValue( 50 );
-
-    sizer->Add( gauge );
-#endif
-
-
-    hbWizardPageHeaders( this, "Success",
-                         "The encode is finished",
-                         sizer );
-
-}
-
-hbWizardPageEncode::~hbWizardPageEncode()
-{
-}
-
-/****************************************************************************
- * hbWizard:
- ****************************************************************************/
-hbWizard::hbWizard( wxWindow *p_parent) :
-     wxWizard( p_parent, -1, wxU("HandBrake"), wxNullBitmap, wxDefaultPosition)
-{
-    page1 = new hbWizardPageSource( this );
-    page2 = new hbWizardPageSettings( this );
-    page3 = new hbWizardPageEncode( this );
-
-    wxWizardPageSimple::Chain( page1, page2 );
-    wxWizardPageSimple::Chain( page2, page3 );
-
-    //SetPageSize( wxSize( 500, 400 ) );
-    FitToPage( page1 );
-    FitToPage( page2 );
-    FitToPage( page3 );
-}
-
-hbWizard::~hbWizard()
-{
-    Destroy();
-    /* Is that ok */
-    delete page1;
-    delete page2;
-    delete page3;
-}
-
-void hbWizard::Run()
-{
-    fprintf( stderr, "hbWizard::Run\n" );
-
-    RunWizard( page1 );
-}
-
diff --git a/wx/hbWizard.h b/wx/hbWizard.h
deleted file mode 100644 (file)
index a66413a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*****************************************************************************
- * wizard.h:
- *****************************************************************************
- * Copyright (C) 
- * $Id: hbWizard.h,v 1.1 2005/01/16 15:59:21 titer Exp $
- *
- * Authors:
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-class hbWizardPageSource;
-class hbWizardPageSettings;
-class hbWizardPageEncode;
-
-class hbWizard: public wxWizard
-{
-public:
-    hbWizard( wxWindow *p_parent );
-    virtual ~hbWizard();
-
-    void Run();
-
-private:
-    int i_essai;
-    hbWizardPageSource   *page1;
-    hbWizardPageSettings *page2;
-    hbWizardPageEncode   *page3;
-
-    //DECLARE_EVENT_TABLE()
-};
diff --git a/wx/wxHB.cpp b/wx/wxHB.cpp
deleted file mode 100644 (file)
index b336290..0000000
+++ /dev/null
@@ -1,684 +0,0 @@
-/*****************************************************************************
- * wxHB:
- *****************************************************************************
- * Copyright (C)
- * $Id: wxHB.cpp,v 1.8 2005/03/26 23:04:17 titer Exp $
- *
- * Authors:
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-#include "wxHB.h"
-#include "hbWizard.h"
-
-#ifdef SYS_CYGWIN
-#   include <windows.h>
-#endif
-
-/****************************************************************************
- * Definitions / Variables
- ****************************************************************************/
-class hbApp *g_hbApp = NULL;
-
-IMPLEMENT_APP( hbApp )
-
-/****************************************************************************
- * Helpers class
- ****************************************************************************/
-class hbAppTimer: public wxTimer
-{
-public:
-    hbAppTimer()
-    {
-        Start( 50, wxTIMER_CONTINUOUS );
-    }
-    virtual void Notify()
-    {
-        g_hbApp->Update();
-    }
-};
-
-class hbAppProgress: public wxDialog
-{
-public:
-    hbAppProgress( wxWindow *parent, wxString title, wxString msg ) :
-        wxDialog( parent, -1, title, wxDefaultPosition, wxSize( 250, 300),
-                  wxDEFAULT_DIALOG_STYLE )
-    {
-        /* Create widgets */
-        txt = new wxStaticText( this, -1, msg );
-        gauge = new wxGauge( this, -1, 100 );
-        button = new wxButton( this, wxID_CANCEL, wxU("Cancel") );
-
-        /* Add evrything in a sizer */
-        wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-        sizer->Add( txt, 1, wxEXPAND|wxALIGN_CENTER|wxALL, 5 );
-
-        wxBoxSizer *sizerH = new wxBoxSizer( wxHORIZONTAL );
-        sizerH->Add( gauge, 1, wxALIGN_CENTER|wxALL, 5 );
-        sizer->Add( sizerH, 0, wxALIGN_CENTER|wxALL, 5 );
-
-        sizer->Add( button, 0, wxALIGN_CENTER_HORIZONTAL|
-                               wxALIGN_BOTTOM|wxALL, 5 );
-        //SetSizerAndFit( sizer );
-        SetSizer( sizer );
-    }
-
-    void SetProgress( int i_percent, wxString msg )
-    {
-        gauge->SetValue( i_percent );
-        txt->SetLabel( msg );
-    }
-
-    void OnClose( wxCloseEvent &event )
-    {
-        EndModal( wxID_CANCEL );
-    }
-
-private:
-    wxStaticText *txt;
-    wxGauge      *gauge;
-    wxButton     *button;
-
-    DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE( hbAppProgress, wxDialog )
-    EVT_CLOSE( hbAppProgress::OnClose )
-END_EVENT_TABLE()
-
-/****************************************************************************
- * hbApp class
- ****************************************************************************/
-
-/* OnInit: Call at the very start and put every in place
- */
-bool hbApp::OnInit()
-{
-    /* Export hbApp */
-    g_hbApp = this;
-
-
-    /* Init all variables */
-    isEnd = false;
-
-    progress = NULL;
-
-    i_title = -1;
-    titles  = NULL;
-    title = NULL;
-
-    audios = NULL;
-    subs = NULL;
-
-    systemDrive = NULL;
-
-    /* Start HB */
-    if( Init() )
-        return false;
-
-    /* Start out timer */
-    timer = new hbAppTimer();
-
-    /* Create and Start the wizard */
-    wizard = new hbWizard( NULL );
-    wizard->Run();
-
-    /* Special hack FIXME */
-    isEnd = true;
-
-    return true;
-}
-
-/* OnExit:
- */
-int hbApp::OnExit()
-{
-    delete timer;
-    delete wizard;
-
-    /* End hb */
-    End();
-
-    /* Delete others FIXME */
-
-    return 0;
-}
-
-/* Init:
- */
-int hbApp::Init()
-{
-    /* Create a hb instance */
-    hbHandle = hb_init( HB_DEBUG_NONE, 1 );
-    if( hbHandle == NULL )
-        return -1;
-
-    return 0;
-}
-/* Scan:
- */
-int hbApp::Scan( wxString sDevice )
-{
-    if( sDevice.IsEmpty() )
-        return -1;
-
-    /* Reset state */
-    i_title = -1;
-    if( titles ) delete titles; titles  = NULL;
-    if( audios ) delete audios; audios = NULL;
-    if( subs ) delete subs; subs = NULL;
-    title = NULL;
-
-    /* Append a \ if needed */
-    if( sDevice.Length() == 2 && sDevice.Last() == ':' )
-        sDevice.Append( '\\' );
-
-    /* Launch the scan (all titles) */
-    hb_scan( hbHandle, sDevice.ToAscii(), 0 );
-
-    /* Create a progress report */
-    progress = new hbAppProgress( wizard, wxU("Scanning..."), wxU("Opening ")+sDevice);
-    progress->ShowModal();
-
-    if( !hb_list_count( hb_get_titles( hbHandle ) ) )
-    {
-        hbError( wizard, wxU("Scanning failed") );
-        return -1;
-    }
-
-    /* FIXME test if the scan is complete */
-
-
-    return 0;
-}
-/* Encode:
- */
-int hbApp::Encode()
-{
-    hb_state_t s;
-
-    /* Maybe check a few things like:
-     *  - compatible muxer and codecs */
-
-    /* Start the encoding */
-    hb_add( hbHandle, title->job );
-    hb_start( hbHandle );
-
-    /* FIXME use the wizard instead */
-    /* Create a progress report */
-    progress = new hbAppProgress( wizard, wxU("Encoding..."), wxU("0%"));
-    progress->ShowModal();
-
-    hb_get_state( hbHandle, &s );
-    if( s.param.workdone.error != HB_ERROR_NONE )
-    {
-        hb_stop( hbHandle );    /* FIXME to a proper handling */
-        hbError( wizard, wxU("Encoding failed/stopped") );
-        return -1;
-    }
-
-    /* bad */
-    return 0;
-}
-
-/* End:
- */
-void hbApp::End()
-{
-    hb_close( &hbHandle );
-}
-
-
-wxArrayString *hbApp::GetTitles()
-{
-    hb_list_t *list;
-    int i_count;
-    int i;
-
-    if( titles )
-        return titles;
-
-    /* Create the title list */
-    list = hb_get_titles( hbHandle );
-
-    i_count = hb_list_count( list );
-    if( i_count <= 0 )
-        return NULL;
-
-    titles = new wxArrayString();
-    for( i = 0; i < i_count; i++ )
-    {
-        hb_title_t *t = (hb_title_t*)hb_list_item( list, i );
-        wxString name = wxString::Format( wxU("%d  - %d:%02d:%02d"),
-                                          t->index,
-                                          t->hours, t->minutes, t->seconds );
-        titles->Add( name );
-    }
-
-    return titles;
-}
-
-void hbApp::SetTitle( int _i_title )
-{
-    int i;
-
-    if( i_title == _i_title )
-        return;
-
-    i_title = _i_title;
-    title = (hb_title_t*)hb_list_item( hb_get_titles( hbHandle ), i_title );
-    if( audios ) delete audios; audios = NULL;
-    if( subs ) delete subs; subs = NULL;
-
-    for( i = 0; i < 8; i++ )
-        title->job->audios[i] = -1;
-    title->job->subtitle = -1;
-}
-
-int hbApp::GetDefaultTitle()
-{
-    hb_list_t *list;
-    int i_best = -1;
-    int i_best_length = 0;
-    int i;
-
-    list = hb_get_titles( hbHandle );
-    for( i = 0; i < hb_list_count( list ); i++ )
-    {
-        hb_title_t *t = (hb_title_t*)hb_list_item( list, i );
-        int i_length = t->hours * 3600 + t->minutes*60 + t->seconds;
-
-        if( i_best < 0 || i_length > i_best_length )
-        {
-            i_best = i;
-            i_best_length = i_length;
-        }
-    }
-
-    return i_best;
-}
-
-
-
-int hbApp::GetChaptersCount()
-{
-    if( i_title < 0 )
-        return 0;
-
-    return hb_list_count( title->list_chapter );
-}
-
-void hbApp::SetChapterStart( int i_chapter )
-{
-    title->job->chapter_start = i_chapter;
-}
-
-void hbApp::SetChapterEnd( int i_chapter )
-{
-    title->job->chapter_end = i_chapter;
-}
-
-wxArrayString *hbApp::GetTracksAudio()
-{
-    int i;
-    if( audios )
-        return audios;
-
-    audios = new wxArrayString();
-    for( i = 0; i < hb_list_count( title->list_audio ); i++ )
-    {
-        hb_audio_t *a = (hb_audio_t*)hb_list_item( title->list_audio, i );
-
-        audios->Add( wxU(a->lang) );
-    }
-    audios->Add( wxU("None") );
-
-    return audios;
-}
-void hbApp::SetTrackAudio( int i_track, int i_pos )
-{
-    if( i_pos >= 0 && i_pos < hb_list_count( title->list_audio ) )
-        title->job->audios[i_pos] = i_track;
-    else
-        title->job->audios[i_pos] = -1;
-}
-
-wxArrayString *hbApp::GetTracksSubtitle()
-{
-    int i;
-
-    if( subs )
-        return subs;
-
-    subs = new wxArrayString();
-    for( i = 0; i < hb_list_count( title->list_subtitle ); i++ )
-    {
-        hb_subtitle_t *s =
-            (hb_subtitle_t*)hb_list_item( title->list_subtitle, i );
-
-        subs->Add( wxU(s->lang) );
-    }
-    subs->Add( wxU("None") );
-
-    return subs;
-}
-
-void hbApp::SetTrackSubtitle( int i_track )
-{
-    if( i_track >= 0 && i_track < hb_list_count( title->list_subtitle ) )
-        title->job->subtitle = i_track;
-    else
-        title->job->subtitle = -1;
-}
-
-void hbApp::SetOutputFile( wxString sFile )
-{
-    char *psz;
-
-    title->job->file = strdup( sFile.ToAscii() ); /* FIXME do we need strdup ? */
-
-    psz = strrchr( title->job->file, '.' );
-    if( psz == NULL )
-        title->job->mux = HB_MUX_AVI; /* By default, FIXME */
-    else if( !strcasecmp( psz, ".avi" ) )
-        title->job->mux = HB_MUX_AVI;
-    else if( !strcasecmp( psz, ".mp4" ) || !strcasecmp( psz, ".mov") )
-        title->job->mux = HB_MUX_MP4;
-    else if( !strcasecmp( psz, ".ogg" ) || !strcasecmp( psz, ".ogm") )
-        title->job->mux = HB_MUX_OGM;
-    else
-        title->job->mux = HB_MUX_AVI; /* By default */
-
-    /* Fix acodec value */
-    switch( title->job->mux )
-    {
-        case HB_MUX_AVI:
-            title->job->acodec = HB_ACODEC_LAME;
-            break;
-        case HB_MUX_MP4:
-            title->job->acodec = HB_ACODEC_FAAC;
-            break;
-        case HB_MUX_OGM:
-            title->job->acodec = HB_ACODEC_VORBIS;
-            break;
-    }
-}
-
-void hbApp::SetAudioBitrate( int i_bitrate )
-{
-    int i_old = title->job->abitrate;
-
-    title->job->abitrate = i_bitrate;
-
-    if( title->job->vbitrate > 0 )
-        title->job->vbitrate = title->job->vbitrate + (i_old - i_bitrate);
-}
-
-void hbApp::SetTotalBitrate( int i_bitrate )
-{
-    title->job->vbitrate = i_bitrate - title->job->abitrate;
-
-    if( title->job->vbitrate <= 0 )
-        title->job->vbitrate = 1;
-}
-
-void hbApp::SetTotalSize( int i_size )
-{
-    /* XXX */
-}
-
-void hbApp::SetVideoPass( int i_pass )
-{
-    /* FIXME is 0 or 1 valid for 1 pass ? */
-    if( i_pass <= 1 )
-        title->job->pass = 0;
-    else if( i_pass == 2 )
-        title->job->pass = 2;
-}
-
-void hbApp::SetVideoCodec( wxString sCodec )
-{
-    if( sCodec.Lower() == wxU("ffmpeg") )
-        title->job->vcodec = HB_VCODEC_FFMPEG;
-    else if( sCodec.Lower() == wxU("xvid") )
-        title->job->vcodec = HB_VCODEC_XVID;
-    else if( sCodec.Lower() == wxU("x264") )
-        title->job->vcodec = HB_VCODEC_XVID;
-}
-
-void hbApp::SetVideoDeinterlace( bool b_deinterlace )
-{
-    title->job->deinterlace = b_deinterlace ? 1 : 0;
-}
-
-void hbApp::SetPriority( int i_priority )
-{
-    /* Doesn't work :(( */
-#ifdef SYS_CYGWIN
-    switch( i_priority )
-    {
-        case HB_PRIORITY_ABOVE_NORMAL:
-            i_priority = THREAD_PRIORITY_ABOVE_NORMAL;
-            break;
-        case HB_PRIORITY_BELOW_NORMAL:
-            i_priority = THREAD_PRIORITY_BELOW_NORMAL;
-            break;
-        case HB_PRIORITY_LOWEST:
-            i_priority = THREAD_PRIORITY_LOWEST;
-            break;
-        case HB_PRIORITY_HIGHEST:
-            i_priority = THREAD_PRIORITY_HIGHEST;
-            break;
-
-        case HB_PRIORITY_NORMAL:
-        default:
-            i_priority = THREAD_PRIORITY_NORMAL;
-            break;
-    }
-    ::SetThreadPriority( GetCurrentThread(), i_priority );
-#else
-    /* TODO */
-#endif
-}
-
-void hbApp::SetCpuCount( int i_cpu )
-{
-    hb_set_cpu_count( hbHandle, i_cpu );
-}
-
-int hbApp::GetVideoRateBase()
-{
-    return title->rate_base;
-}
-
-void hbApp::SetVideoRateBase( int i_base )
-{
-    title->job->vrate_base = i_base;
-    title->job->vrate = HB_VIDEO_RATE_BASE;
-}
-void hbApp::GetVideoAutocrop( int crop[4] )
-{
-    int i;
-    for( i = 0; i < 4; i++ )
-        crop[i] = title->crop[i];
-}
-void hbApp::SetVideoCrop( int crop[4] )
-{
-    int i;
-    for( i = 0; i < 4; i++ )
-        title->job->crop[i] = crop ? crop[i] : 0;
-}
-void hbApp::GetVideoSize( int *pi_width, int *pi_height )
-{
-    *pi_width = title->width;
-    *pi_height = title->height;
-}
-void hbApp::SetVideoSize( int i_width, int i_height )
-{
-    title->job->width = i_width;
-    title->job->height = i_height;
-}
-
-
-int hbApp::GetAudioSamplerate()
-{
-    int idx = title->job->audios[0];
-    if( idx >= 0 && idx < hb_list_count( title->list_audio ) )
-    {
-        hb_audio_t *a = (hb_audio_t*)hb_list_item( title->list_audio, 0 );
-        return a->rate;
-    }
-
-    /* FIXME not good */
-    return title->job->arate;
-}
-
-void hbApp::SetAudioSamplerate( int i_rate )
-{
-    title->job->arate = i_rate;
-}
-
-wxString hbApp::GetDefaultAudio()
-{
-    return wxU("English");
-}
-
-wxString hbApp::GetDefaultSubtitle()
-{
-    return wxU("None");
-}
-
-int hbApp::GetDefaultCpuCount()
-{
-    return GetSystemCpuCount();
-}
-
-int hbApp::GetDefaultPriority()
-{
-    return HB_PRIORITY_NORMAL;
-}
-
-int hbApp::GetDefaultVideoRateBase()
-{
-    return 0;
-}
-
-int hbApp::GetDefaultAudioSamplerate()
-{
-    return 0;
-}
-
-/* Drive */
-wxArrayString *hbApp::GetSystemDrive()
-{
-    if( systemDrive )
-        return systemDrive;
-
-    systemDrive = new wxArrayString();
-#ifdef SYS_CYGWIN
-    char c;
-    for( c = 'A'; c <= 'Z'; c++ )
-    {
-        char pszDrive[4];
-        pszDrive[0] = c;
-        pszDrive[1] = ':';
-        pszDrive[2] = '\\';
-        pszDrive[3] = '\0';
-
-        if( GetDriveType( pszDrive ) == DRIVE_CDROM )
-            systemDrive->Add( wxString::Format( wxU("%c:"), c ) );
-    }
-#else
-    /* TODO true detection */
-    systemDrive->Add( wxU("/dev/dvd") );
-    systemDrive->Add( wxU("/dev/cdrom") );
-#endif
-
-    return systemDrive;
-}
-
-int hbApp::GetSystemCpuCount()
-{
-    return hb_get_cpu_count();
-}
-
-void hbApp::Update()
-{
-    hb_state_t s;
-
-    /* Special hack FIXME */
-    if( isEnd )
-    {
-        g_hbApp->ExitMainLoop();
-        return;
-    }
-
-    /* */
-    hb_get_state( hbHandle, &s );
-    switch( s.state )
-    {
-        case HB_STATE_IDLE:
-            break;
-
-        case HB_STATE_SCANNING:
-        {
-            int i_cur = s.param.scanning.title_cur;
-            int i_cnt = s.param.scanning.title_count;
-
-            if( i_cnt > 0 )
-            {
-                progress->SetProgress( 100*(i_cur-1)/i_cnt,
-                                   wxString::Format(wxU("Scanning title %d of %d."),
-                                                    i_cur, i_cnt) );
-            }
-            break;
-        }
-
-        case HB_STATE_SCANDONE:
-            if( progress )
-            {
-                progress->SetProgress( 100, wxU("Scanning complete.") );
-                progress->Close( TRUE );
-                //delete progress;
-                progress = NULL;
-            }
-            break;
-
-        case HB_STATE_WORKING:
-        {
-            float f_progress = s.param.working.progress;
-            float f_rate_cur = s.param.working.rate_cur;
-            float f_rate_avg = s.param.working.rate_avg;
-
-            progress->SetProgress( (int)(100 * f_progress),
-                wxString::Format(wxU("Encoding: %.2f %% (%.2f fps, avg %.2f fps)\n"),
-                                 100.0 * f_progress, f_rate_cur, f_rate_avg ));
-            break;
-        }
-
-        case HB_STATE_WORKDONE:
-            if( progress )
-            {
-                progress->SetProgress( 100, wxU("Encoding complete.") );
-                progress->Close( TRUE );
-                //delete progress;
-                progress = NULL;
-            }
-            break;
-    }
-}
-
diff --git a/wx/wxHB.h b/wx/wxHB.h
deleted file mode 100644 (file)
index c762305..0000000
--- a/wx/wxHB.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*****************************************************************************
- * wxHB:
- *****************************************************************************
- * Copyright (C) 
- * $Id: wxHB.h,v 1.2 2005/01/16 17:44:56 titer Exp $
- *
- * Authors:
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-#include "hb.h"
-
-#include <wx/wx.h>
-#include <wx/wizard.h>
-#include <wx/listctrl.h>
-#include <wx/textctrl.h>
-#include <wx/notebook.h>
-#include <wx/spinctrl.h>
-#include <wx/dnd.h>
-#include <wx/treectrl.h>
-#include <wx/gauge.h>
-#include <wx/accel.h>
-#include <wx/checkbox.h>
-#include <wx/image.h>
-#include <wx/wizard.h>
-
-#include "wx/file.h"
-#include "wx/mstream.h"
-#include "wx/wfstream.h"
-#include <wx/statline.h>
-
-#if wxUSE_UNICODE
-#define wxU(psz) wxString(psz, *wxConvCurrent)
-#else
-#define wxU(psz) psz
-#endif
-
-/* Unique global variable: our App
- * XXX: we could use wxGetApp() instead (but it is a bit longer ;)
- */
-extern class hbApp *g_hbApp;
-
-/* */
-class hbAppTimer;
-class hbAppProgress;
-class hbWizard;
-
-/* */
-enum
-{
-    HB_PRIORITY_LOWEST = 0,
-    HB_PRIORITY_BELOW_NORMAL,
-    HB_PRIORITY_NORMAL,
-    HB_PRIORITY_ABOVE_NORMAL,
-    HB_PRIORITY_HIGHEST,
-};
-
-/* Our wxApp */
-class hbApp: public wxApp
-{
-public:
-    virtual bool OnInit();
-    virtual int  OnExit();
-
-    /* HB related */
-    int  Init();
-    int  Scan( wxString sDevice );
-    int  Encode();
-    void End();
-
-    /* */
-    /* XXX: the wxArrayString aren't duplicated, so don't delete them */
-    wxArrayString *GetTitles();
-    void           SetTitle( int i_title );
-
-    int            GetChaptersCount();
-    void           SetChapterStart( int i_chapter );
-    void           SetChapterEnd( int i_chapter );
-
-    wxArrayString *GetTracksAudio();
-    void           SetTrackAudio( int i_track, int i_pos = 0 );
-
-    wxArrayString *GetTracksSubtitle();
-    void           SetTrackSubtitle( int i_track );
-
-    void           SetOutputFile( wxString );
-    void           SetAudioBitrate( int );
-    void           SetTotalBitrate( int );
-    void           SetTotalSize( int );
-    void           SetVideoPass( int );
-    void           SetPriority( int );
-    void           SetVideoCodec( wxString );
-    void           SetVideoDeinterlace( bool );
-    void           SetCpuCount( int );
-
-    int            GetVideoRateBase();
-    void           SetVideoRateBase( int );
-
-    int            GetAudioSamplerate();
-    void           SetAudioSamplerate( int );
-
-    void           GetVideoAutocrop( int crop[4] );
-    void           SetVideoCrop( int crop[4] );
-    void           GetVideoSize( int *pi_width, int *pi_height );
-    void           SetVideoSize( int i_width, int i_height );
-
-
-    /* Get Default value (from config file or from logic) */
-    int            GetDefaultTitle();
-    wxString       GetDefaultAudio();
-    wxString       GetDefaultSubtitle();
-    int            GetDefaultCpuCount();
-    int            GetDefaultPriority();
-    int            GetDefaultVideoRateBase();
-    int            GetDefaultAudioSamplerate();
-
-    /* Drive */
-    wxArrayString *GetSystemDrive();
-    int            GetSystemCpuCount();
-
-
-    /* wx related */
-    /* Called regulary by a timer
-     * FIXME derive hbApp from timer too instead ? */
-    void  Update();
-
-private:
-    bool isEnd;
-
-    hbAppTimer *timer;
-    hbWizard *wizard;
-    hbAppProgress *progress;
-
-    hb_handle_t *hbHandle;
-
-    /* */
-    int           i_title;
-    wxArrayString *titles;
-    hb_title_t    *title;
-
-    int            i_chapters;
-    wxArrayString *audios;
-    wxArrayString *subs;
-
-    /* System */
-    wxArrayString *systemDrive;
-};
-
-static void hbError( wxWindow *p_parent, wxString sTitle )
-{
-    wxMessageDialog *dlg = new wxMessageDialog( p_parent,
-                                                sTitle,
-                                                wxU("Error"),
-                                                wxOK|wxCENTRE|wxICON_ERROR );
-    dlg->ShowModal();
-    delete dlg;
-}