summaryrefslogtreecommitdiff
path: root/libs/ardour
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
parent22cbc69074371e4a1e59acb914b38aa86240a05a (diff)
save version string with session for informational purposes
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/session.h2
-rw-r--r--libs/ardour/session.cc3
-rw-r--r--libs/ardour/session_state.cc14
3 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index f35e3b6f19..341c49232f 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -2007,6 +2007,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
VCAManager* _vca_manager;
boost::shared_ptr<Route> get_midi_nth_route_by_id (PresentationInfo::order_t n) const;
+
+ std::string created_with;
};
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 1d285d6611..d8e19b9c1d 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -90,6 +90,7 @@
#include "ardour/recent_sessions.h"
#include "ardour/region.h"
#include "ardour/region_factory.h"
+#include "ardour/revision.h"
#include "ardour/route_graph.h"
#include "ardour/route_group.h"
#include "ardour/send.h"
@@ -316,6 +317,8 @@ Session::Session (AudioEngine &eng,
{
uint32_t sr = 0;
+ created_with = string_compose ("%1 %2", PROGRAM_NAME, revision);
+
pthread_mutex_init (&_rt_emit_mutex, 0);
pthread_cond_init (&_rt_emit_cond, 0);
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) {