summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-10-03 01:56:17 +0200
committerRobin Gareus <robin@gareus.org>2017-10-03 02:24:16 +0200
commit0802a0872f07df44dfacffe4aec2ebe8aa7d9a7d (patch)
treee7fa7de21b17c888e8e1c0f5bf1d4b679891ae78
parent7613c9cb34a6f9a27225c6251f7755723272136f (diff)
API change: expose session-archive compression-level
-rw-r--r--libs/ardour/ardour/session.h7
-rw-r--r--libs/ardour/session_state.cc3
2 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 788e5bc4e7..88195e626a 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -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);
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 7cc2607e75..118124a3d9 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -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;