diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-13 23:21:30 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-13 23:21:30 +0100 |
commit | e45151b89c64912077c03fc979f1581780ac9e27 (patch) | |
tree | 0fa6c5fbcb350dd40fadb36f97b472ae25bd0e73 /libs/ardour/ardour/panner_shell.h | |
parent | 5b0c90299785d46357a70cc7625c9b3ee87486f1 (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.h | 18 |
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; |