summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-25 01:56:53 +0200
committerRobin Gareus <robin@gareus.org>2017-06-25 01:57:19 +0200
commitcc7ff53e1f70c8ff6eab692de7adf815bf83ff91 (patch)
treed98382ec0ba11ed124c917f39c251297cea230fa /libs/ardour/ardour
parenta1c5d1be43007265ef1257889a3138b0fa75c2ac (diff)
Create a deep-copy of MIDI sources when saving snapshots
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/session.h8
-rw-r--r--libs/ardour/ardour/smf_source.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 2da54f8bbc..96adcf0981 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -1901,7 +1901,13 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
void update_latency (bool playback);
- XMLNode& state(bool);
+ enum snapshot_t {
+ NormalSave,
+ SnapshotKeep,
+ SwitchToSnapshot
+ };
+
+ XMLNode& state(bool, snapshot_t snapshot_type = NormalSave);
/* click track */
typedef std::list<Click*> Clicks;
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index 979c20dd21..9bc6584355 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -70,10 +70,10 @@ public:
static bool valid_midi_file (const std::string& path);
void prevent_deletion ();
+ void set_path (const std::string& newpath);
protected:
void close ();
- void set_path (const std::string& newpath);
void flush_midi (const Lock& lock);
private: