X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_videotimeline.cc;h=b5184539fc92b090ca5eadf63be8d3647beb4724;hb=bf874562ef14368a5648215b6dc71936f1c3b33e;hp=1da9fb4f1983be0a25c11431c7c56833d864748a;hpb=17ad0a0b61a887362ce07b1f8b59de003ddd9233;p=ardour.git diff --git a/gtk2_ardour/editor_videotimeline.cc b/gtk2_ardour/editor_videotimeline.cc index 1da9fb4f19..b5184539fc 100644 --- a/gtk2_ardour/editor_videotimeline.cc +++ b/gtk2_ardour/editor_videotimeline.cc @@ -18,9 +18,7 @@ */ -#include - -#include +#include "pbd/gstdio_compat.h" #include "ardour/profile.h" #include "ardour/rc_configuration.h" @@ -34,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; @@ -56,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(); } @@ -82,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, samplepos_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 (); @@ -100,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 ::g_unlink(path.c_str()); } - -void -Editor::export_video () -{ - 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); - Gtk::ResponseType r = (Gtk::ResponseType) dialog.run(); - (void) r; // keep gcc quiet - dialog.hide(); -}