Exemplo n.º 1
0
int
main (int argc, char *argv[])
{
  GtkWidget    *window;
  X264_Gtk     *x264_gtk;
  x264_param_t *param;
  x264_param_t  param_default;
  char         *res;
  char         *res_default;

  BIND_X264_TEXTDOMAIN();

  gtk_init (&argc, &argv);

  window = x264_gtk_window_create (NULL);
  x264_gtk_shutdown (window);

  x264_gtk = x264_gtk_load ();
  param = x264_gtk_param_get (x264_gtk);

  /* do what you want with these data */
  /* for example, displaying them and compare with default*/
  res = x264_param2string (param, 0);
  printf ("%s\n", res);

  x264_param_default (&param_default);
  res_default = x264_param2string (&param_default, 0);
  printf ("\n%s\n", res_default);

  if (strcmp (res, res_default) == 0)
    printf (_("\nSame result !\n"));
  else
    printf (_("\nDifferent from default values\n"));

  x264_free (res);
  x264_free (res_default);

  x264_gtk_free (x264_gtk);
  g_free (param);

  return 1;
}
Exemplo n.º 2
0
GtkWidget *
x264_gtk_window_create (GtkWidget *parent)
{
  GtkWidget       *win_x264_gtk;
  GtkWidget       *notebook;
  GtkWidget       *page;
  GtkWidget       *button;
  GtkWidget       *label;
  X264_Gui_Config *gconfig;
  X264_Gtk        *x264_gtk;
  gint             result;
  GtkDialogFlags   flags = 0;

  gconfig = (X264_Gui_Config *)g_malloc (sizeof (X264_Gui_Config));
  if (!gconfig)
    return NULL;

  x264_gtk = x264_gtk_load ();

  if (parent)
    flags = GTK_DIALOG_MODAL |GTK_DIALOG_DESTROY_WITH_PARENT;
  win_x264_gtk = gtk_dialog_new_with_buttons (_("X264 Configuration"),
                                              GTK_WINDOW (parent),
                                              flags,
                                              NULL);

  button = gtk_button_new_with_label (_("Default"));
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (win_x264_gtk)->action_area), button, FALSE, TRUE, 6);
  g_signal_connect (G_OBJECT (button),
                    "clicked",
                    G_CALLBACK (_default_load),
                    gconfig);
  gtk_widget_show (button);

  gtk_dialog_add_buttons (GTK_DIALOG (win_x264_gtk),
                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                          GTK_STOCK_OK, GTK_RESPONSE_OK,
                          NULL);

  g_object_set_data (G_OBJECT (win_x264_gtk), "x264-gui-config", gconfig);
  g_object_set_data (G_OBJECT (win_x264_gtk), "x264-config", x264_gtk);
  gtk_window_set_resizable (GTK_WINDOW (win_x264_gtk), FALSE);

  notebook = gtk_notebook_new ();
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (win_x264_gtk)->vbox), notebook);
  gtk_widget_show (notebook);

  label = gtk_label_new (_("Bitrate"));
  gtk_widget_show (label);

  page = _bitrate_page (gconfig);
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
  gtk_widget_show (page);

  label = gtk_label_new (_("Rate Control"));
  gtk_widget_show (label);

  page = _rate_control_page (gconfig);
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
  gtk_widget_show (page);

  label = gtk_label_new (_("MB & Frames"));
  gtk_widget_show (label);

  page = _mb_page (gconfig);
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
  gtk_widget_show (page);

  label = gtk_label_new (_("More..."));
  gtk_widget_show (label);

  page = _more_page (gconfig);
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
  gtk_widget_show (page);

  label = gtk_label_new (_("Quantization matrices"));
  gtk_widget_show (label);

  page = _cqm_page (gconfig);
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
  gtk_widget_show (page);

  _current_set (gconfig, x264_gtk);

  result = gtk_dialog_run (GTK_DIALOG (win_x264_gtk));
  _dialog_run (GTK_DIALOG (win_x264_gtk), result, gconfig, x264_gtk);

  return win_x264_gtk;
}