OSDN Git Service

LinGui: Picture Filter enhancements
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Feb 2009 00:39:50 +0000 (00:39 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Feb 2009 00:39:50 +0000 (00:39 +0000)
Add custom settings fields to Detelecine, Decomb, Deinterlace, and Denoise.

git-svn-id: svn://localhost/HandBrake/trunk@2116 b64f7644-9d1e-0410-96f1-a4d463321fa5

14 files changed:
gtk/src/callbacks.c
gtk/src/ghb.ui
gtk/src/hb-backend.c
gtk/src/internal_defaults.xml
gtk/src/main.c
gtk/src/makedeps.c
gtk/src/plist.c
gtk/src/presets.c
gtk/src/queuehandler.c
gtk/src/resource_data.h
gtk/src/resources.plist
gtk/src/standard_presets.xml
gtk/src/widget_deps
gtk/src/widget_reverse_deps

index 0316032..4470962 100644 (file)
@@ -67,7 +67,7 @@ ghb_init_dep_map()
 }
 
 static gboolean
-dep_check(signal_user_data_t *ud, const gchar *name)
+dep_check(signal_user_data_t *ud, const gchar *name, gboolean *out_hide)
 {
        GtkWidget *widget;
        GObject *dep_object;
@@ -81,6 +81,7 @@ dep_check(signal_user_data_t *ud, const gchar *name)
 
        array = ghb_dict_lookup(rev_map, name);
        count = ghb_array_len(array);
+       *out_hide = FALSE;
        for (ii = 0; ii < count; ii++)
        {
                data = ghb_array_get_nth(array, ii);
@@ -100,9 +101,10 @@ dep_check(signal_user_data_t *ud, const gchar *name)
                        gint jj = 0;
                        gchar **values;
                        gboolean sensitive = FALSE;
-                       gboolean die;
+                       gboolean die, hide;
 
                        die = ghb_value_boolean(ghb_array_get_nth(data, 2));
+                       hide = ghb_value_boolean(ghb_array_get_nth(data, 3));
                        value = ghb_value_string(ghb_array_get_nth(data, 1));
                        values = g_strsplit(value, "|", 10);
                        g_free(value);
@@ -141,7 +143,11 @@ dep_check(signal_user_data_t *ud, const gchar *name)
                                jj++;
                        }
                        sensitive = die ^ sensitive;
-                       if (!sensitive) result = FALSE;
+                       if (!sensitive)
+                       {
+                               result = FALSE;
+                               *out_hide |= hide;
+                       }
                        g_strfreev (values);
                        g_free(value);
                }
@@ -171,6 +177,7 @@ ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget)
        for (ii = 0; ii < count; ii++)
        {
                gboolean sensitive;
+               gboolean hide;
 
                data = ghb_array_get_nth(array, ii);
                dep_name = ghb_value_string(data);
@@ -181,12 +188,25 @@ ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget)
                        g_free(dep_name);
                        continue;
                }
-               sensitive = dep_check(ud, dep_name);
+               sensitive = dep_check(ud, dep_name, &hide);
                g_free(dep_name);
                if (GTK_IS_ACTION(dep_object))
+               {
                        gtk_action_set_sensitive(GTK_ACTION(dep_object), sensitive);
+                       gtk_action_set_visible(GTK_ACTION(dep_object), sensitive || !hide);
+               }
                else
+               {
                        gtk_widget_set_sensitive(GTK_WIDGET(dep_object), sensitive);
+                       if (!sensitive && hide)
+                       {
+                               gtk_widget_hide(GTK_WIDGET(dep_object));
+                       }
+                       else
+                       {
+                               gtk_widget_show_now(GTK_WIDGET(dep_object));
+                       }
+               }
        }
 }
 
@@ -206,17 +226,32 @@ ghb_check_all_depencencies(signal_user_data_t *ud)
                        &iter, (gpointer*)(void*)&dep_name, (gpointer*)(void*)&value))
        {
                gboolean sensitive;
+               gboolean hide;
+
                dep_object = gtk_builder_get_object (ud->builder, dep_name);
                if (dep_object == NULL)
                {
                        g_message("Failed to find dependent widget %s", dep_name);
                        continue;
                }
-               sensitive = dep_check(ud, dep_name);
+               sensitive = dep_check(ud, dep_name, &hide);
                if (GTK_IS_ACTION(dep_object))
+               {
                        gtk_action_set_sensitive(GTK_ACTION(dep_object), sensitive);
+                       gtk_action_set_visible(GTK_ACTION(dep_object), sensitive || !hide);
+               }
                else
+               {
                        gtk_widget_set_sensitive(GTK_WIDGET(dep_object), sensitive);
+                       if (!sensitive && hide)
+                       {
+                               gtk_widget_hide(GTK_WIDGET(dep_object));
+                       }
+                       else
+                       {
+                               gtk_widget_show_now(GTK_WIDGET(dep_object));
+                       }
+               }
        }
 }
 
@@ -1070,59 +1105,6 @@ setting_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
        ghb_live_reset(ud);
 }
 
-static void
-validate_filter_widget(signal_user_data_t *ud, const gchar *name)
-{
-       GtkTreeModel *store;
-       GtkTreeIter iter;
-       const gchar *str;
-       gboolean foundit = FALSE;
-       GtkComboBox *combo = GTK_COMBO_BOX(GHB_WIDGET(ud->builder, name));
-       if (gtk_combo_box_get_active(combo) < 0)
-       { // Validate user input
-               gchar *val = ghb_settings_get_string(ud->settings, name);
-               store = gtk_combo_box_get_model(combo);
-               // Check to see if user manually entered one of the combo options
-               if (gtk_tree_model_get_iter_first(store, &iter))
-               {
-                       do
-                       {
-                               gtk_tree_model_get(store, &iter, 0, &str, -1);
-                               if (strcasecmp(val, str) == 0)
-                               {
-                                       gtk_combo_box_set_active_iter(combo, &iter);
-                                       foundit = TRUE;
-                                       break;
-                               }
-                       } while (gtk_tree_model_iter_next(store, &iter));
-               }
-               if (!foundit)
-               { // validate format of filter string
-                       if (!ghb_validate_filter_string(val, -1))
-                               gtk_combo_box_set_active(combo, 0);
-               }
-               g_free(val);
-       }
-}
-
-gboolean
-deint_tweak_focus_out_cb(GtkWidget *widget, GdkEventFocus *event, 
-       signal_user_data_t *ud)
-{
-       g_debug("deint_tweak_focus_out_cb ()");
-       validate_filter_widget(ud, "tweak_PictureDeinterlace");
-       return FALSE;
-}
-
-gboolean
-denoise_tweak_focus_out_cb(GtkWidget *widget, GdkEventFocus *event, 
-       signal_user_data_t *ud)
-{
-       g_debug("denoise_tweak_focus_out_cb ()");
-       validate_filter_widget(ud, "tweak_PictureDenoise");
-       return FALSE;
-}
-
 void
 http_opt_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
 {
@@ -2390,33 +2372,6 @@ tweaks_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
        ghb_widget_to_setting (ud->settings, widget);
        const gchar *name = gtk_widget_get_name(widget);
        ghb_pref_save(ud->settings, name);
-
-       gboolean tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
-       widget = GHB_WIDGET(ud->builder, "PictureDeinterlace");
-       tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-       widget = GHB_WIDGET(ud->builder, "tweak_PictureDeinterlace");
-       !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
-       widget = GHB_WIDGET(ud->builder, "PictureDenoise");
-       tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-       widget = GHB_WIDGET(ud->builder, "tweak_PictureDenoise");
-       !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-       if (tweaks)
-       {
-               const GValue *value;
-               value = ghb_settings_get_value(ud->settings, "PictureDeinterlace");
-               ghb_ui_update(ud, "tweak_PictureDeinterlace", value);
-               value = ghb_settings_get_value(ud->settings, "PictureDenoise");
-               ghb_ui_update(ud, "tweak_PictureDenoise", value);
-       }
-       else
-       {
-               const GValue *value;
-               value = ghb_settings_get_value(ud->settings, "tweak_PictureDeinterlace");
-               ghb_ui_update(ud, "PictureDeinterlace", value);
-               value = ghb_settings_get_value(ud->settings, "tweak_PictureDenoise");
-               ghb_ui_update(ud, "PictureDenoise", value);
-       }
 }
 
 void
index 8759679..81c5b31 100644 (file)
                                   </object>
                                   <packing>
                                     <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options">GTK_FILL</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -4610,94 +4611,131 @@ location as the movie.</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkCheckButton" id="PictureDetelecine">
-                                <property name="label" translatable="yes">Detelecine</property>
+                              <object class="GtkAlignment" id="alignment2">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                <property name="draw_indicator">True</property>
-                                <signal name="button_press_event" handler="tweak_setting_cb"/>
-                                <signal name="toggled" handler="setting_widget_changed_cb"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="PictureDecomb">
-                                <property name="label" translatable="yes">De-Comb</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                                <signal name="button_press_event" handler="tweak_setting_cb"/>
-                                <signal name="toggled" handler="setting_widget_changed_cb"/>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
+                                <property name="xalign">0</property>
+                                <property name="xscale">0</property>
+
                             <child>
-                              <object class="GtkHBox" id="hbox21">
+                              <object class="GtkTable" id="table90">
                                 <property name="visible">True</property>
+                                <property name="n_rows">2</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">5</property>
+
                                 <child>
                                   <object class="GtkLabel" id="label56">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Deblock:</property>
-                                    <property name="width_chars">10</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkHScale" id="PictureDeblock">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">adjustment20</property>
+                                    <property name="digits">0</property>
+                                    <property name="value_pos">right</property>
+                                    <signal name="value_changed" handler="setting_widget_changed_cb"/>
+                                    <signal name="format_value" handler="format_deblock_cb"/>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">0</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkAlignment" id="alignment14">
+                                  <object class="GtkLabel" id="label56">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="xscale">0.55000001192092896</property>
-                                    <child>
-                                      <object class="GtkHScale" id="PictureDeblock">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">adjustment20</property>
-                                        <property name="digits">0</property>
-                                        <property name="value_pos">right</property>
-                                        <signal name="value_changed" handler="setting_widget_changed_cb"/>
-                                        <signal name="format_value" handler="format_deblock_cb"/>
-                                      </object>
-                                    </child>
+                                    <property name="label" translatable="yes">Detelecine:</property>
                                   </object>
                                   <packing>
-                                    <property name="position">1</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
                                   </packing>
                                 </child>
-                              </object>
-                              <packing>
-                                <property name="position">3</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox22">
-                                <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <child>
-                                  <object class="GtkLabel" id="label31">
+                                  <object class="GtkComboBox" id="PictureDetelecine">
+                                    <property name="width_request">100</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <signal name="changed" handler="setting_widget_changed_cb"/>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="PictureDetelecineCustom">
+                                    <property name="width_chars">8</property>
+                                    <signal name="changed" handler="setting_widget_changed_cb"/>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+
+                                <child>
+                                  <object class="GtkLabel" id="label56">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Decomb:</property>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBox" id="PictureDecomb">
+                                    <property name="width_request">100</property>
+                                    <property name="visible">True</property>
+                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <signal name="changed" handler="setting_widget_changed_cb"/>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="PictureDecombCustom">
+                                    <property name="width_chars">8</property>
+                                    <signal name="changed" handler="setting_widget_changed_cb"/>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">4</property>
+                                    <property name="bottom_attach">5</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+
+                                <child>
+                                  <object class="GtkLabel" id="label31">
+                                    <property name="visible">True</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Deinterlace:</property>
-                                    <property name="width_chars">10</property>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">0</property>
+                                    <property name="top_attach">5</property>
+                                    <property name="bottom_attach">6</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -4706,45 +4744,38 @@ location as the movie.</property>
                                     <property name="visible">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                     <signal name="changed" handler="setting_widget_changed_cb"/>
-                                    <signal name="button_press_event" handler="tweak_setting_cb"/>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">1</property>
+                                    <property name="top_attach">5</property>
+                                    <property name="bottom_attach">6</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkComboBoxEntry" id="tweak_PictureDeinterlace">
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="PictureDeinterlaceCustom">
+                                    <property name="width_chars">8</property>
                                     <signal name="changed" handler="setting_widget_changed_cb"/>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">2</property>
+                                    <property name="top_attach">6</property>
+                                    <property name="bottom_attach">7</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="padding">2</property>
-                                <property name="position">4</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox23">
-                                <property name="visible">True</property>
-                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <child>
                                   <object class="GtkLabel" id="label32">
                                     <property name="visible">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Denoise:</property>
-                                    <property name="selectable">True</property>
-                                    <property name="width_chars">10</property>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">0</property>
+                                    <property name="top_attach">7</property>
+                                    <property name="bottom_attach">8</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -4753,27 +4784,36 @@ location as the movie.</property>
                                     <property name="visible">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                     <signal name="changed" handler="setting_widget_changed_cb"/>
-                                    <signal name="button_press_event" handler="tweak_setting_cb"/>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">1</property>
+                                    <property name="top_attach">7</property>
+                                    <property name="bottom_attach">8</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkComboBoxEntry" id="tweak_PictureDenoise">
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="PictureDenoiseCustom">
+                                    <property name="width_chars">8</property>
                                     <signal name="changed" handler="setting_widget_changed_cb"/>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">2</property>
+                                    <property name="top_attach">8</property>
+                                    <property name="bottom_attach">9</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
                               </object>
+                            </child>
+
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="padding">2</property>
-                                <property name="position">5</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
index bff3974..6f215e8 100644 (file)
@@ -90,12 +90,37 @@ combo_opts_t container_opts =
        d_container_opts
 };
 
+static options_map_t d_detel_opts[] =
+{
+       {"None",   "none",   0, ""},
+       {"Custom", "custom", 1, ""},
+       {"Default","default",2, NULL},
+};
+combo_opts_t detel_opts =
+{
+       sizeof(d_detel_opts)/sizeof(options_map_t),
+       d_detel_opts
+};
+
+static options_map_t d_decomb_opts[] =
+{
+       {"None",   "none",   0, ""},
+       {"Custom", "custom", 1, ""},
+       {"Default","default",2, NULL},
+};
+combo_opts_t decomb_opts =
+{
+       sizeof(d_decomb_opts)/sizeof(options_map_t),
+       d_decomb_opts
+};
+
 static options_map_t d_deint_opts[] =
 {
        {"None",   "none",   0, ""},
-       {"Fast",   "fast",   1, "-1:-1:-1:0:1"},
-       {"Slow",   "slow",   2, "2:-1:-1:0:1"},
-       {"Slower", "slower", 3, "0:-1:-1:0:1"},
+       {"Custom", "custom", 1, ""},
+       {"Fast",   "fast",   2, "-1:-1:-1:0:1"},
+       {"Slow",   "slow",   3, "2:-1:-1:0:1"},
+       {"Slower", "slower", 4, "0:-1:-1:0:1"},
 };
 combo_opts_t deint_opts =
 {
@@ -106,9 +131,10 @@ combo_opts_t deint_opts =
 static options_map_t d_denoise_opts[] =
 {
        {"None",   "none",   0, ""},
-       {"Weak",   "weak",   1, "2:1:2:3"},
-       {"Medium", "medium", 2, "3:2:2:3"},
-       {"Strong", "strong", 3, "7:7:5:5"},
+       {"Custom", "custom", 1, ""},
+       {"Weak",   "weak",   2, "2:1:2:3"},
+       {"Medium", "medium", 3, "3:2:2:3"},
+       {"Strong", "strong", 4, "7:7:5:5"},
 };
 combo_opts_t denoise_opts =
 {
@@ -242,9 +268,9 @@ combo_name_map_t combo_name_map[] =
        {"LoggingLevel", &logging_opts},
        {"FileFormat", &container_opts},
        {"PictureDeinterlace", &deint_opts},
-       {"tweak_PictureDeinterlace", &deint_opts},
+       {"PictureDecomb", &decomb_opts},
+       {"PictureDetelecine", &detel_opts},
        {"PictureDenoise", &denoise_opts},
-       {"tweak_PictureDenoise", &denoise_opts},
        {"VideoEncoder", &vcodec_opts},
        {"AudioEncoder", &acodec_opts},
        {"x264_direct", &direct_opts},
@@ -1882,9 +1908,9 @@ ghb_update_ui_combo_box(GtkBuilder *builder, const gchar *name, gint user_data,
                generic_opts_set(builder, "LoggingLevel", &logging_opts);
                generic_opts_set(builder, "FileFormat", &container_opts);
                generic_opts_set(builder, "PictureDeinterlace", &deint_opts);
-               generic_opts_set(builder, "tweak_PictureDeinterlace", &deint_opts);
+               generic_opts_set(builder, "PictureDetelecine", &detel_opts);
+               generic_opts_set(builder, "PictureDecomb", &decomb_opts);
                generic_opts_set(builder, "PictureDenoise", &denoise_opts);
-               generic_opts_set(builder, "tweak_PictureDenoise", &denoise_opts);
                generic_opts_set(builder, "VideoEncoder", &vcodec_opts);
                generic_opts_set(builder, "AudioEncoder", &acodec_opts);
                generic_opts_set(builder, "x264_direct", &direct_opts);
@@ -2656,7 +2682,7 @@ set_preview_job_settings(hb_job_t *job, GValue *settings)
        job->width = ghb_settings_get_int(settings, "scale_width");
        job->height = ghb_settings_get_int(settings, "scale_height");
        gint deint = ghb_settings_combo_int(settings, "PictureDeinterlace");
-       gboolean decomb = ghb_settings_get_boolean(settings, "PictureDecomb");
+       gint decomb = ghb_settings_combo_int(settings, "PictureDecomb");
        job->deinterlace = (!decomb && deint == 0) ? 0 : 1;
 }
 
@@ -2709,79 +2735,77 @@ ghb_validate_filter_string(const gchar *str, gint max_fields)
 gboolean
 ghb_validate_filters(signal_user_data_t *ud)
 {
-       gboolean tweaks;
        gchar *str;
        gint index;
        gchar *message;
-       gboolean enabled;
 
-       tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
-       if (tweaks)
+       // deinte 4
+       index = ghb_settings_combo_int(ud->settings, "PictureDeinterlace");
+       if (index == 1)
        {
-               // detele 6
-               str = ghb_settings_get_string(ud->settings, "tweak_PictureDetelecine");
-               enabled = ghb_settings_get_boolean(ud->settings, "PictureDetelecine");
-               if (enabled && !ghb_validate_filter_string(str, 6))
+               str = ghb_settings_get_string(ud->settings, "PictureDeinterlaceCustom");
+               if (!ghb_validate_filter_string(str, 4))
                {
                        message = g_strdup_printf(
-                                               "Invalid Detelecine Settings:\n\n%s\n",
+                                               "Invalid Deinterlace Settings:\n\n%s\n",
                                                str);
                        ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
-                       g_free(str);
                        g_free(message);
+                       g_free(str);
                        return FALSE;
                }
                g_free(str);
-               // decomb 7
-               str = ghb_settings_get_string(ud->settings, "tweak_PictureDecomb");
-               enabled = ghb_settings_get_boolean(ud->settings, "PictureDecomb");
-               if (enabled && !ghb_validate_filter_string(str, 7))
+       }
+       // detel
+       index = ghb_settings_combo_int(ud->settings, "PictureDetelecine");
+       if (index == 1)
+       {
+               str = ghb_settings_get_string(ud->settings, "PictureDetelecineCustom");
+               if (!ghb_validate_filter_string(str, 6))
                {
                        message = g_strdup_printf(
-                                               "Invalid Decomb Settings:\n\n%s\n",
+                                               "Invalid Detelecine Settings:\n\n%s\n",
                                                str);
                        ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
-                       g_free(str);
                        g_free(message);
+                       g_free(str);
                        return FALSE;
                }
                g_free(str);
-               // deinte 4
-               index = ghb_lookup_combo_int("tweak_PictureDeinterlace", 
-                       ghb_settings_get_value(ud->settings, "tweak_PictureDeinterlace"));
-               if (index < 0)
+       }
+       // decomb 4
+       index = ghb_settings_combo_int(ud->settings, "PictureDecomb");
+       if (index == 1)
+       {
+               str = ghb_settings_get_string(ud->settings, "PictureDecombCustom");
+               if (!ghb_validate_filter_string(str, 7))
                {
-                       str = ghb_settings_get_string(ud->settings, "tweak_PictureDeinterlace");
-                       if (!ghb_validate_filter_string(str, 4))
-                       {
-                               message = g_strdup_printf(
-                                                       "Invalid Deinterlace Settings:\n\n%s\n",
-                                                       str);
-                               ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
-                               g_free(message);
-                               g_free(str);
-                               return FALSE;
-                       }
+                       message = g_strdup_printf(
+                                               "Invalid Decomb Settings:\n\n%s\n",
+                                               str);
+                       ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
+                       g_free(message);
                        g_free(str);
+                       return FALSE;
                }
-               // denois 4
-               index = ghb_lookup_combo_int("tweak_PictureDenoise", 
-                               ghb_settings_get_value(ud->settings, "tweak_PictureDenoise"));
-               if (index < 0)
+               g_free(str);
+       }
+       // denois 4
+       index = ghb_settings_combo_int(ud->settings, "PictureDenoise");
+       if (index == 1)
+       {
+               str = ghb_settings_get_string(ud->settings, "PictureDenoiseCustom");
+               if (!ghb_validate_filter_string(str, 4))
                {
-                       str = ghb_settings_get_string(ud->settings, "tweak_PictureDenoise");
-                       if (!ghb_validate_filter_string(str, 4))
-                       {
-                               message = g_strdup_printf(
-                                                       "Invalid Denoise Settings:\n\n%s\n",
-                                                       str);
-                               ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
-                               g_free(str);
-                               g_free(message);
-                               return FALSE;
-                       }
+                       message = g_strdup_printf(
+                                               "Invalid Denoise Settings:\n\n%s\n",
+                                               str);
+                       ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
                        g_free(str);
+                       g_free(message);
+                       return FALSE;
                }
+               g_free(str);
        }
        return TRUE;
 }
@@ -3174,9 +3198,8 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
        job->crop[3] = ghb_settings_get_int(js, "PictureRightCrop");
 
        
-       gboolean decomb = ghb_settings_get_boolean(js, "PictureDecomb");
-       gint deint = ghb_settings_combo_int(js, 
-                                       tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+       gint decomb = ghb_settings_combo_int(js, "PictureDecomb");
+       gint deint = ghb_settings_combo_int(js, "PictureDeinterlace");
        if (!decomb)
                job->deinterlace = (deint != 0) ? 1 : 0;
        else
@@ -3200,45 +3223,45 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
        /* Add selected filters */
        job->filters = hb_list_init();
        gint vrate = ghb_settings_combo_int(js, "VideoFramerate");
-       if( vrate == 0 && ghb_settings_get_boolean(js, "PictureDetelecine" ) )
+       if( vrate == 0 && ghb_settings_combo_int(js, "PictureDetelecine" ) )
                job->vfr = 1;
        else
                job->vfr = 0;
 
-       if( ghb_settings_get_boolean(js, "PictureDetelecine" ) )
+       gint detel = ghb_settings_combo_int(js, "PictureDetelecine");
+       if ( detel )
        {
-               hb_filter_detelecine.settings = NULL;
-               if (tweaks)
+               if (detel != 1)
                {
-                       detel_str = ghb_settings_get_string(js, "tweak_PictureDetelecine");
-                       if (detel_str && detel_str[0])
-                       {
-                               hb_filter_detelecine.settings = detel_str;
-                       }
+                       if (detel_opts.map[detel].svalue != NULL)
+                               detel_str = g_strdup(detel_opts.map[detel].svalue);
                }
+               else
+                       detel_str = ghb_settings_get_string(js, "PictureDetelecineCustom");
+               hb_filter_detelecine.settings = detel_str;
                hb_list_add( job->filters, &hb_filter_detelecine );
        }
-       if( decomb )
+       if ( decomb )
        {
-               // Use default settings
-               hb_filter_decomb.settings = NULL;
-               if (tweaks)
+               if (decomb != 1)
                {
-                       decomb_str = ghb_settings_get_string(js, "tweak_PictureDecomb");
-                       if (decomb_str && decomb_str[0])
-                       {
-                               hb_filter_decomb.settings = (gchar*)decomb_str;
-                       }
+                       if (decomb_opts.map[decomb].svalue != NULL)
+                               decomb_str = g_strdup(decomb_opts.map[decomb].svalue);
                }
+               else
+                       decomb_str = ghb_settings_get_string(js, "PictureDecombCustom");
+               hb_filter_decomb.settings = decomb_str;
                hb_list_add( job->filters, &hb_filter_decomb );
        }
        if( job->deinterlace )
        {
-               if (deint > 0)
-                       deint_str = g_strdup(deint_opts.map[deint].svalue);
+               if (deint != 1)
+               {
+                       if (deint_opts.map[deint].svalue != NULL)
+                               deint_str = g_strdup(deint_opts.map[deint].svalue);
+               }
                else
-                       deint_str = ghb_settings_get_string(js, 
-                                       tweaks ? "tweak_PictureDeinterlace" : "PictureDeinterlace");
+                       deint_str = ghb_settings_get_string(js, "PictureDeinterlaceCustom");
                hb_filter_deinterlace.settings = deint_str;
                hb_list_add( job->filters, &hb_filter_deinterlace );
        }
@@ -3249,15 +3272,16 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
                hb_filter_deblock.settings = deblock_str;
                hb_list_add( job->filters, &hb_filter_deblock );
        }
-       gint denoise = ghb_settings_combo_int(js, 
-                                       tweaks ? "tweak_PictureDenoise" : "PictureDenoise");
-       if( denoise != 0 )
+       gint denoise = ghb_settings_combo_int(js, "PictureDenoise");
+       if( denoise )
        {
-               if (denoise > 0)
-                       denoise_str = g_strdup(denoise_opts.map[denoise].svalue);
+               if (denoise != 1)
+               {
+                       if (denoise_opts.map[denoise].svalue != NULL)
+                               denoise_str = g_strdup(denoise_opts.map[denoise].svalue);
+               }
                else
-                       denoise_str = (gchar*)ghb_settings_get_string(
-                               js, tweaks ? "tweak_PictureDenoise" : "PictureDenoise");
+                       denoise_str = ghb_settings_get_string(js, "PictureDenoiseCustom");
                hb_filter_denoise.settings = denoise_str;
                hb_list_add( job->filters, &hb_filter_denoise );
        }
index 98b1e5d..d1e5e54 100644 (file)
                <key>audio_list</key>
                <array>
                </array>
-               <key>tweak_PictureDecomb</key>
-               <string></string>
-               <key>tweak_PictureDetelecine</key>
-               <string></string>
                <key>vquality_type_bitrate</key>
                <false />
                <key>vquality_type_constant</key>
                <key>PictureDeblock</key>
                <integer>0</integer>
                <key>PictureDecomb</key>
-               <false />
+               <string>none</string>
+               <key>PictureDecombCustom</key>
+               <string></string>
                <key>Default</key>
                <false />
                <key>PictureBottomCrop</key>
                <integer>0</integer>
                <key>PictureDeinterlace</key>
                <string>none</string>
+               <key>PictureDeinterlaceCustom</key>
+               <string></string>
                <key>PictureDenoise</key>
                <string>none</string>
+               <key>PictureDenoiseCustom</key>
+               <string></string>
                <key>PictureDetelecine</key>
-               <true />
+               <string>none</string>
+               <key>PictureDetelecineCustom</key>
+               <string></string>
                <key>directqp</key>
                <false />
                <key>SubtitlesForced</key>
index 30b20dc..779e8c5 100644 (file)
@@ -494,7 +494,6 @@ main (int argc, char *argv[])
        GValue *preset;
        GError *error = NULL;
        GOptionContext *context;
-       GtkWidget *widget;
 
        mm_flags = mm_support();
 #ifdef ENABLE_NLS
@@ -578,17 +577,6 @@ main (int argc, char *argv[])
        {
                ghb_hbfd(ud, TRUE);
        }
-       gboolean tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
-       widget = GHB_WIDGET(ud->builder, "PictureDeinterlace");
-       tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-       widget = GHB_WIDGET(ud->builder, "tweak_PictureDeinterlace");
-       !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
-       widget = GHB_WIDGET(ud->builder, "PictureDenoise");
-       tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-       widget = GHB_WIDGET(ud->builder, "tweak_PictureDenoise");
-       !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
        gchar *source = ghb_settings_get_string(ud->settings, "default_source");
        ghb_dvd_set_current(source, ud);
        g_free(source);
index 3aa6fcf..87ab6ac 100644 (file)
@@ -11,61 +11,66 @@ typedef struct
        const gchar *dep_name;
        const gchar *enable_value;
        const gboolean disable_if_equal;
+       const gboolean hide;
 } dependency_t;
 
 static dependency_t dep_map[] =
 {
-       {"title", "queue_add", "none", TRUE},
-       {"title", "queue_add_menu", "none", TRUE},
-       {"title", "show_picture", "none", TRUE},
-       {"title", "show_preview_menu", "none", TRUE},
-       {"title", "preview_frame", "none", TRUE},
-       {"title", "picture_label", "none", TRUE},
-       {"title", "picture_tab", "none", TRUE},
-       {"title", "chapters_label", "none", TRUE},
-       {"title", "chapters_tab", "none", TRUE},
-       {"title", "title", "none", TRUE},
-       {"title", "start_chapter", "none", TRUE},
-       {"title", "end_chapter", "none", TRUE},
-       {"vquality_type_bitrate", "VideoAvgBitrate", "TRUE", FALSE},
-       {"vquality_type_target", "VideoTargetSize", "TRUE", FALSE},
-       {"vquality_type_constant", "VideoQualitySlider", "TRUE", FALSE},
-       {"vquality_type_constant", "constant_rate_factor", "TRUE", FALSE},
-       {"vquality_type_constant", "VideoTwoPass", "TRUE", TRUE},
-       {"vquality_type_constant", "VideoTurboTwoPass", "TRUE", TRUE},
-       {"VideoTwoPass", "VideoTurboTwoPass", "TRUE", FALSE},
-       {"FileFormat", "Mp4LargeFile", "mp4|m4v", FALSE},
-       {"FileFormat", "Mp4HttpOptimize", "mp4|m4v", FALSE},
-       {"FileFormat", "Mp4iPodCompatible", "mp4|m4v", FALSE},
-       {"PictureDecomb", "PictureDeinterlace", "TRUE", TRUE},
-       {"PictureDecomb", "tweak_PictureDeinterlace", "TRUE", TRUE},
-       {"PictureAutoCrop", "PictureTopCrop", "FALSE", FALSE},
-       {"PictureAutoCrop", "PictureBottomCrop", "FALSE", FALSE},
-       {"PictureAutoCrop", "PictureLeftCrop", "FALSE", FALSE},
-       {"PictureAutoCrop", "PictureRightCrop", "FALSE", FALSE},
-       {"autoscale", "scale_width", "FALSE", FALSE},
-       {"autoscale", "scale_height", "FALSE", FALSE},
-       {"anamorphic", "PictureKeepRatio", "FALSE", FALSE},
+       {"title", "queue_add", "none", TRUE, FALSE},
+       {"title", "queue_add_menu", "none", TRUE, FALSE},
+       {"title", "show_picture", "none", TRUE, FALSE},
+       {"title", "show_preview_menu", "none", TRUE, FALSE},
+       {"title", "preview_frame", "none", TRUE, FALSE},
+       {"title", "picture_label", "none", TRUE, FALSE},
+       {"title", "picture_tab", "none", TRUE, FALSE},
+       {"title", "chapters_label", "none", TRUE, FALSE},
+       {"title", "chapters_tab", "none", TRUE, FALSE},
+       {"title", "title", "none", TRUE, FALSE},
+       {"title", "start_chapter", "none", TRUE, FALSE},
+       {"title", "end_chapter", "none", TRUE, FALSE},
+       {"vquality_type_bitrate", "VideoAvgBitrate", "TRUE", FALSE, FALSE},
+       {"vquality_type_target", "VideoTargetSize", "TRUE", FALSE, FALSE},
+       {"vquality_type_constant", "VideoQualitySlider", "TRUE", FALSE, FALSE},
+       {"vquality_type_constant", "constant_rate_factor", "TRUE", FALSE, FALSE},
+       {"vquality_type_constant", "VideoTwoPass", "TRUE", TRUE, FALSE},
+       {"vquality_type_constant", "VideoTurboTwoPass", "TRUE", TRUE, FALSE},
+       {"VideoTwoPass", "VideoTurboTwoPass", "TRUE", FALSE, FALSE},
+       {"FileFormat", "Mp4LargeFile", "mp4|m4v", FALSE, TRUE},
+       {"FileFormat", "Mp4HttpOptimize", "mp4|m4v", FALSE, TRUE},
+       {"FileFormat", "Mp4iPodCompatible", "mp4|m4v", FALSE, TRUE},
+       {"PictureDecomb", "PictureDeinterlace", "none", FALSE, FALSE},
+       {"PictureDecomb", "PictureDeinterlaceCustom", "none", FALSE, TRUE},
+       {"PictureDeinterlace", "PictureDeinterlaceCustom", "custom", FALSE, TRUE},
+       {"PictureDenoise", "PictureDenoiseCustom", "custom", FALSE, TRUE},
+       {"PictureDecomb", "PictureDecombCustom", "custom", FALSE, TRUE},
+       {"PictureDetelecine", "PictureDetelecineCustom", "custom", FALSE, TRUE},
+       {"PictureAutoCrop", "PictureTopCrop", "FALSE", FALSE, FALSE},
+       {"PictureAutoCrop", "PictureBottomCrop", "FALSE", FALSE, FALSE},
+       {"PictureAutoCrop", "PictureLeftCrop", "FALSE", FALSE, FALSE},
+       {"PictureAutoCrop", "PictureRightCrop", "FALSE", FALSE, FALSE},
+       {"autoscale", "scale_width", "FALSE", FALSE, FALSE},
+       {"autoscale", "scale_height", "FALSE", FALSE, FALSE},
+       {"anamorphic", "PictureKeepRatio", "FALSE", FALSE, FALSE},
        // "CHECK" is a dummy value that forces scale_height deps to
        // be re-evaluated whenever anamorphic changes
-       {"anamorphic", "scale_height", "CHECK", TRUE},
-       {"PictureKeepRatio", "scale_height", "FALSE", FALSE},
-       {"VideoEncoder", "x264_tab", "x264", FALSE},
-       {"VideoEncoder", "x264_tab_label", "x264", FALSE},
-       {"VideoEncoder", "Mp4iPodCompatible", "x264", FALSE},
-       {"VideoEncoder", "directqp", "x264|ffmpeg", FALSE},
-       {"AudioEncoder", "AudioBitrate", "ac3|dts", TRUE},
-       {"AudioEncoder", "AudioSamplerate", "ac3|dts", TRUE},
-       {"AudioEncoder", "AudioMixdown", "ac3|dts", TRUE},
-       {"AudioEncoder", "AudioTrackDRCSlider", "ac3|dts", TRUE},
-       {"x264_bframes", "x264_weighted_bframes", "0", TRUE},
-       {"x264_bframes", "x264_bpyramid", "<2", TRUE},
-       {"x264_bframes", "x264_direct", "0", TRUE},
-       {"x264_refs", "x264_mixed_refs", "<2", TRUE},
-       {"x264_cabac", "x264_trellis", "TRUE", FALSE},
-       {"ChapterMarkers", "chapters_list", "TRUE", FALSE},
-       {"use_source_name", "chapters_in_destination", "TRUE", FALSE},
-       {"use_source_name", "title_no_in_destination", "TRUE", FALSE},
+       {"anamorphic", "scale_height", "CHECK", TRUE, FALSE},
+       {"PictureKeepRatio", "scale_height", "FALSE", FALSE, FALSE},
+       {"VideoEncoder", "x264_tab", "x264", FALSE, FALSE},
+       {"VideoEncoder", "x264_tab_label", "x264", FALSE, FALSE},
+       {"VideoEncoder", "Mp4iPodCompatible", "x264", FALSE, FALSE},
+       {"VideoEncoder", "directqp", "x264|ffmpeg", FALSE, FALSE},
+       {"AudioEncoder", "AudioBitrate", "ac3|dts", TRUE, FALSE},
+       {"AudioEncoder", "AudioSamplerate", "ac3|dts", TRUE, FALSE},
+       {"AudioEncoder", "AudioMixdown", "ac3|dts", TRUE, FALSE},
+       {"AudioEncoder", "AudioTrackDRCSlider", "ac3|dts", TRUE, FALSE},
+       {"x264_bframes", "x264_weighted_bframes", "0", TRUE, FALSE},
+       {"x264_bframes", "x264_bpyramid", "<2", TRUE, FALSE},
+       {"x264_bframes", "x264_direct", "0", TRUE, FALSE},
+       {"x264_refs", "x264_mixed_refs", "<2", TRUE, FALSE},
+       {"x264_cabac", "x264_trellis", "TRUE", FALSE, FALSE},
+       {"ChapterMarkers", "chapters_list", "TRUE", FALSE, FALSE},
+       {"use_source_name", "chapters_in_destination", "TRUE", FALSE, FALSE},
+       {"use_source_name", "title_no_in_destination", "TRUE", FALSE, FALSE},
 };
 
 int
@@ -122,6 +127,8 @@ main(gint argc, gchar *argv[])
                                        ghb_string_value(dep_map[jj].enable_value)));
                                ghb_array_append(data, ghb_value_dup(
                                        ghb_boolean_value(dep_map[jj].disable_if_equal)));
+                               ghb_array_append(data, ghb_value_dup(
+                                       ghb_boolean_value(dep_map[jj].hide)));
                                ghb_array_append(array, data);
                        }
                }
index cb9b0e2..05d6fdd 100644 (file)
@@ -525,6 +525,11 @@ gval_write(FILE *file, GValue *gval)
                gint val = g_value_get_int64(gval);
                indent_fprintf(file, indent, "<integer>%d</integer>\n", val);
        }
+       else if (gtype == G_TYPE_INT)
+       {
+               gint val = g_value_get_int(gval);
+               indent_fprintf(file, indent, "<integer>%d</integer>\n", val);
+       }
        else if (gtype == G_TYPE_STRING)
        {
                const gchar *str = g_value_get_string(gval);
index 50fd618..5cbab83 100644 (file)
@@ -861,21 +861,6 @@ preset_to_ui(signal_user_data_t *ud, GValue *dict)
        init_settings_from_dict(ud->settings, hidden, dict);
        init_ui_from_dict(ud, internal, dict);
        init_ui_from_dict(ud, hidden, dict);
-
-       if (ghb_settings_get_boolean(ud->settings, "allow_tweaks"))
-       {
-               const GValue *gval;
-               gval = preset_dict_get_value(dict, "PictureDeinterlace");
-               if (gval)
-               {
-                       ghb_ui_update(ud, "tweak_PictureDeinterlace", gval);
-               }
-               gval = preset_dict_get_value(dict, "PictureDenoise");
-               if (gval)
-               {
-                       ghb_ui_update(ud, "tweak_PictureDenoise", gval);
-               }
-       }
 }
 
 void
@@ -1721,18 +1706,36 @@ value_map_t mix_xlat[] =
 value_map_t deint_xlat[] =
 {
        {"0", "none"},
-       {"1", "fast"},
-       {"2", "slow"},
-       {"3", "slower"},
+       {"1", "custom"},
+       {"2", "fast"},
+       {"3", "slow"},
+       {"4", "slower"},
        {NULL, NULL}
 };
 
 value_map_t denoise_xlat[] =
 {
        {"0", "none"},
-       {"1", "weak"},
-       {"2", "medium"},
-       {"3", "strong"},
+       {"1", "custom"},
+       {"2", "weak"},
+       {"3", "medium"},
+       {"4", "strong"},
+       {NULL, NULL}
+};
+
+value_map_t detel_xlat[] =
+{
+       {"0", "none"},
+       {"1", "custom"},
+       {"2", "default"},
+       {NULL, NULL}
+};
+
+value_map_t decomb_xlat[] =
+{
+       {"0", "none"},
+       {"1", "custom"},
+       {"2", "default"},
        {NULL, NULL}
 };
 
@@ -1933,6 +1936,20 @@ export_value_xlat(GValue *dict)
        gval = export_value_xlat2(framerate_xlat, lin_val, G_TYPE_STRING);
        if (gval)
                ghb_dict_insert(dict, g_strdup(key), gval);
+       key = "PictureDetelecine";
+       lin_val = ghb_dict_lookup(dict, key);
+       gval = export_value_xlat2(detel_xlat, lin_val, G_TYPE_INT);
+       if (gval)
+               ghb_dict_insert(dict, g_strdup(key), gval);
+       else
+               ghb_dict_insert(dict, g_strdup(key), ghb_value_dup(lin_val));
+       key = "PictureDecomb";
+       lin_val = ghb_dict_lookup(dict, key);
+       gval = export_value_xlat2(decomb_xlat, lin_val, G_TYPE_INT);
+       if (gval)
+               ghb_dict_insert(dict, g_strdup(key), gval);
+       else
+               ghb_dict_insert(dict, g_strdup(key), ghb_value_dup(lin_val));
        key = "PictureDeinterlace";
        lin_val = ghb_dict_lookup(dict, key);
        gval = export_value_xlat2(deint_xlat, lin_val, G_TYPE_INT);
@@ -2055,6 +2072,16 @@ import_value_xlat(GValue *dict)
        gval = import_value_xlat2(defaults, framerate_xlat, key, mac_val);
        if (gval)
                ghb_dict_insert(dict, g_strdup(key), gval);
+       key = "PictureDetelecine";
+       mac_val = ghb_dict_lookup(dict, key);
+       gval = import_value_xlat2(defaults, detel_xlat, key, mac_val);
+       if (gval)
+               ghb_dict_insert(dict, g_strdup(key), gval);
+       key = "PictureDecomb";
+       mac_val = ghb_dict_lookup(dict, key);
+       gval = import_value_xlat2(defaults, decomb_xlat, key, mac_val);
+       if (gval)
+               ghb_dict_insert(dict, g_strdup(key), gval);
        key = "PictureDeinterlace";
        mac_val = ghb_dict_lookup(dict, key);
        gval = import_value_xlat2(defaults, deint_xlat, key, mac_val);
@@ -2464,22 +2491,6 @@ settings_save(signal_user_data_t *ud, const GValue *path)
                }
        }
        current_preset = dict;
-       if (ghb_settings_get_boolean(ud->settings, "allow_tweaks"))
-       {
-               gchar *str;
-               str = ghb_settings_get_string(ud->settings, "tweak_PictureDeinterlace");
-               if (str)
-               {
-                       ghb_settings_set_string(ud->settings, "PictureDeinterlace", str);
-                       g_free(str);
-               }
-               str = ghb_settings_get_string(ud->settings, "tweak_PictureDenoise");
-               if (str)
-               {
-                       ghb_settings_set_string(ud->settings, "PictureDenoise", str);
-                       g_free(str);
-               }
-       }
        autoscale = ghb_settings_get_boolean(ud->settings, "autoscale");
        ghb_settings_set_int64(ud->settings, "Type", PRESETS_CUSTOM);
 
index 9404ee3..05cae3b 100644 (file)
@@ -258,7 +258,7 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
        if (strcmp("source", fps) == 0)
        {
                g_free(fps);
-               if (ghb_settings_get_boolean(settings, "PictureDetelecine"))
+               if (ghb_settings_combo_int(settings, "PictureDetelecine"))
                        fps = g_strdup("Same As Source (vfr detelecine)");
                else
                        fps = g_strdup("Same As Source (variable)");
@@ -281,9 +281,9 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
        gboolean decomb;
        gboolean filters = FALSE;
 
-       decomb = ghb_settings_get_boolean(settings, "PictureDecomb");
+       decomb = ghb_settings_combo_int(settings, "PictureDecomb");
        g_string_append_printf(str, "<b>Filters:</b><small>");
-       if (ghb_settings_get_boolean(settings, "PictureDetelecine"))
+       if (ghb_settings_combo_int(settings, "PictureDetelecine"))
        {
                g_string_append_printf(str, " - Detelecine");
                filters = TRUE;
@@ -295,22 +295,20 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
        }
        else
        {
-               gint deint = ghb_settings_combo_int(settings, 
-                                       tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+               gint deint = ghb_settings_combo_int(settings, "PictureDeinterlace");
                if (deint)
                {
                        const gchar *opt = ghb_settings_combo_option(settings,
-                                       tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+                                                                                                       "PictureDeinterlace");
                        g_string_append_printf(str, " - Deinterlace: %s", opt);
                        filters = TRUE;
                }
        }
-       gint denoise = ghb_settings_combo_int(settings, 
-                               tweaks ? "tweak_PictureDenoise":"PictureDenoise");
+       gint denoise = ghb_settings_combo_int(settings, "PictureDenoise");
        if (denoise)
        {
                const gchar *opt = ghb_settings_combo_option(settings,
-                               tweaks ? "tweak_PictureDenoise":"PictureDenoise");
+                                                                                                       "PictureDenoise");
                g_string_append_printf(str, " - Denoise: %s", opt);
                filters = TRUE;
        }
index f119530..1417d01 100644 (file)
 "                                  &lt;packing&gt;\n"
 "                                    &lt;property name=&quot;x_options&q"
 "uot;&gt;GTK_FILL&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;y_options&q"
+"uot;&gt;GTK_FILL&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
 "                              &lt;/packing&gt;\n"
 "                            &lt;/child&gt;\n"
 "                            &lt;child&gt;\n"
-"                              &lt;object class=&quot;GtkCheckButton&quo"
-"t; id=&quot;PictureDetelecine&quot;&gt;\n"
-"                                &lt;property name=&quot;label&quot; tra"
-"nslatable=&quot;yes&quot;&gt;Detelecine&lt;/property&gt;\n"
-"                                &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;can_focus&quot;"
-"&gt;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;receives_defaul"
-"t&quot;&gt;False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
-"                                &lt;property name=&quot;draw_indicator&"
-"quot;&gt;True&lt;/property&gt;\n"
-"                                &lt;signal name=&quot;button_press_even"
-"t&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
-"                                &lt;signal name=&quot;toggled&quot; han"
-"dler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-"                              &lt;/object&gt;\n"
-"                              &lt;packing&gt;\n"
-"                                &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;position&quot;&"
-"gt;1&lt;/property&gt;\n"
-"                              &lt;/packing&gt;\n"
-"                            &lt;/child&gt;\n"
-"                            &lt;child&gt;\n"
-"                              &lt;object class=&quot;GtkCheckButton&quo"
-"t; id=&quot;PictureDecomb&quot;&gt;\n"
-"                                &lt;property name=&quot;label&quot; tra"
-"nslatable=&quot;yes&quot;&gt;De-Comb&lt;/property&gt;\n"
+"                              &lt;object class=&quot;GtkAlignment&quot;"
+" id=&quot;alignment2&quot;&gt;\n"
 "                                &lt;property name=&quot;visible&quot;&g"
 "t;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;can_focus&quot;"
-"&gt;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;receives_defaul"
-"t&quot;&gt;False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;active&quot;&gt"
-";True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;draw_indicator&"
-"quot;&gt;True&lt;/property&gt;\n"
-"                                &lt;signal name=&quot;button_press_even"
-"t&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
-"                                &lt;signal name=&quot;toggled&quot; han"
-"dler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-"                              &lt;/object&gt;\n"
-"                              &lt;packing&gt;\n"
-"                                &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;position&quot;&"
-"gt;2&lt;/property&gt;\n"
-"                              &lt;/packing&gt;\n"
-"                            &lt;/child&gt;\n"
+"                                &lt;property name=&quot;xalign&quot;&gt"
+";0&lt;/property&gt;\n"
+"                                &lt;property name=&quot;xscale&quot;&gt"
+";0&lt;/property&gt;\n"
+"\n"
 "                            &lt;child&gt;\n"
-"                              &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox21&quot;&gt;\n"
+"                              &lt;object class=&quot;GtkTable&quot; id="
+"&quot;table90&quot;&gt;\n"
 "                                &lt;property name=&quot;visible&quot;&g"
 "t;True&lt;/property&gt;\n"
+"                                &lt;property name=&quot;n_rows&quot;&gt"
+";2&lt;/property&gt;\n"
+"                                &lt;property name=&quot;n_columns&quot;"
+"&gt;2&lt;/property&gt;\n"
+"                                &lt;property name=&quot;column_spacing&"
+"quot;&gt;5&lt;/property&gt;\n"
+"\n"
 "                                &lt;child&gt;\n"
 "                                  &lt;object class=&quot;GtkLabel&quot;"
 " id=&quot;label56&quot;&gt;\n"
 ";&gt;0&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;label&quot;"
 " translatable=&quot;yes&quot;&gt;Deblock:&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkHScale&quot"
+"; id=&quot;PictureDeblock&quot;&gt;\n"
+"                                    &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;can_focus&q"
+"uot;&gt;True&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;adjustment&"
+"quot;&gt;adjustment20&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;digits&quot"
+";&gt;0&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;value_pos&q"
+"uot;&gt;right&lt;/property&gt;\n"
+"                                    &lt;signal name=&quot;value_changed"
+"&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+"                                    &lt;signal name=&quot;format_value&"
+"quot; handler=&quot;format_deblock_cb&quot;/&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
-"                                  &lt;object class=&quot;GtkAlignment&q"
-"uot; id=&quot;alignment14&quot;&gt;\n"
+"                                  &lt;object class=&quot;GtkLabel&quot;"
+" id=&quot;label56&quot;&gt;\n"
 "                                    &lt;property name=&quot;visible&quo"
 "t;&gt;True&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;xalign&quot"
 ";&gt;0&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;xscale&quot"
-";&gt;0.55000001192092896&lt;/property&gt;\n"
-"                                    &lt;child&gt;\n"
-"                                      &lt;object class=&quot;GtkHScale&"
-"quot; id=&quot;PictureDeblock&quot;&gt;\n"
-"                                        &lt;property name=&quot;visible"
-"&quot;&gt;True&lt;/property&gt;\n"
-"                                        &lt;property name=&quot;can_foc"
-"us&quot;&gt;True&lt;/property&gt;\n"
-"                                        &lt;property name=&quot;adjustm"
-"ent&quot;&gt;adjustment20&lt;/property&gt;\n"
-"                                        &lt;property name=&quot;digits&"
-"quot;&gt;0&lt;/property&gt;\n"
-"                                        &lt;property name=&quot;value_p"
-"os&quot;&gt;right&lt;/property&gt;\n"
-"                                        &lt;signal name=&quot;value_cha"
-"nged&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-"                                        &lt;signal name=&quot;format_va"
-"lue&quot; handler=&quot;format_deblock_cb&quot;/&gt;\n"
-"                                      &lt;/object&gt;\n"
-"                                    &lt;/child&gt;\n"
+"                                    &lt;property name=&quot;label&quot;"
+" translatable=&quot;yes&quot;&gt;Detelecine:&lt;/property&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;2&lt;/property&gt;\n"
+"                                  &lt;/packing&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkComboBox&qu"
+"ot; id=&quot;PictureDetelecine&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_reque"
+"st&quot;&gt;100&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;events&quot"
+";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
+"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+"                                    &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                  &lt;packing&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;2&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
-"                              &lt;/object&gt;\n"
-"                              &lt;packing&gt;\n"
-"                                &lt;property name=&quot;position&quot;&"
-"gt;3&lt;/property&gt;\n"
-"                              &lt;/packing&gt;\n"
-"                            &lt;/child&gt;\n"
-"                            &lt;child&gt;\n"
-"                              &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox22&quot;&gt;\n"
-"                                &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;placeholder/&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDetelecineCustom&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
+"                                    &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                  &lt;packing&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;2&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;3&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+"                                  &lt;/packing&gt;\n"
+"                                &lt;/child&gt;\n"
+"\n"
 "                                &lt;child&gt;\n"
 "                                  &lt;object class=&quot;GtkLabel&quot;"
-" id=&quot;label31&quot;&gt;\n"
+" id=&quot;label56&quot;&gt;\n"
+"                                    &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;xalign&quot"
+";&gt;0&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;label&quot;"
+" translatable=&quot;yes&quot;&gt;Decomb:&lt;/property&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                  &lt;packing&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;3&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;4&lt;/property&gt;\n"
+"                                  &lt;/packing&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkComboBox&qu"
+"ot; id=&quot;PictureDecomb&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_reque"
+"st&quot;&gt;100&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;visible&quo"
 "t;&gt;True&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;can_focus&q"
-"uot;&gt;True&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;events&quot"
 ";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
 "N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+"                                    &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                  &lt;packing&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;3&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;4&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+"                                  &lt;/packing&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;placeholder/&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDecombCustom&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
+"                                    &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+"                                  &lt;/object&gt;\n"
+"                                  &lt;packing&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;4&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;5&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+"                                  &lt;/packing&gt;\n"
+"                                &lt;/child&gt;\n"
+"\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkLabel&quot;"
+" id=&quot;label31&quot;&gt;\n"
+"                                    &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;xalign&quot"
 ";&gt;0&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;label&quot;"
 " translatable=&quot;yes&quot;&gt;Deinterlace:&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;5&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;6&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
 "N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
 "                                    &lt;signal name=&quot;changed&quot;"
 " handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-"                                    &lt;signal name=&quot;button_press_"
-"event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;5&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;6&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
-"                                  &lt;object class=&quot;GtkComboBoxEnt"
-"ry&quot; id=&quot;tweak_PictureDeinterlace&quot;&gt;\n"
+"                                  &lt;placeholder/&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDeinterlaceCustom&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
 "                                    &lt;signal name=&quot;changed&quot;"
 " handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;2&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;6&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;7&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
-"                              &lt;/object&gt;\n"
-"                              &lt;packing&gt;\n"
-"                                &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;padding&quot;&g"
-"t;2&lt;/property&gt;\n"
-"                                &lt;property name=&quot;position&quot;&"
-"gt;4&lt;/property&gt;\n"
-"                              &lt;/packing&gt;\n"
-"                            &lt;/child&gt;\n"
-"                            &lt;child&gt;\n"
-"                              &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox23&quot;&gt;\n"
-"                                &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-"                                &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
 "                                &lt;child&gt;\n"
 "                                  &lt;object class=&quot;GtkLabel&quot;"
 " id=&quot;label32&quot;&gt;\n"
 "                                    &lt;property name=&quot;visible&quo"
 "t;&gt;True&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;events&quot"
-";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
-"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;xalign&quot"
 ";&gt;0&lt;/property&gt;\n"
 "                                    &lt;property name=&quot;label&quot;"
 " translatable=&quot;yes&quot;&gt;Denoise:&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;selectable&"
-"quot;&gt;True&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;7&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;8&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
 "N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
 "                                    &lt;signal name=&quot;changed&quot;"
 " handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-"                                    &lt;signal name=&quot;button_press_"
-"event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;7&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;8&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                                &lt;child&gt;\n"
-"                                  &lt;object class=&quot;GtkComboBoxEnt"
-"ry&quot; id=&quot;tweak_PictureDenoise&quot;&gt;\n"
+"                                  &lt;placeholder/&gt;\n"
+"                                &lt;/child&gt;\n"
+"                                &lt;child&gt;\n"
+"                                  &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDenoiseCustom&quot;&gt;\n"
+"                                    &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
 "                                    &lt;signal name=&quot;changed&quot;"
 " handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
 "                                  &lt;/object&gt;\n"
 "                                  &lt;packing&gt;\n"
-"                                    &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-"                                    &lt;property name=&quot;position&qu"
-"ot;&gt;2&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;top_attach&"
+"quot;&gt;8&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;9&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+"                                    &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
 "                                  &lt;/packing&gt;\n"
 "                                &lt;/child&gt;\n"
 "                              &lt;/object&gt;\n"
+"                            &lt;/child&gt;\n"
+"\n"
+"                              &lt;/object&gt;\n"
 "                              &lt;packing&gt;\n"
 "                                &lt;property name=&quot;expand&quot;&gt"
 ";False&lt;/property&gt;\n"
-"                                &lt;property name=&quot;padding&quot;&g"
-"t;2&lt;/property&gt;\n"
 "                                &lt;property name=&quot;position&quot;&"
-"gt;5&lt;/property&gt;\n"
+"gt;1&lt;/property&gt;\n"
 "                              &lt;/packing&gt;\n"
 "                            &lt;/child&gt;\n"
 "                          &lt;/object&gt;\n"
 "                      <integer>-1</integer>\n"
 "                      <key>title</key>\n"
 "                      <string>none</string>\n"
-"                      <key>tweak_PictureDecomb</key>\n"
-"                      <string></string>\n"
-"                      <key>tweak_PictureDetelecine</key>\n"
-"                      <string></string>\n"
 "                      <key>volume_label</key>\n"
 "                      <string>New Video</string>\n"
 "                      <key>vquality_type_bitrate</key>\n"
 "                      <key>PictureDeblock</key>\n"
 "                      <integer>0</integer>\n"
 "                      <key>PictureDecomb</key>\n"
-"                      <false />\n"
+"                      <string>none</string>\n"
+"                      <key>PictureDecombCustom</key>\n"
+"                      <string></string>\n"
 "                      <key>PictureDeinterlace</key>\n"
 "                      <string>none</string>\n"
+"                      <key>PictureDeinterlaceCustom</key>\n"
+"                      <string></string>\n"
 "                      <key>PictureDenoise</key>\n"
 "                      <string>none</string>\n"
+"                      <key>PictureDenoiseCustom</key>\n"
+"                      <string></string>\n"
 "                      <key>PictureDetelecine</key>\n"
-"                      <true />\n"
+"                      <string>none</string>\n"
+"                      <key>PictureDetelecineCustom</key>\n"
+"                      <string></string>\n"
 "                      <key>PictureHeight</key>\n"
 "                      <integer>0</integer>\n"
 "                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                                      <key>PictureDenoise</key>\n"
 "                                                      <string>0</string>\n"
 "                                                      <key>PictureDetelecine</key>\n"
-"                                                      <false />\n"
+"                                                      <string>0</string>\n"
 "                                                      <key>PictureHeight</key>\n"
 "                                                      <integer>0</integer>\n"
 "                                                      <key>PictureKeepRatio</key>\n"
 "                                                      <key>PictureDenoise</key>\n"
 "                                                      <string>0</string>\n"
 "                                                      <key>PictureDetelecine</key>\n"
-"                                                      <false />\n"
+"                                                      <string>0</string>\n"
 "                                                      <key>PictureHeight</key>\n"
 "                                                      <integer>0</integer>\n"
 "                                                      <key>PictureKeepRatio</key>\n"
 "                                                      <key>PictureDenoise</key>\n"
 "                                                      <string>0</string>\n"
 "                                                      <key>PictureDetelecine</key>\n"
-"                                                      <false />\n"
+"                                                      <string>0</string>\n"
 "                                                      <key>PictureHeight</key>\n"
 "                                                      <integer>0</integer>\n"
 "                                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDeblock</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureDecomb</key>\n"
-"                                      <true />\n"
+"                                      <string>2</string>\n"
 "                                      <key>PictureDeinterlace</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <true />\n"
+"                                      <string>2</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDeblock</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureDecomb</key>\n"
-"                                      <true />\n"
+"                                      <string>2</string>\n"
 "                                      <key>PictureDeinterlace</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <true />\n"
+"                                      <string>2</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>208</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "                                      <key>PictureDenoise</key>\n"
 "                                      <string>0</string>\n"
 "                                      <key>PictureDetelecine</key>\n"
-"                                      <false />\n"
+"                                      <string>0</string>\n"
 "                                      <key>PictureHeight</key>\n"
 "                                      <integer>0</integer>\n"
 "                                      <key>PictureKeepRatio</key>\n"
 "              <key>PictureDecomb</key>\n"
 "              <array>\n"
 "                      <string>PictureDeinterlace</string>\n"
-"                      <string>tweak_PictureDeinterlace</string>\n"
+"                      <string>PictureDeinterlaceCustom</string>\n"
+"                      <string>PictureDecombCustom</string>\n"
+"              </array>\n"
+"              <key>PictureDeinterlace</key>\n"
+"              <array>\n"
+"                      <string>PictureDeinterlaceCustom</string>\n"
+"              </array>\n"
+"              <key>PictureDenoise</key>\n"
+"              <array>\n"
+"                      <string>PictureDenoiseCustom</string>\n"
+"              </array>\n"
+"              <key>PictureDetelecine</key>\n"
+"              <array>\n"
+"                      <string>PictureDetelecineCustom</string>\n"
 "              </array>\n"
 "              <key>PictureKeepRatio</key>\n"
 "              <array>\n"
 "                              <string>AudioEncoder</string>\n"
 "                              <string>ac3|dts</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>AudioMixdown</key>\n"
 "                              <string>AudioEncoder</string>\n"
 "                              <string>ac3|dts</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>AudioSamplerate</key>\n"
 "                              <string>AudioEncoder</string>\n"
 "                              <string>ac3|dts</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>AudioTrackDRCSlider</key>\n"
 "                              <string>AudioEncoder</string>\n"
 "                              <string>ac3|dts</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>Mp4HttpOptimize</key>\n"
 "                              <string>FileFormat</string>\n"
 "                              <string>mp4|m4v</string>\n"
 "                              <false />\n"
+"                              <true />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>Mp4LargeFile</key>\n"
 "                              <string>FileFormat</string>\n"
 "                              <string>mp4|m4v</string>\n"
 "                              <false />\n"
+"                              <true />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>Mp4iPodCompatible</key>\n"
 "                              <string>FileFormat</string>\n"
 "                              <string>mp4|m4v</string>\n"
 "                              <false />\n"
+"                              <true />\n"
 "                      </array>\n"
 "                      <array>\n"
 "                              <string>VideoEncoder</string>\n"
 "                              <string>x264</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>PictureBottomCrop</key>\n"
 "                              <string>PictureAutoCrop</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
+"                      </array>\n"
+"              </array>\n"
+"              <key>PictureDecombCustom</key>\n"
+"              <array>\n"
+"                      <array>\n"
+"                              <string>PictureDecomb</string>\n"
+"                              <string>custom</string>\n"
+"                              <false />\n"
+"                              <true />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>PictureDeinterlace</key>\n"
 "              <array>\n"
 "                      <array>\n"
 "                              <string>PictureDecomb</string>\n"
-"                              <string>TRUE</string>\n"
+"                              <string>none</string>\n"
+"                              <false />\n"
+"                              <false />\n"
+"                      </array>\n"
+"              </array>\n"
+"              <key>PictureDeinterlaceCustom</key>\n"
+"              <array>\n"
+"                      <array>\n"
+"                              <string>PictureDecomb</string>\n"
+"                              <string>none</string>\n"
+"                              <false />\n"
+"                              <true />\n"
+"                      </array>\n"
+"                      <array>\n"
+"                              <string>PictureDeinterlace</string>\n"
+"                              <string>custom</string>\n"
+"                              <false />\n"
+"                              <true />\n"
+"                      </array>\n"
+"              </array>\n"
+"              <key>PictureDenoiseCustom</key>\n"
+"              <array>\n"
+"                      <array>\n"
+"                              <string>PictureDenoise</string>\n"
+"                              <string>custom</string>\n"
+"                              <false />\n"
+"                              <true />\n"
+"                      </array>\n"
+"              </array>\n"
+"              <key>PictureDetelecineCustom</key>\n"
+"              <array>\n"
+"                      <array>\n"
+"                              <string>PictureDetelecine</string>\n"
+"                              <string>custom</string>\n"
+"                              <false />\n"
 "                              <true />\n"
 "                      </array>\n"
 "              </array>\n"
 "                              <string>anamorphic</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>PictureLeftCrop</key>\n"
 "                              <string>PictureAutoCrop</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>PictureRightCrop</key>\n"
 "                              <string>PictureAutoCrop</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>PictureTopCrop</key>\n"
 "                              <string>PictureAutoCrop</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>VideoAvgBitrate</key>\n"
 "                              <string>vquality_type_bitrate</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>VideoQualitySlider</key>\n"
 "                              <string>vquality_type_constant</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>VideoTargetSize</key>\n"
 "                              <string>vquality_type_target</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>VideoTurboTwoPass</key>\n"
 "                              <string>vquality_type_constant</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "                      <array>\n"
 "                              <string>VideoTwoPass</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>VideoTwoPass</key>\n"
 "                              <string>vquality_type_constant</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>chapters_in_destination</key>\n"
 "                              <string>use_source_name</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>chapters_label</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>chapters_list</key>\n"
 "                              <string>ChapterMarkers</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>chapters_tab</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>constant_rate_factor</key>\n"
 "                              <string>vquality_type_constant</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>directqp</key>\n"
 "                              <string>VideoEncoder</string>\n"
 "                              <string>x264|ffmpeg</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>end_chapter</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>picture_label</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>picture_tab</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>preview_frame</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>queue_add</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>queue_add_menu</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>scale_height</key>\n"
 "                              <string>autoscale</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "                      <array>\n"
 "                              <string>anamorphic</string>\n"
 "                              <string>CHECK</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "                      <array>\n"
 "                              <string>PictureKeepRatio</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>scale_width</key>\n"
 "                              <string>autoscale</string>\n"
 "                              <string>FALSE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>show_picture</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>show_preview_menu</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>start_chapter</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>title</key>\n"
 "                              <string>title</string>\n"
 "                              <string>none</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>title_no_in_destination</key>\n"
 "                              <string>use_source_name</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
-"                      </array>\n"
-"              </array>\n"
-"              <key>tweak_PictureDeinterlace</key>\n"
-"              <array>\n"
-"                      <array>\n"
-"                              <string>PictureDecomb</string>\n"
-"                              <string>TRUE</string>\n"
-"                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_bpyramid</key>\n"
 "                              <string>x264_bframes</string>\n"
 "                              <string>&lt;2</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_direct</key>\n"
 "                              <string>x264_bframes</string>\n"
 "                              <string>0</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_mixed_refs</key>\n"
 "                              <string>x264_refs</string>\n"
 "                              <string>&lt;2</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_tab</key>\n"
 "                              <string>VideoEncoder</string>\n"
 "                              <string>x264</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_tab_label</key>\n"
 "                              <string>VideoEncoder</string>\n"
 "                              <string>x264</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_trellis</key>\n"
 "                              <string>x264_cabac</string>\n"
 "                              <string>TRUE</string>\n"
 "                              <false />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "              <key>x264_weighted_bframes</key>\n"
 "                              <string>x264_bframes</string>\n"
 "                              <string>0</string>\n"
 "                              <true />\n"
+"                              <false />\n"
 "                      </array>\n"
 "              </array>\n"
 "      </dict>\n"
index 0a7b4bd..7cb6792 100644 (file)
                                   &lt;/object&gt;
                                   &lt;packing&gt;
                                     &lt;property name=&quot;x_options&quot;&gt;GTK_FILL&lt;/property&gt;
+                                    &lt;property name=&quot;y_options&quot;&gt;GTK_FILL&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
@@ -4615,94 +4616,131 @@ location as the movie.&lt;/property&gt;
                               &lt;/packing&gt;
                             &lt;/child&gt;
                             &lt;child&gt;
-                              &lt;object class=&quot;GtkCheckButton&quot; id=&quot;PictureDetelecine&quot;&gt;
-                                &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Detelecine&lt;/property&gt;
+                              &lt;object class=&quot;GtkAlignment&quot; id=&quot;alignment2&quot;&gt;
                                 &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;receives_default&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
-                                &lt;property name=&quot;draw_indicator&quot;&gt;True&lt;/property&gt;
-                                &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
-                                &lt;signal name=&quot;toggled&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
-                              &lt;/object&gt;
-                              &lt;packing&gt;
-                                &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
-                              &lt;/packing&gt;
-                            &lt;/child&gt;
-                            &lt;child&gt;
-                              &lt;object class=&quot;GtkCheckButton&quot; id=&quot;PictureDecomb&quot;&gt;
-                                &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;De-Comb&lt;/property&gt;
-                                &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;receives_default&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;active&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;draw_indicator&quot;&gt;True&lt;/property&gt;
-                                &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
-                                &lt;signal name=&quot;toggled&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
-                              &lt;/object&gt;
-                              &lt;packing&gt;
-                                &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
-                              &lt;/packing&gt;
-                            &lt;/child&gt;
+                                &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
+                                &lt;property name=&quot;xscale&quot;&gt;0&lt;/property&gt;
+
                             &lt;child&gt;
-                              &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox21&quot;&gt;
+                              &lt;object class=&quot;GtkTable&quot; id=&quot;table90&quot;&gt;
                                 &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+                                &lt;property name=&quot;n_rows&quot;&gt;2&lt;/property&gt;
+                                &lt;property name=&quot;n_columns&quot;&gt;2&lt;/property&gt;
+                                &lt;property name=&quot;column_spacing&quot;&gt;5&lt;/property&gt;
+
                                 &lt;child&gt;
                                   &lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
                                     &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Deblock:&lt;/property&gt;
-                                    &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
+                                  &lt;/object&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkHScale&quot; id=&quot;PictureDeblock&quot;&gt;
+                                    &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+                                    &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
+                                    &lt;property name=&quot;adjustment&quot;&gt;adjustment20&lt;/property&gt;
+                                    &lt;property name=&quot;digits&quot;&gt;0&lt;/property&gt;
+                                    &lt;property name=&quot;value_pos&quot;&gt;right&lt;/property&gt;
+                                    &lt;signal name=&quot;value_changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+                                    &lt;signal name=&quot;format_value&quot; handler=&quot;format_deblock_cb&quot;/&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
-                                  &lt;object class=&quot;GtkAlignment&quot; id=&quot;alignment14&quot;&gt;
+                                  &lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
-                                    &lt;property name=&quot;xscale&quot;&gt;0.55000001192092896&lt;/property&gt;
-                                    &lt;child&gt;
-                                      &lt;object class=&quot;GtkHScale&quot; id=&quot;PictureDeblock&quot;&gt;
-                                        &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                        &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
-                                        &lt;property name=&quot;adjustment&quot;&gt;adjustment20&lt;/property&gt;
-                                        &lt;property name=&quot;digits&quot;&gt;0&lt;/property&gt;
-                                        &lt;property name=&quot;value_pos&quot;&gt;right&lt;/property&gt;
-                                        &lt;signal name=&quot;value_changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
-                                        &lt;signal name=&quot;format_value&quot; handler=&quot;format_deblock_cb&quot;/&gt;
-                                      &lt;/object&gt;
-                                    &lt;/child&gt;
+                                    &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Detelecine:&lt;/property&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
-                              &lt;/object&gt;
-                              &lt;packing&gt;
-                                &lt;property name=&quot;position&quot;&gt;3&lt;/property&gt;
-                              &lt;/packing&gt;
-                            &lt;/child&gt;
-                            &lt;child&gt;
-                              &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox22&quot;&gt;
-                                &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
                                 &lt;child&gt;
-                                  &lt;object class=&quot;GtkLabel&quot; id=&quot;label31&quot;&gt;
+                                  &lt;object class=&quot;GtkComboBox&quot; id=&quot;PictureDetelecine&quot;&gt;
+                                    &lt;property name=&quot;width_request&quot;&gt;100&lt;/property&gt;
+                                    &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+                                    &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
+                                    &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+                                  &lt;/object&gt;
+                                  &lt;packing&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;2&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+                                  &lt;/packing&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;placeholder/&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDetelecineCustom&quot;&gt;
+                                    &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
+                                    &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+                                  &lt;/object&gt;
+                                  &lt;packing&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;2&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;3&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+                                  &lt;/packing&gt;
+                                &lt;/child&gt;
+
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
+                                    &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+                                    &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
+                                    &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Decomb:&lt;/property&gt;
+                                  &lt;/object&gt;
+                                  &lt;packing&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;3&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;4&lt;/property&gt;
+                                  &lt;/packing&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkComboBox&quot; id=&quot;PictureDecomb&quot;&gt;
+                                    &lt;property name=&quot;width_request&quot;&gt;100&lt;/property&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                    &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
+                                    &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+                                  &lt;/object&gt;
+                                  &lt;packing&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;3&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;4&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+                                  &lt;/packing&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;placeholder/&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDecombCustom&quot;&gt;
+                                    &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
+                                    &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+                                  &lt;/object&gt;
+                                  &lt;packing&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;4&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;5&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+                                  &lt;/packing&gt;
+                                &lt;/child&gt;
+
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkLabel&quot; id=&quot;label31&quot;&gt;
+                                    &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
                                     &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Deinterlace:&lt;/property&gt;
-                                    &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;5&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;6&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
@@ -4711,45 +4749,38 @@ location as the movie.&lt;/property&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
                                     &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
-                                    &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;5&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;6&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
-                                  &lt;object class=&quot;GtkComboBoxEntry&quot; id=&quot;tweak_PictureDeinterlace&quot;&gt;
+                                  &lt;placeholder/&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDeinterlaceCustom&quot;&gt;
+                                    &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
                                     &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;6&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;7&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
-                              &lt;/object&gt;
-                              &lt;packing&gt;
-                                &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;padding&quot;&gt;2&lt;/property&gt;
-                                &lt;property name=&quot;position&quot;&gt;4&lt;/property&gt;
-                              &lt;/packing&gt;
-                            &lt;/child&gt;
-                            &lt;child&gt;
-                              &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox23&quot;&gt;
-                                &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
                                 &lt;child&gt;
                                   &lt;object class=&quot;GtkLabel&quot; id=&quot;label32&quot;&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
-                                    &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
                                     &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
                                     &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Denoise:&lt;/property&gt;
-                                    &lt;property name=&quot;selectable&quot;&gt;True&lt;/property&gt;
-                                    &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;7&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;8&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
@@ -4758,27 +4789,36 @@ location as the movie.&lt;/property&gt;
                                     &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
                                     &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
                                     &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
-                                    &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;7&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;8&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                                 &lt;child&gt;
-                                  &lt;object class=&quot;GtkComboBoxEntry&quot; id=&quot;tweak_PictureDenoise&quot;&gt;
+                                  &lt;placeholder/&gt;
+                                &lt;/child&gt;
+                                &lt;child&gt;
+                                  &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDenoiseCustom&quot;&gt;
+                                    &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
                                     &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
                                   &lt;/object&gt;
                                   &lt;packing&gt;
-                                    &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                    &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
+                                    &lt;property name=&quot;top_attach&quot;&gt;8&lt;/property&gt;
+                                    &lt;property name=&quot;bottom_attach&quot;&gt;9&lt;/property&gt;
+                                    &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+                                    &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
                                   &lt;/packing&gt;
                                 &lt;/child&gt;
                               &lt;/object&gt;
+                            &lt;/child&gt;
+
+                              &lt;/object&gt;
                               &lt;packing&gt;
                                 &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
-                                &lt;property name=&quot;padding&quot;&gt;2&lt;/property&gt;
-                                &lt;property name=&quot;position&quot;&gt;5&lt;/property&gt;
+                                &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
                               &lt;/packing&gt;
                             &lt;/child&gt;
                           &lt;/object&gt;
@@ -5358,10 +5398,6 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                        <integer>-1</integer>
                        <key>title</key>
                        <string>none</string>
-                       <key>tweak_PictureDecomb</key>
-                       <string></string>
-                       <key>tweak_PictureDetelecine</key>
-                       <string></string>
                        <key>volume_label</key>
                        <string>New Video</string>
                        <key>vquality_type_bitrate</key>
@@ -5488,13 +5524,21 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                        <key>PictureDeblock</key>
                        <integer>0</integer>
                        <key>PictureDecomb</key>
-                       <false />
+                       <string>none</string>
+                       <key>PictureDecombCustom</key>
+                       <string></string>
                        <key>PictureDeinterlace</key>
                        <string>none</string>
+                       <key>PictureDeinterlaceCustom</key>
+                       <string></string>
                        <key>PictureDenoise</key>
                        <string>none</string>
+                       <key>PictureDenoiseCustom</key>
+                       <string></string>
                        <key>PictureDetelecine</key>
-                       <true />
+                       <string>none</string>
+                       <key>PictureDetelecineCustom</key>
+                       <string></string>
                        <key>PictureHeight</key>
                        <integer>0</integer>
                        <key>PictureKeepRatio</key>
@@ -5628,7 +5672,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -5713,7 +5757,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -5800,7 +5844,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -5905,7 +5949,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -5988,7 +6032,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6094,7 +6138,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                                        <key>PictureDenoise</key>
                                                        <string>0</string>
                                                        <key>PictureDetelecine</key>
-                                                       <false />
+                                                       <string>0</string>
                                                        <key>PictureHeight</key>
                                                        <integer>0</integer>
                                                        <key>PictureKeepRatio</key>
@@ -6181,7 +6225,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                                        <key>PictureDenoise</key>
                                                        <string>0</string>
                                                        <key>PictureDetelecine</key>
-                                                       <false />
+                                                       <string>0</string>
                                                        <key>PictureHeight</key>
                                                        <integer>0</integer>
                                                        <key>PictureKeepRatio</key>
@@ -6268,7 +6312,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                                        <key>PictureDenoise</key>
                                                        <string>0</string>
                                                        <key>PictureDetelecine</key>
-                                                       <false />
+                                                       <string>0</string>
                                                        <key>PictureHeight</key>
                                                        <integer>0</integer>
                                                        <key>PictureKeepRatio</key>
@@ -6372,7 +6416,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6459,7 +6503,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6551,13 +6595,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDeblock</key>
                                        <integer>0</integer>
                                        <key>PictureDecomb</key>
-                                       <true />
+                                       <string>2</string>
                                        <key>PictureDeinterlace</key>
                                        <string>0</string>
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <true />
+                                       <string>2</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6644,7 +6688,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6731,7 +6775,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6814,13 +6858,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDeblock</key>
                                        <integer>0</integer>
                                        <key>PictureDecomb</key>
-                                       <true />
+                                       <string>2</string>
                                        <key>PictureDeinterlace</key>
                                        <string>0</string>
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <true />
+                                       <string>2</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -6918,7 +6962,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>208</integer>
                                        <key>PictureKeepRatio</key>
@@ -7003,7 +7047,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -7086,7 +7130,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                        <key>PictureDenoise</key>
                                        <string>0</string>
                                        <key>PictureDetelecine</key>
-                                       <false />
+                                       <string>0</string>
                                        <key>PictureHeight</key>
                                        <integer>0</integer>
                                        <key>PictureKeepRatio</key>
@@ -7172,7 +7216,20 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                <key>PictureDecomb</key>
                <array>
                        <string>PictureDeinterlace</string>
-                       <string>tweak_PictureDeinterlace</string>
+                       <string>PictureDeinterlaceCustom</string>
+                       <string>PictureDecombCustom</string>
+               </array>
+               <key>PictureDeinterlace</key>
+               <array>
+                       <string>PictureDeinterlaceCustom</string>
+               </array>
+               <key>PictureDenoise</key>
+               <array>
+                       <string>PictureDenoiseCustom</string>
+               </array>
+               <key>PictureDetelecine</key>
+               <array>
+                       <string>PictureDetelecineCustom</string>
                </array>
                <key>PictureKeepRatio</key>
                <array>
@@ -7257,6 +7314,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>AudioEncoder</string>
                                <string>ac3|dts</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>AudioMixdown</key>
@@ -7265,6 +7323,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>AudioEncoder</string>
                                <string>ac3|dts</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>AudioSamplerate</key>
@@ -7273,6 +7332,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>AudioEncoder</string>
                                <string>ac3|dts</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>AudioTrackDRCSlider</key>
@@ -7281,6 +7341,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>AudioEncoder</string>
                                <string>ac3|dts</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>Mp4HttpOptimize</key>
@@ -7289,6 +7350,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>FileFormat</string>
                                <string>mp4|m4v</string>
                                <false />
+                               <true />
                        </array>
                </array>
                <key>Mp4LargeFile</key>
@@ -7297,6 +7359,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>FileFormat</string>
                                <string>mp4|m4v</string>
                                <false />
+                               <true />
                        </array>
                </array>
                <key>Mp4iPodCompatible</key>
@@ -7305,11 +7368,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>FileFormat</string>
                                <string>mp4|m4v</string>
                                <false />
+                               <true />
                        </array>
                        <array>
                                <string>VideoEncoder</string>
                                <string>x264</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>PictureBottomCrop</key>
@@ -7318,13 +7383,57 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>PictureAutoCrop</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
+                       </array>
+               </array>
+               <key>PictureDecombCustom</key>
+               <array>
+                       <array>
+                               <string>PictureDecomb</string>
+                               <string>custom</string>
+                               <false />
+                               <true />
                        </array>
                </array>
                <key>PictureDeinterlace</key>
                <array>
                        <array>
                                <string>PictureDecomb</string>
-                               <string>TRUE</string>
+                               <string>none</string>
+                               <false />
+                               <false />
+                       </array>
+               </array>
+               <key>PictureDeinterlaceCustom</key>
+               <array>
+                       <array>
+                               <string>PictureDecomb</string>
+                               <string>none</string>
+                               <false />
+                               <true />
+                       </array>
+                       <array>
+                               <string>PictureDeinterlace</string>
+                               <string>custom</string>
+                               <false />
+                               <true />
+                       </array>
+               </array>
+               <key>PictureDenoiseCustom</key>
+               <array>
+                       <array>
+                               <string>PictureDenoise</string>
+                               <string>custom</string>
+                               <false />
+                               <true />
+                       </array>
+               </array>
+               <key>PictureDetelecineCustom</key>
+               <array>
+                       <array>
+                               <string>PictureDetelecine</string>
+                               <string>custom</string>
+                               <false />
                                <true />
                        </array>
                </array>
@@ -7334,6 +7443,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>anamorphic</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>PictureLeftCrop</key>
@@ -7342,6 +7452,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>PictureAutoCrop</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>PictureRightCrop</key>
@@ -7350,6 +7461,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>PictureAutoCrop</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>PictureTopCrop</key>
@@ -7358,6 +7470,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>PictureAutoCrop</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>VideoAvgBitrate</key>
@@ -7366,6 +7479,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_bitrate</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>VideoQualitySlider</key>
@@ -7374,6 +7488,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_constant</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>VideoTargetSize</key>
@@ -7382,6 +7497,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_target</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>VideoTurboTwoPass</key>
@@ -7390,11 +7506,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_constant</string>
                                <string>TRUE</string>
                                <true />
+                               <false />
                        </array>
                        <array>
                                <string>VideoTwoPass</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>VideoTwoPass</key>
@@ -7403,6 +7521,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_constant</string>
                                <string>TRUE</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>chapters_in_destination</key>
@@ -7411,6 +7530,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>use_source_name</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>chapters_label</key>
@@ -7419,6 +7539,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>chapters_list</key>
@@ -7427,6 +7548,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>ChapterMarkers</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>chapters_tab</key>
@@ -7435,6 +7557,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>constant_rate_factor</key>
@@ -7443,6 +7566,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>vquality_type_constant</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>directqp</key>
@@ -7451,6 +7575,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>VideoEncoder</string>
                                <string>x264|ffmpeg</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>end_chapter</key>
@@ -7459,6 +7584,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>picture_label</key>
@@ -7467,6 +7593,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>picture_tab</key>
@@ -7475,6 +7602,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>preview_frame</key>
@@ -7483,6 +7611,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>queue_add</key>
@@ -7491,6 +7620,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>queue_add_menu</key>
@@ -7499,6 +7629,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>scale_height</key>
@@ -7507,16 +7638,19 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>autoscale</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                        <array>
                                <string>anamorphic</string>
                                <string>CHECK</string>
                                <true />
+                               <false />
                        </array>
                        <array>
                                <string>PictureKeepRatio</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>scale_width</key>
@@ -7525,6 +7659,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>autoscale</string>
                                <string>FALSE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>show_picture</key>
@@ -7533,6 +7668,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>show_preview_menu</key>
@@ -7541,6 +7677,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>start_chapter</key>
@@ -7549,6 +7686,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>title</key>
@@ -7557,6 +7695,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>title</string>
                                <string>none</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>title_no_in_destination</key>
@@ -7565,14 +7704,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>use_source_name</string>
                                <string>TRUE</string>
                                <false />
-                       </array>
-               </array>
-               <key>tweak_PictureDeinterlace</key>
-               <array>
-                       <array>
-                               <string>PictureDecomb</string>
-                               <string>TRUE</string>
-                               <true />
+                               <false />
                        </array>
                </array>
                <key>x264_bpyramid</key>
@@ -7581,6 +7713,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>x264_bframes</string>
                                <string>&lt;2</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>x264_direct</key>
@@ -7589,6 +7722,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>x264_bframes</string>
                                <string>0</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>x264_mixed_refs</key>
@@ -7597,6 +7731,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>x264_refs</string>
                                <string>&lt;2</string>
                                <true />
+                               <false />
                        </array>
                </array>
                <key>x264_tab</key>
@@ -7605,6 +7740,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>VideoEncoder</string>
                                <string>x264</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>x264_tab_label</key>
@@ -7613,6 +7749,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>VideoEncoder</string>
                                <string>x264</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>x264_trellis</key>
@@ -7621,6 +7758,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>x264_cabac</string>
                                <string>TRUE</string>
                                <false />
+                               <false />
                        </array>
                </array>
                <key>x264_weighted_bframes</key>
@@ -7629,6 +7767,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
                                <string>x264_bframes</string>
                                <string>0</string>
                                <true />
+                               <false />
                        </array>
                </array>
        </dict>
index 2e6019d..a3e8eea 100644 (file)
@@ -62,7 +62,7 @@
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                                <key>PictureDenoise</key>
                                                <string>0</string>
                                                <key>PictureDetelecine</key>
-                                               <false />
+                                               <string>0</string>
                                                <key>PictureHeight</key>
                                                <integer>0</integer>
                                                <key>PictureKeepRatio</key>
                                                <key>PictureDenoise</key>
                                                <string>0</string>
                                                <key>PictureDetelecine</key>
-                                               <false />
+                                               <string>0</string>
                                                <key>PictureHeight</key>
                                                <integer>0</integer>
                                                <key>PictureKeepRatio</key>
                                                <key>PictureDenoise</key>
                                                <string>0</string>
                                                <key>PictureDetelecine</key>
-                                               <false />
+                                               <string>0</string>
                                                <key>PictureHeight</key>
                                                <integer>0</integer>
                                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDeblock</key>
                                <integer>0</integer>
                                <key>PictureDecomb</key>
-                               <true />
+                               <string>2</string>
                                <key>PictureDeinterlace</key>
                                <string>0</string>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <true />
+                               <string>2</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDeblock</key>
                                <integer>0</integer>
                                <key>PictureDecomb</key>
-                               <true />
+                               <string>2</string>
                                <key>PictureDeinterlace</key>
                                <string>0</string>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <true />
+                               <string>2</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>208</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
                                <key>PictureDenoise</key>
                                <string>0</string>
                                <key>PictureDetelecine</key>
-                               <false />
+                               <string>0</string>
                                <key>PictureHeight</key>
                                <integer>0</integer>
                                <key>PictureKeepRatio</key>
index c3df7f5..690c1a0 100644 (file)
        <key>PictureDecomb</key>
        <array>
                <string>PictureDeinterlace</string>
-               <string>tweak_PictureDeinterlace</string>
+               <string>PictureDeinterlaceCustom</string>
+               <string>PictureDecombCustom</string>
+       </array>
+       <key>PictureDeinterlace</key>
+       <array>
+               <string>PictureDeinterlaceCustom</string>
+       </array>
+       <key>PictureDenoise</key>
+       <array>
+               <string>PictureDenoiseCustom</string>
+       </array>
+       <key>PictureDetelecine</key>
+       <array>
+               <string>PictureDetelecineCustom</string>
        </array>
        <key>PictureKeepRatio</key>
        <array>
index 0b1e3f4..9a45951 100644 (file)
@@ -8,6 +8,7 @@
                        <string>AudioEncoder</string>
                        <string>ac3|dts</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>AudioMixdown</key>
@@ -16,6 +17,7 @@
                        <string>AudioEncoder</string>
                        <string>ac3|dts</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>AudioSamplerate</key>
@@ -24,6 +26,7 @@
                        <string>AudioEncoder</string>
                        <string>ac3|dts</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>AudioTrackDRCSlider</key>
@@ -32,6 +35,7 @@
                        <string>AudioEncoder</string>
                        <string>ac3|dts</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>Mp4HttpOptimize</key>
@@ -40,6 +44,7 @@
                        <string>FileFormat</string>
                        <string>mp4|m4v</string>
                        <false />
+                       <true />
                </array>
        </array>
        <key>Mp4LargeFile</key>
@@ -48,6 +53,7 @@
                        <string>FileFormat</string>
                        <string>mp4|m4v</string>
                        <false />
+                       <true />
                </array>
        </array>
        <key>Mp4iPodCompatible</key>
                        <string>FileFormat</string>
                        <string>mp4|m4v</string>
                        <false />
+                       <true />
                </array>
                <array>
                        <string>VideoEncoder</string>
                        <string>x264</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>PictureBottomCrop</key>
                        <string>PictureAutoCrop</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
+               </array>
+       </array>
+       <key>PictureDecombCustom</key>
+       <array>
+               <array>
+                       <string>PictureDecomb</string>
+                       <string>custom</string>
+                       <false />
+                       <true />
                </array>
        </array>
        <key>PictureDeinterlace</key>
        <array>
                <array>
                        <string>PictureDecomb</string>
-                       <string>TRUE</string>
+                       <string>none</string>
+                       <false />
+                       <false />
+               </array>
+       </array>
+       <key>PictureDeinterlaceCustom</key>
+       <array>
+               <array>
+                       <string>PictureDecomb</string>
+                       <string>none</string>
+                       <false />
+                       <true />
+               </array>
+               <array>
+                       <string>PictureDeinterlace</string>
+                       <string>custom</string>
+                       <false />
+                       <true />
+               </array>
+       </array>
+       <key>PictureDenoiseCustom</key>
+       <array>
+               <array>
+                       <string>PictureDenoise</string>
+                       <string>custom</string>
+                       <false />
+                       <true />
+               </array>
+       </array>
+       <key>PictureDetelecineCustom</key>
+       <array>
+               <array>
+                       <string>PictureDetelecine</string>
+                       <string>custom</string>
+                       <false />
                        <true />
                </array>
        </array>
                        <string>anamorphic</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>PictureLeftCrop</key>
                        <string>PictureAutoCrop</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>PictureRightCrop</key>
                        <string>PictureAutoCrop</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>PictureTopCrop</key>
                        <string>PictureAutoCrop</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>VideoAvgBitrate</key>
                        <string>vquality_type_bitrate</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>VideoQualitySlider</key>
                        <string>vquality_type_constant</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>VideoTargetSize</key>
                        <string>vquality_type_target</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>VideoTurboTwoPass</key>
                        <string>vquality_type_constant</string>
                        <string>TRUE</string>
                        <true />
+                       <false />
                </array>
                <array>
                        <string>VideoTwoPass</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>VideoTwoPass</key>
                        <string>vquality_type_constant</string>
                        <string>TRUE</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>chapters_in_destination</key>
                        <string>use_source_name</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>chapters_label</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>chapters_list</key>
                        <string>ChapterMarkers</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>chapters_tab</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>constant_rate_factor</key>
                        <string>vquality_type_constant</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>directqp</key>
                        <string>VideoEncoder</string>
                        <string>x264|ffmpeg</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>end_chapter</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>picture_label</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>picture_tab</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>preview_frame</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>queue_add</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>queue_add_menu</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>scale_height</key>
                        <string>autoscale</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
                <array>
                        <string>anamorphic</string>
                        <string>CHECK</string>
                        <true />
+                       <false />
                </array>
                <array>
                        <string>PictureKeepRatio</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>scale_width</key>
                        <string>autoscale</string>
                        <string>FALSE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>show_picture</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>show_preview_menu</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>start_chapter</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>title</key>
                        <string>title</string>
                        <string>none</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>title_no_in_destination</key>
                        <string>use_source_name</string>
                        <string>TRUE</string>
                        <false />
-               </array>
-       </array>
-       <key>tweak_PictureDeinterlace</key>
-       <array>
-               <array>
-                       <string>PictureDecomb</string>
-                       <string>TRUE</string>
-                       <true />
+                       <false />
                </array>
        </array>
        <key>x264_bpyramid</key>
                        <string>x264_bframes</string>
                        <string>&lt;2</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>x264_direct</key>
                        <string>x264_bframes</string>
                        <string>0</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>x264_mixed_refs</key>
                        <string>x264_refs</string>
                        <string>&lt;2</string>
                        <true />
+                       <false />
                </array>
        </array>
        <key>x264_tab</key>
                        <string>VideoEncoder</string>
                        <string>x264</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>x264_tab_label</key>
                        <string>VideoEncoder</string>
                        <string>x264</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>x264_trellis</key>
                        <string>x264_cabac</string>
                        <string>TRUE</string>
                        <false />
+                       <false />
                </array>
        </array>
        <key>x264_weighted_bframes</key>
                        <string>x264_bframes</string>
                        <string>0</string>
                        <true />
+                       <false />
                </array>
        </array>
 </dict>