X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_videotimeline.cc;h=e087034af0cfe6b897091d6274cd0a69517f95a9;hb=746665e89cf66c5688cd584555168bb8323b824e;hp=83a9745b893b1399f374610a447a351dc2a96c46;hpb=fa22520fd257f166c00615e7e40ec10c9e29b948;p=ardour.git diff --git a/gtk2_ardour/editor_videotimeline.cc b/gtk2_ardour/editor_videotimeline.cc index 83a9745b89..e087034af0 100644 --- a/gtk2_ardour/editor_videotimeline.cc +++ b/gtk2_ardour/editor_videotimeline.cc @@ -18,7 +18,7 @@ */ -#include +#include "pbd/gstdio_compat.h" #include "ardour/profile.h" #include "ardour/rc_configuration.h" @@ -32,11 +32,10 @@ #include "audio_time_axis.h" #include "video_image_frame.h" #include "export_video_dialog.h" -#include "export_video_infobox.h" #include "interthread_progress_window.h" #include "pbd/openuri.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace std; @@ -54,6 +53,9 @@ Editor::set_video_timeline_height (const int h) void Editor::update_video_timeline (bool flush) { + // catch GUIIdle -> Editor::idle_visual_changer during quit/close + assert (ARDOUR_UI::instance()->video_timeline); + if (flush) { ARDOUR_UI::instance()->video_timeline->flush_local_cache(); } @@ -80,13 +82,10 @@ Editor::toggle_video_timeline_locked () } void -Editor::embed_audio_from_video (std::string path, framepos_t n) +Editor::embed_audio_from_video (std::string path, framepos_t n, bool lock_position_to_video) { vector paths; paths.push_back(path); -#if 0 - do_import (paths, Editing::ImportDistinctFiles, Editing::ImportAsTrack, ARDOUR::SrcBest, n); -#else current_interthread_info = &import_status; import_status.current = 1; import_status.total = paths.size (); @@ -98,35 +97,13 @@ Editor::embed_audio_from_video (std::string path, framepos_t n) boost::shared_ptr track; bool ok = (import_sndfiles (paths, Editing::ImportDistinctFiles, Editing::ImportAsTrack, ARDOUR::SrcBest, n, 1, 1, track, false) == 0); if (ok && track) { - boost::shared_ptr pl = track->playlist(); - pl->find_next_region(n, ARDOUR::End, 0)->set_video_locked(true); + if (lock_position_to_video) { + boost::shared_ptr pl = track->playlist(); + pl->find_next_region(n, ARDOUR::End, 0)->set_video_locked(true); + } _session->save_state (""); } import_status.all_done = true; -#endif - unlink(path.c_str()); -} - -void -Editor::export_video (bool range) -{ - if (ARDOUR::Config->get_show_video_export_info()) { - ExportVideoInfobox infobox (_session); - Gtk::ResponseType rv = (Gtk::ResponseType) infobox.run(); - if (infobox.show_again()) { - ARDOUR::Config->set_show_video_export_info(false); - } - switch (rv) { - case GTK_RESPONSE_YES: - PBD::open_uri (ARDOUR::Config->get_reference_manual_url() + "/video-timeline/operations/#export"); - break; - default: - break; - } - } - ExportVideoDialog dialog (_session, get_selection().time, range); - Gtk::ResponseType r = (Gtk::ResponseType) dialog.run(); - (void) r; // keep gcc quiet - dialog.hide(); + ::g_unlink(path.c_str()); }