OSDN Git Service

LinGui: validate that vfr is enabled when decomb is enabled
[handbrake-jp/handbrake-jp-git.git] / gtk / src / hb-backend.c
index f877b98..11f210b 100644 (file)
@@ -409,7 +409,7 @@ static const iso639_lang_t language_table[] =
 #define        LANG_TABLE_SIZE (sizeof(language_table)/ sizeof(iso639_lang_t))
 
 static void
-del_tree(const gchar *name)
+del_tree(const gchar *name, gboolean del_top)
 {
        const gchar *file;
 
@@ -421,11 +421,12 @@ del_tree(const gchar *name)
                {
                        gchar *path;
                        path = g_strdup_printf("%s/%s", name, file);
-                       del_tree(path);
+                       del_tree(path, TRUE);
                        g_free(path);
                        file = g_dir_read_name(gdir);
                }
-               g_rmdir(name);
+               if (del_top)
+                       g_rmdir(name);
        }
        else
        {
@@ -521,12 +522,12 @@ static hb_handle_t * h = NULL;
 extern void hb_get_tempory_directory(hb_handle_t *h, char path[512]);
 
 void
-ghb_hb_cleanup()
+ghb_hb_cleanup(gboolean partial)
 {
        char dir[512];
 
        hb_get_tempory_directory(h, dir);
-       del_tree(dir);
+       del_tree(dir, !partial);
 }
 
 static hb_audio_config_t*
@@ -2134,6 +2135,20 @@ ghb_validate_video(signal_user_data_t *ud)
                vcodec = HB_VCODEC_XVID;
                ghb_ui_update_int(ud, "video_codec", vcodec);
        }
+       gboolean decomb = ghb_settings_get_bool(settings, "decomb");
+       gboolean vfr = ghb_settings_get_bool(settings, "variable_frame_rate");
+       if (decomb && !vfr)
+       {
+               message = g_strdup_printf(
+                                       "Decomb is intended to be used in conjunction\n"
+                                       "with variable frame rate.\n\n"
+                                       "Would you like me to enable VFR for you?");
+               if (ghb_message_dialog(GTK_MESSAGE_WARNING, message, "No", "Yes"))
+               {
+                       ghb_ui_update_int(ud, "variable_frame_rate", TRUE);
+               }
+               g_free(message);
+       }
        return TRUE;
 }
 
@@ -2500,7 +2515,6 @@ ghb_add_job(job_settings_t *js, gint unique_id)
        {
                // Use default settings
                hb_filter_decomb.settings = NULL;
-               hb_filter_decomb.settings = "1:2:6:9:40:16:16";
                hb_list_add( job->filters, &hb_filter_decomb );
        }
        if( job->deinterlace )