mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-04 04:39:33 +01:00
Merge branch 'master' into windows+cc
Conflicts (hopefully resolved): gtk2_ardour/ardour_ui.cc
This commit is contained in:
commit
e466ce40ad
51 changed files with 1819 additions and 1369 deletions
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue