From 13680ed09ad9e72756e0c06e788b76811c0e88a3 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Thu, 20 Jan 2011 11:31:41 +0100 Subject: [PATCH] Set output file name extension to "mk3d" if stereo mode is set for any video track --- ChangeLog | 5 +++++ src/mmg/mmg_dialog.cpp | 7 +++++-- src/mmg/tabs/input_format.cpp | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d60ea1c2..7ddc3d41f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2011-01-20 Moritz Bunkus + * mmg: enhancement: The output file name extension is + automatically set to ".mk3d" if the stereo mode parameter for any + video track is changed to anything else than "mono" or the default + value. + * mmg: enhancement: Added ".mk3d" to the list of known file name extensions for Matroska files. diff --git a/src/mmg/mmg_dialog.cpp b/src/mmg/mmg_dialog.cpp index 323028af4..7429e7185 100644 --- a/src/mmg/mmg_dialog.cpp +++ b/src/mmg/mmg_dialog.cpp @@ -1326,17 +1326,20 @@ mmg_dialog::set_output_maybe(const wxString &new_output) { wxString mmg_dialog::suggest_file_name_extension() { - bool has_video = false, has_audio = false; + bool has_video = false, has_audio = false, has_stereo_mode = false; foreach(mmg_track_t *t, tracks) { if (t->is_video()) { has_video = true; - break; + if (t->stereo_mode >= 2) + has_stereo_mode = true; + } else if (t->is_audio()) has_audio = true; } return global_page->cb_webm_mode->IsChecked() ? wxU("webm") + : has_stereo_mode ? wxU("mk3d") : has_video ? wxU("mkv") : has_audio ? wxU("mka") : wxU("mks"); diff --git a/src/mmg/tabs/input_format.cpp b/src/mmg/tabs/input_format.cpp index f0055f3df..ecddd494e 100644 --- a/src/mmg/tabs/input_format.cpp +++ b/src/mmg/tabs/input_format.cpp @@ -400,7 +400,9 @@ tab_input_format::on_stereo_mode_changed(wxCommandEvent &evt) { if (input->dont_copy_values_now || (input->selected_track == -1)) return; - tracks[input->selected_track]->stereo_mode = cob_stereo_mode->GetSelection(); + mmg_track_t *track = tracks[input->selected_track]; + track->stereo_mode = cob_stereo_mode->GetSelection(); + mdlg->set_output_maybe(files[track->source]->file_name); } void