summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/panner_shell.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-01-13 23:21:30 +0100
committerRobin Gareus <robin@gareus.org>2014-01-13 23:21:30 +0100
commite45151b89c64912077c03fc979f1581780ac9e27 (patch)
tree0fa6c5fbcb350dd40fadb36f97b472ae25bd0e73 /libs/ardour/ardour/panner_shell.h
parent5b0c90299785d46357a70cc7625c9b3ee87486f1 (diff)
first stab at send+route panner link
Diffstat (limited to 'libs/ardour/ardour/panner_shell.h')
-rw-r--r--libs/ardour/ardour/panner_shell.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/libs/ardour/ardour/panner_shell.h b/libs/ardour/ardour/panner_shell.h
index 765acad16a..60db264b4d 100644
--- a/libs/ardour/ardour/panner_shell.h
+++ b/libs/ardour/ardour/panner_shell.h
@@ -49,7 +49,7 @@ class Pannable;
class PannerShell : public SessionObject
{
public:
- PannerShell (std::string name, Session&, boost::shared_ptr<Pannable>);
+ PannerShell (std::string name, Session&, boost::shared_ptr<Pannable>, bool is_send = false);
virtual ~PannerShell ();
std::string describe_parameter (Evoral::Parameter param);
@@ -63,19 +63,25 @@ public:
XMLNode& get_state ();
int set_state (const XMLNode&, int version);
+ PBD::Signal0<void> PannableChanged; /* Pannable changed -- l*/
PBD::Signal0<void> Changed; /* panner and/or outputs count and/or bypass state changed */
boost::shared_ptr<Panner> panner() const { return _panner; }
- boost::shared_ptr<Pannable> pannable() const { return _pannable; }
+ boost::shared_ptr<Pannable> pannable() const { return _panlinked ? _pannable_route : _pannable_internal; }
bool bypassed () const;
void set_bypassed (bool);
+ bool is_send () const { return (_is_send); }
+ bool is_linked_to_route () const { return (_is_send && _panlinked); }
+ /* this function takes the process lock: */
+ void set_linked_to_route (bool);
+
std::string current_panner_uri() const { return _current_panner_uri; }
std::string user_selected_panner_uri() const { return _user_selected_panner_uri; }
std::string panner_gui_uri() const { return _panner_gui_uri; }
- /* this function takes the process lock */
+ /* this function takes the process lock: */
bool select_panner_by_uri (std::string const uri);
private:
@@ -84,7 +90,11 @@ public:
bool set_user_selected_panner_uri (std::string const uri);
boost::shared_ptr<Panner> _panner;
- boost::shared_ptr<Pannable> _pannable;
+
+ boost::shared_ptr<Pannable> _pannable_internal;
+ boost::shared_ptr<Pannable> _pannable_route;
+ bool _is_send;
+ bool _panlinked;
bool _bypassed;
std::string _current_panner_uri;