summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
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