summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-06-01 22:27:55 +0200
committerRobin Gareus <robin@gareus.org>2016-06-01 22:43:40 +0200
commit0531d0dd0c544b183320efc32cf2780bc46a17d2 (patch)
treec97941057d551411990e3d74db7f261f32274b0d /libs/ardour/session_state.cc
parent22cbc69074371e4a1e59acb914b38aa86240a05a (diff)
save version string with session for informational purposes
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 54cb87b82f..7fb110da7a 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -106,6 +106,7 @@
#include "ardour/proxy_controllable.h"
#include "ardour/recent_sessions.h"
#include "ardour/region_factory.h"
+#include "ardour/revision.h"
#include "ardour/route_group.h"
#include "ardour/send.h"
#include "ardour/session.h"
@@ -1051,6 +1052,12 @@ Session::state (bool full_state)
snprintf(buf, sizeof(buf), "%d", CURRENT_SESSION_FILE_VERSION);
node->add_property("version", buf);
+ child = node->add_child ("ProgramVersion");
+ child->add_property("created-with", created_with);
+
+ std::string modified_with = string_compose ("%1 %2", PROGRAM_NAME, revision);
+ child->add_property("modified-with", modified_with);
+
/* store configuration settings */
if (full_state) {
@@ -1343,6 +1350,13 @@ Session::set_state (const XMLNode& node, int version)
}
}
+ created_with = "unknown";
+ if ((child = find_named_node (node, "ProgramVersion")) != 0) {
+ if ((prop = child->property (X_("created-with"))) != 0) {
+ created_with = prop->value ();
+ }
+ }
+
setup_raid_path(_session_dir->root_path());
if ((prop = node.property (X_("id-counter"))) != 0) {