summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-06-25 20:46:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-06-25 20:46:39 +0000
commit8e7a5d77414a40550a28d61abf6eeb1e89a1ec25 (patch)
tree76d5851fe7221066ccadbc032a9a1fbcd1b6091b /libs/ardour/ardour
parent94880f7cd1417031387b485e279c32eea885cf6d (diff)
startup assistant patch from tinman; cleanup fix backported from 2.X ; easy(ier) ways to create aux sends ; facility to subgroup (route via bus) for a route group ; fix up internal send/return operation ; fix internal send naming since it doesn't need to be unique - no JACK ports involved
git-svn-id: svn://localhost/ardour2/branches/3.0@5272 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/file_source.h7
-rw-r--r--libs/ardour/ardour/internal_return.h4
-rw-r--r--libs/ardour/ardour/internal_send.h2
-rw-r--r--libs/ardour/ardour/route.h1
-rw-r--r--libs/ardour/ardour/route_group.h4
-rw-r--r--libs/ardour/ardour/session.h3
6 files changed, 17 insertions, 4 deletions
diff --git a/libs/ardour/ardour/file_source.h b/libs/ardour/ardour/file_source.h
index d5a4ce1d95..fdf7473c63 100644
--- a/libs/ardour/ardour/file_source.h
+++ b/libs/ardour/ardour/file_source.h
@@ -52,6 +52,10 @@ public:
static void set_search_path (DataType type, const Glib::ustring& path);
+ static bool find (DataType type, const Glib::ustring& path,
+ bool must_exist, bool& is_new, uint16_t& chan,
+ Glib::ustring& found_path);
+
protected:
FileSource (Session& session, DataType type,
const Glib::ustring& path, bool embedded,
@@ -63,9 +67,6 @@ protected:
virtual int move_dependents_to_trash() { return 0; }
- bool find (DataType type, const Glib::ustring& path,
- bool must_exist, bool& is_new, uint16_t& chan);
-
bool removable () const;
Glib::ustring _path;
diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h
index 6aa8bfe7b4..a23b17adf8 100644
--- a/libs/ardour/ardour/internal_return.h
+++ b/libs/ardour/ardour/internal_return.h
@@ -34,6 +34,8 @@ class InternalReturn : public Return
InternalReturn (Session&);
InternalReturn (Session&, const XMLNode&);
+ bool visible() const { return false; }
+
XMLNode& state(bool full);
XMLNode& get_state(void);
int set_state(const XMLNode& node);
@@ -50,7 +52,7 @@ class InternalReturn : public Return
private:
BufferSet buffers;
- uint32_t user_count;
+ gint user_count; /* atomic */
void allocate_buffers (nframes_t);
void cycle_start (nframes_t);
};
diff --git a/libs/ardour/ardour/internal_send.h b/libs/ardour/ardour/internal_send.h
index 0bbb75d685..3172176897 100644
--- a/libs/ardour/ardour/internal_send.h
+++ b/libs/ardour/ardour/internal_send.h
@@ -32,6 +32,8 @@ class InternalSend : public Send
InternalSend (Session&, boost::shared_ptr<MuteMaster>, const XMLNode&);
virtual ~InternalSend ();
+ bool set_name (const std::string&);
+
XMLNode& state(bool full);
XMLNode& get_state(void);
int set_state(const XMLNode& node);
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index dcdd306c5b..d346a22342 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -191,6 +191,7 @@ class Route : public SessionObject, public AutomatableControls
boost::shared_ptr<Delivery> main_outs() const { return _main_outs; }
boost::shared_ptr<InternalReturn> internal_return() const { return _intreturn; }
boost::shared_ptr<Send> internal_send_for (boost::shared_ptr<const Route> target) const;
+ void add_internal_return ();
BufferSet* get_return_buffer () const;
void release_return_buffer () const;
void put_control_outs_at (Placement);
diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h
index f4ed001453..a038551244 100644
--- a/libs/ardour/ardour/route_group.h
+++ b/libs/ardour/ardour/route_group.h
@@ -121,6 +121,9 @@ public:
routes.clear ();
changed();
}
+
+ void make_subgroup ();
+ void destroy_subgroup ();
const std::list<Route*>& route_list() { return routes; }
@@ -134,6 +137,7 @@ public:
private:
Session& _session;
std::list<Route *> routes;
+ boost::shared_ptr<Route> subgroup_bus;
std::string _name;
Flag _flags;
Property _properties;
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 1dd40affdb..39822de678 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -738,6 +738,9 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
boost::shared_ptr<Route> control_out() const { return _control_out; }
boost::shared_ptr<Route> master_out() const { return _master_out; }
+ void globally_add_internal_sends (boost::shared_ptr<Route> dest);
+ void add_internal_sends (boost::shared_ptr<Route> dest, boost::shared_ptr<RouteList> senders);
+
static void set_disable_all_loaded_plugins (bool yn) {
_disable_all_loaded_plugins = yn;
}