]> granicus.if.org Git - handbrake/commitdiff
LinGui: fix audio and subtitle descriptions in queue
authorJohn Stebbins <jstebbins.hb@gmail.com>
Tue, 24 May 2016 21:04:56 +0000 (15:04 -0600)
committerJohn Stebbins <jstebbins.hb@gmail.com>
Tue, 24 May 2016 21:05:56 +0000 (15:05 -0600)
... When "Add Multiple" is used.

gtk/src/audiohandler.c
gtk/src/audiohandler.h
gtk/src/callbacks.c
gtk/src/subtitlehandler.c
gtk/src/subtitlehandler.h

index a40f6166d0256f7a811c783291e2cc4aad560489..9cf879871897335cad278b65ddd957c3b632f586 100644 (file)
@@ -446,6 +446,19 @@ static char * get_quality_string(int codec, gdouble quality)
     return s_quality;
 }
 
+void ghb_sanitize_audio_track_settings(GhbValue *settings)
+{
+    int ii;
+    GhbValue *alist = ghb_get_job_audio_list(settings);
+    int count = ghb_array_len(alist);
+
+    for (ii = 0; ii < count; ii++)
+    {
+        GhbValue *asettings = ghb_array_get(alist, ii);
+        ghb_sanitize_audio_settings(settings, asettings);
+    }
+}
+
 void ghb_sanitize_audio_tracks(signal_user_data_t *ud)
 {
     int ii;
index d10e55aecefa13738a54bf99b8b829bd38a3232c..fb8e3e0959dfd4f795a8a3aca3d641bf2d90e199 100644 (file)
@@ -30,7 +30,7 @@
 
 GhbValue *ghb_get_audio_settings(GhbValue *settings);
 GhbValue *ghb_get_audio_list(GhbValue *settings);
-void ghb_sanitize_audio_tracks(signal_user_data_t *ud);
+void ghb_sanitize_audio_track_settings(GhbValue *settings);
 const gchar* ghb_get_user_audio_lang(GhbValue *settings, const hb_title_t *title, gint track);
 void ghb_audio_list_refresh_selected(signal_user_data_t *ud);
 gint ghb_select_audio_codec(gint mux, hb_audio_config_t *aconfig, gint acodec, gint fallback_acodec, gint copy_mask);
index 526f76e183623aa410408894bc52cbc8fe510939..c73820a41b8c2a17514cd2865c201f87a7d62db4 100644 (file)
@@ -1936,6 +1936,8 @@ set_title_settings(signal_user_data_t *ud, GhbValue *settings)
             update_meta(settings, "LongDescription",
                 title->metadata->long_description);
         }
+        ghb_sanitize_audio_track_settings(settings);
+        ghb_sanitize_subtitle_track_settings(settings);
     }
 
     set_destination_settings(ud, settings);
index 52d6517c637a25af38d7b0762f7e40c6f6b1f5e2..c012d4a656a4abdd383b811a30fadcaa5534515e 100644 (file)
@@ -409,6 +409,22 @@ subtitle_set_track_description(GhbValue *settings, GhbValue *subsettings)
     g_free(desc);
 }
 
+void ghb_sanitize_subtitle_track_settings(GhbValue *settings)
+{
+    int ii;
+    GhbValue *slist = ghb_get_job_subtitle_list(settings);
+    int count = ghb_array_len(slist);
+
+    GhbValue *subtitle_search = ghb_get_job_subtitle_search(settings);
+    subtitle_set_track_description(settings, subtitle_search);
+    for (ii = 0; ii < count; ii++)
+    {
+        GhbValue *subsettings = ghb_array_get(slist, ii);
+        subtitle_set_track_description(settings, subsettings);
+    }
+}
+
+
 static GhbValue*  subtitle_add_track(
     signal_user_data_t *ud,
     GhbValue *settings,
index 7c6e84b00d6d3c3e0a7026ee583c92c650209643..7f723a024049d7beba29d5b9aff81d293a9bc648 100644 (file)
@@ -36,6 +36,7 @@ void ghb_subtitle_defaults_to_ui(signal_user_data_t *ud);
 void ghb_subtitle_title_change(signal_user_data_t *ud, gboolean show);
 void ghb_subtitle_set_pref_lang(GhbValue *settings);
 void ghb_clear_subtitle_selection(GtkBuilder *builder);
+void ghb_sanitize_subtitle_track_settings(GhbValue *settings);
 GhbValue *ghb_get_subtitle_list(GhbValue *settings);
 GhbValue *ghb_get_subtitle_settings(GhbValue *settings);