GUI option to Exclude unused sources
authorRobin Gareus <robin@gareus.org>
Fri, 23 Sep 2016 18:43:26 +0000 (20:43 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 23 Sep 2016 18:43:26 +0000 (20:43 +0200)
gtk2_ardour/ardour_ui.cc
gtk2_ardour/session_archive_dialog.cc
gtk2_ardour/session_archive_dialog.h

index 88f2a29a9d444f3cb7a9c294081554ebd5f87e73..fcbb5b45028c770d912b6a6e49171f266a45ad85 100644 (file)
@@ -2719,7 +2719,7 @@ ARDOUR_UI::archive_session ()
                return;
        }
 
-       if (_session->archive_session (sad.target_folder(), sad.name(), sad.encode_option (), &sad)) {
+       if (_session->archive_session (sad.target_folder(), sad.name(), sad.encode_option (), sad.only_used_sources (), &sad)) {
                MessageDialog msg (_("Session Archiving failed."));
                msg.run ();
        }
index 24ecba6b71444cf3f75d848a20507532c99f57ca..15bdbc8165c514180dac96bffb3f16f291b4567e 100644 (file)
@@ -33,6 +33,7 @@ using namespace ARDOUR;
 SessionArchiveDialog::SessionArchiveDialog ()
        : ArdourDialog (_("Zip/Archive Session"))
        , ProgressReporter ()
+       , only_used_checkbox (_("Exclude unused audio sources"))
 {
        VBox* vbox = get_vbox();
 
@@ -71,6 +72,8 @@ SessionArchiveDialog::SessionArchiveDialog ()
        hbox->pack_start (encode_selector, true, true);
        vbox->pack_start (*hbox, false, false);
 
+       vbox->pack_start (only_used_checkbox, false, false);
+
        vbox->pack_start (progress_bar, true, true, 12);
 
        vbox->show_all ();
@@ -132,6 +135,18 @@ SessionArchiveDialog::set_name (const std::string& name)
        name_entry_changed ();
 }
 
+bool
+SessionArchiveDialog::only_used_sources () const
+{
+       return only_used_checkbox.get_active ();
+}
+
+void
+SessionArchiveDialog::set_only_used_sources (bool en)
+{
+       only_used_checkbox.set_active (en);
+}
+
 ARDOUR::Session::ArchiveEncode
 SessionArchiveDialog::encode_option () const
 {
index c82cbf51529472c2d8e0dcf0b9b378a68a2c8bcb..a0c139b63f25ca9b12945f2d1f7949dce2866837 100644 (file)
@@ -38,16 +38,19 @@ public:
        std::string target_folder () const;
        std::string name () const;
        ARDOUR::Session::ArchiveEncode encode_option () const;
+       bool only_used_sources () const;
 
-       void  set_name (const std::string&);
-       void  set_target_folder (const std::string&);
-       void  set_encode_option (ARDOUR::Session::ArchiveEncode);
+       void set_name (const std::string&);
+       void set_target_folder (const std::string&);
+       void set_encode_option (ARDOUR::Session::ArchiveEncode);
+       void set_only_used_sources (bool);
 
 private:
        Gtk::FileChooserButton target_folder_selector;
        Gtk::Entry             name_entry;
        Gtk::ComboBoxText      format_selector;
        Gtk::ComboBoxText      encode_selector;
+       Gtk::CheckButton       only_used_checkbox;
 
        Gtk::ProgressBar progress_bar;