summaryrefslogtreecommitdiff
path: root/libs/ardour/template_utils.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-08-14 16:14:42 -0500
committerBen Loftis <ben@harrisonconsoles.com>2017-08-14 16:14:42 -0500
commit47d86cf54d64ae2f65c7ffa961ccc583d33f3382 (patch)
tree5d4ef1d0f153ccd8cfc51e4b8547724f79d46350 /libs/ardour/template_utils.cc
parent0a0eec2adca785e6fff1b1e798bbded196188f4c (diff)
Change the template pulldown menu into a tree list. Populate the Description view when a template is selected.
Diffstat (limited to 'libs/ardour/template_utils.cc')
-rw-r--r--libs/ardour/template_utils.cc23
1 files changed, 21 insertions, 2 deletions
diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc
index d355231115..75c8d5b9af 100644
--- a/libs/ardour/template_utils.cc
+++ b/libs/ardour/template_utils.cc
@@ -33,6 +33,8 @@
#include "ardour/search_paths.h"
#include "ardour/io.h"
+#include "pbd/i18n.h"
+
using namespace std;
using namespace PBD;
@@ -103,8 +105,25 @@ find_session_templates (vector<TemplateInfo>& template_names, bool read_xml)
if (!tree.read (file.c_str())) {
continue;
}
- // TODO extract description,
- // compare to Session::get_info_from_path
+
+ string created_with = "(unknown)";
+ XMLNode *pv = tree.root()->child("ProgramVersion");
+ if (pv != 0) {
+ pv->get_property (X_("created-with"), created_with);
+ }
+
+ string description = "No Description";
+ XMLNode *md = tree.root()->child("Metadata");
+ if (md != 0) {
+ XMLNode *desc = md->child("description");
+ if (desc != 0) {
+ description = desc->attribute_value();
+ }
+ }
+
+ rti.created_with = created_with;
+ rti.description = description;
+
}
template_names.push_back (rti);