API change: expose session-archive compression-level
authorRobin Gareus <robin@gareus.org>
Mon, 2 Oct 2017 23:56:17 +0000 (01:56 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 3 Oct 2017 00:24:16 +0000 (02:24 +0200)
libs/ardour/ardour/session.h
libs/ardour/session_state.cc

index 788e5bc4e75128bffe410ffba486a9a33a4d1290..88195e626a8e9e10d41af4547622742dd2c92f1f 100644 (file)
@@ -42,6 +42,7 @@
 
 #include "pbd/error.h"
 #include "pbd/event_loop.h"
+#include "pbd/file_archive.h"
 #include "pbd/rcu.h"
 #include "pbd/reallocpool.h"
 #include "pbd/statefuldestructible.h"
@@ -523,7 +524,11 @@ public:
                FLAC_24BIT
        };
 
-       int archive_session (const std::string&, const std::string&, ArchiveEncode compress_audio = FLAC_16BIT, bool only_used_sources = false, Progress* p = 0);
+       int archive_session (const std::string&, const std::string&,
+                            ArchiveEncode compress_audio = FLAC_16BIT,
+                            PBD::FileArchive::CompressionLevel compression_level = PBD::FileArchive::CompressGood,
+                            bool only_used_sources = false,
+                            Progress* p = 0);
 
        int restore_state (std::string snapshot_name);
        int save_template (const std::string& template_name, const std::string& description = "", bool replace_existing = false);
index 7cc2607e755199c62fe0cc2211eadc9206f804ac..118124a3d9467c78801b1639b59c06a59f945f89 100644 (file)
@@ -5217,6 +5217,7 @@ int
 Session::archive_session (const std::string& dest,
                           const std::string& name,
                           ArchiveEncode compress_audio,
+                          FileArchive::CompressionLevel compression_level,
                           bool only_used_sources,
                           Progress* progress)
 {
@@ -5539,7 +5540,7 @@ Session::archive_session (const std::string& dest,
                i->first->set_gain (i->second, true);
        }
 
-       int rv = ar.create (filemap, PBD::FileArchive::CompressGood);
+       int rv = ar.create (filemap, compression_level);
        remove_directory (to_dir);
 
        return rv;