Prepare for templates w/description
[ardour.git] / libs / ardour / template_utils.cc
index 24674f9226e14d5c0ebb57bfebeaae41541d3059..d355231115f13beebceeb44292f8435018bda47f 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Paul Davis 
+    Copyright (C) 2012 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -22,7 +22,6 @@
 
 #include <glibmm.h>
 
-#include "pbd/basename.h"
 #include "pbd/file_utils.h"
 #include "pbd/stl_delete.h"
 #include "pbd/xml++.h"
@@ -57,7 +56,7 @@ template_filter (const string &str, void* /*arg*/)
        if (!Glib::file_test (str, Glib::FILE_TEST_IS_DIR)) {
                return false;
        }
-       
+
        return true;
 }
 
@@ -67,7 +66,7 @@ route_template_filter (const string &str, void* /*arg*/)
        if (str.find (template_suffix) == str.length() - strlen (template_suffix)) {
                return true;
        }
-       
+
        return false;
 }
 
@@ -79,7 +78,7 @@ session_template_dir_to_file (string const & dir)
 
 
 void
-find_session_templates (vector<TemplateInfo>& template_names)
+find_session_templates (vector<TemplateInfo>& template_names, bool read_xml)
 {
        vector<string> templates;
 
@@ -95,17 +94,19 @@ find_session_templates (vector<TemplateInfo>& template_names)
        for (vector<string>::iterator i = templates.begin(); i != templates.end(); ++i) {
                string file = session_template_dir_to_file (*i);
 
-               XMLTree tree;
-
-               if (!tree.read (file.c_str())) {
-                       continue;
-               }
-
                TemplateInfo rti;
-
-               rti.name = basename_nosuffix (*i);
+               rti.name = Glib::path_get_basename (*i);
                rti.path = *i;
 
+               if (read_xml) {
+                       XMLTree tree;
+                       if (!tree.read (file.c_str())) {
+                               continue;
+                       }
+                       // TODO extract description,
+                       // compare to Session::get_info_from_path
+               }
+
                template_names.push_back (rti);
        }
 }