diff options
author | Robin Gareus <robin@gareus.org> | 2016-06-01 22:27:55 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-06-01 22:43:40 +0200 |
commit | 0531d0dd0c544b183320efc32cf2780bc46a17d2 (patch) | |
tree | c97941057d551411990e3d74db7f261f32274b0d /libs/ardour | |
parent | 22cbc69074371e4a1e59acb914b38aa86240a05a (diff) |
save version string with session for informational purposes
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/session.h | 2 | ||||
-rw-r--r-- | libs/ardour/session.cc | 3 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 14 |
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) { |