diff options
author | John Emmas <johne53@tiscali.co.uk> | 2013-10-14 19:31:22 +0100 |
---|---|---|
committer | John Emmas <johne53@tiscali.co.uk> | 2013-10-14 19:31:22 +0100 |
commit | e466ce40ad1ba591543020cb7c0aa15dbebef81e (patch) | |
tree | f8e43560917a0a70c48d32ac171e828472cfd794 /gtk2_ardour/export_video_dialog.cc | |
parent | 4fac237fdcf025c5fd5aafe207113abd6abb469b (diff) | |
parent | a901f28c6287ff99444d6a8afe67b71531a5f7d0 (diff) |
Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
gtk2_ardour/ardour_ui.cc
Diffstat (limited to 'gtk2_ardour/export_video_dialog.cc')
-rw-r--r-- | gtk2_ardour/export_video_dialog.cc | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/gtk2_ardour/export_video_dialog.cc b/gtk2_ardour/export_video_dialog.cc index 7e84cab122..a9d0f99ad1 100644 --- a/gtk2_ardour/export_video_dialog.cc +++ b/gtk2_ardour/export_video_dialog.cc @@ -63,7 +63,7 @@ using namespace PBD; using namespace ARDOUR; using namespace VideoUtils; -ExportVideoDialog::ExportVideoDialog (Session* s, TimeSelection &tme) +ExportVideoDialog::ExportVideoDialog (Session* s, TimeSelection &tme, bool range) : ArdourDialog (_("Export Video File ")) , export_range (tme) , outfn_path_label (_("File:"), Gtk::ALIGN_LEFT) @@ -154,7 +154,11 @@ ExportVideoDialog::ExportVideoDialog (Session* s, TimeSelection &tme) if (!export_range.empty()) { insnd_combo.append_text (_("Selected range")); // TODO show export_range.start() -> export_range.end_frame() } - insnd_combo.set_active(0); + if (range) { + insnd_combo.set_active(2); + } else { + insnd_combo.set_active(0); + } outfn_path_entry.set_width_chars(38); outfn_path_entry.set_text (_session->session_directory().export_path() + G_DIR_SEPARATOR +"export.avi"); @@ -512,9 +516,8 @@ ExportVideoDialog::launch_export () end += av_offset; } else if (insnd_combo.get_active_row_number() == 2) { - // TODO quantize to video-frame ?! - start = export_range.start(); - end = export_range.end_frame(); + start = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv(export_range.start()); + end = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv(export_range.end_frame()); } if (end <= 0) { start = _session->current_start_frame(); @@ -524,6 +527,15 @@ ExportVideoDialog::launch_export () printf("audio export-range %lld -> %lld\n", start, end); #endif + const frameoffset_t vstart = ARDOUR_UI::instance()->video_timeline->get_offset(); + const frameoffset_t vend = vstart + ARDOUR_UI::instance()->video_timeline->get_duration(); + + if ( (start >= end) || (end < vstart) || (start > vend)) { + warning << _("Export Video: export-range does not include video.") << endmsg; + Gtk::Dialog::response(RESPONSE_CANCEL); + return; + } + tsp->set_range (start, end); tsp->set_name ("mysession"); tsp->set_range_id ("session"); |