diff options
author | Robin Gareus <robin@gareus.org> | 2016-09-20 19:46:49 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-09-20 19:52:56 +0200 |
commit | 5232e0f2aff7cec5b5842aa414c71d8119e70e9f (patch) | |
tree | d87676d593eeb772e3b90a4fe4e7e97bda3c9ed8 /gtk2_ardour/ardour_ui.cc | |
parent | 20ebf10ba3d90df115695bc7b3872865430cbfdb (diff) |
GUI support to archive session
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 7a59569254..46325d3ab6 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -163,6 +163,7 @@ typedef uint64_t microseconds_t; #include "route_params_ui.h" #include "save_as_dialog.h" #include "script_selector.h" +#include "session_archive_dialog.h" #include "session_dialog.h" #include "session_metadata_dialog.h" #include "session_option_editor.h" @@ -2699,6 +2700,32 @@ ARDOUR_UI::save_session_as () } void +ARDOUR_UI::archive_session () +{ + if (!_session) { + return; + } + + time_t n; + time (&n); + Glib::DateTime gdt (Glib::DateTime::create_now_local (n)); + + SessionArchiveDialog sad; + sad.set_name (_session->name() + gdt.format ("_%F_%H%M%S")); + int response = sad.run (); + + if (response != Gtk::RESPONSE_OK) { + sad.hide (); + return; + } + + if (_session->archive_session (sad.target_folder(), sad.name(), &sad)) { + MessageDialog msg (_("Session Archiving failed.")); + msg.run (); + } +} + +void ARDOUR_UI::quick_snapshot_session (bool switch_to_it) { char timebuf[128]; |