gchar *iconname;
} icon_map_t;
-gboolean ghb_autostart;
static gchar *dvd_device = NULL;
static gchar *arg_preset = NULL;
static GOptionEntry entries[] =
{
- { "autostart", 'a', 0, G_OPTION_ARG_NONE, &ghb_autostart, "Automatically scan and start encoding", NULL },
{ "device", 'd', 0, G_OPTION_ARG_FILENAME, &dvd_device, "The device or file to encode", NULL },
{ "preset", 'p', 0, G_OPTION_ARG_STRING, &arg_preset, "The preset values to use for encoding", NULL },
{ NULL }
}
#endif
+// Hack to avoid a segfault in libavcodec
+extern int mm_flags;
+int mm_support();
+
+void x264_entry_changed_cb(GtkWidget *widget, signal_user_data_t *ud);
+
int
main (int argc, char *argv[])
{
GError *error = NULL;
GOptionContext *context;
+ mm_flags = mm_support();
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
gtk_icon_theme_append_search_path (theme, "./icons");
ud = g_malloc(sizeof(signal_user_data_t));
- ud->state = GHB_STATE_START;
ud->debug = FALSE;
g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, debug_log_handler, ud);
ud->settings = ghb_settings_new();
ud->builder = create_builder_or_die (BUILDER_NAME, builder_file);
g_free(builder_file);
}
+
+ // Need to connect x264_options textview buffer to the changed signal
+ // since it can't be done automatically
+ GtkTextView *textview;
+ GtkTextBuffer *buffer;
+ textview = GTK_TEXT_VIEW(GHB_WIDGET (ud->builder, "x264_options"));
+ buffer = gtk_text_view_get_buffer (textview);
+ g_signal_connect(buffer, "changed", (GCallback)x264_entry_changed_cb, ud);
+
+ ghb_file_menu_add_dvd(ud);
ghb_backend_init(ud->builder, 1, 0);
g_debug("ud %p\n", ud);
if (preset == NULL)
preset = ghb_presets_get_name(0);
}
+ // Parsing x264 options "" initializes x264 widgets to proper defaults
+ ghb_x264_parse_options(ud, "");
ghb_select_preset(ud->builder, preset);
ghb_prefs_to_ui(ud);
// Grey out widgets that are dependent on a disabled feature
// Source overridden from command line option
ghb_settings_set_string(ud->settings, "source", dvd_device);
}
- if (ghb_autostart)
- {
- ghb_hbfd(ud, TRUE);
- }
// Start timer for monitoring libhb status, 500ms
g_timeout_add (500, ghb_timer_cb, (gpointer)ud);
// Everything should be go-to-go. Lets rock!