summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-03-02 16:52:40 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-03-02 16:52:40 +0000
commit9f4c7a9e9edd260a72f040b036982d4c5da89292 (patch)
tree191cc47ddda09dbd1ca5df768c04e10656804598 /libs/ardour/ardour
parentf613d3fe1478533ca770c1f3439cf1c670177210 (diff)
track templates, backported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4713 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/directory_names.h1
-rw-r--r--libs/ardour/ardour/io.h2
-rw-r--r--libs/ardour/ardour/route.h2
-rw-r--r--libs/ardour/ardour/session.h1
-rw-r--r--libs/ardour/ardour/template_utils.h9
5 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h
index 2f9991fd65..b0023bba5a 100644
--- a/libs/ardour/ardour/directory_names.h
+++ b/libs/ardour/ardour/directory_names.h
@@ -16,6 +16,7 @@ extern const char* const interchange_dir_name;
extern const char* const peak_dir_name;
extern const char* const export_dir_name;
extern const char* const templates_dir_name;
+extern const char* const route_templates_dir_name;
extern const char* const surfaces_dir_name;
extern const char* const user_config_dir_name;
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 2058e2e079..709a5368db 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -215,6 +215,8 @@ class IO : public SessionObject, public AutomatableControls, public Latent
static sigc::signal<int> PortsCreated;
static void update_meters();
+ static std::string name_from_state (const XMLNode&);
+ static void set_name_in_state (XMLNode&, const std::string&);
private:
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index a5bd751d22..2319cadb57 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -221,6 +221,8 @@ class Route : public IO
XMLNode& get_processor_state ();
int set_processor_state (const XMLNode&);
+ int save_as_template (const std::string& path, const std::string& name);
+
sigc::signal<void,void*> SelectedChanged;
int set_control_outs (const vector<std::string>& ports);
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 6e09bbd4ed..082e05a9bd 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -281,6 +281,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
string new_audio_source_name (const string&, uint32_t nchans, uint32_t chan, bool destructive);
string new_midi_source_name (const string&);
string new_source_path_from_name (DataType type, const string&);
+ RouteList new_route_from_template (uint32_t how_many, const std::string& template_path);
void process (nframes_t nframes);
diff --git a/libs/ardour/ardour/template_utils.h b/libs/ardour/ardour/template_utils.h
index 6ba0683e1e..5542e8420f 100644
--- a/libs/ardour/ardour/template_utils.h
+++ b/libs/ardour/ardour/template_utils.h
@@ -12,8 +12,17 @@ namespace ARDOUR {
using namespace PBD;
sys::path system_template_directory ();
+ sys::path system_route_template_directory ();
sys::path user_template_directory ();
+ sys::path user_route_template_directory ();
+
+ struct RouteTemplateInfo {
+ std::string name;
+ std::string path;
+ };
+
+ void find_route_templates (std::vector<RouteTemplateInfo>& template_names);
} // namespace ARDOUR