diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-14 10:56:17 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-14 10:56:17 -0500 |
commit | cf806123ca5faaef483f898daba3f7bd38ec62eb (patch) | |
tree | f11f2f9ff64ea3b3682c81b8dd893ba0e9476445 /libs/ardour/ardour/panner_shell.h | |
parent | cfc9a1f22ea38d4dd6c619d6cec25fe29b1c2f48 (diff) | |
parent | d9296b71237d9d3058b0796eda25258fadd45ad9 (diff) |
merge (with conflict fixes) with master (even against rgareus' recommendation)
Diffstat (limited to 'libs/ardour/ardour/panner_shell.h')
-rw-r--r-- | libs/ardour/ardour/panner_shell.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/libs/ardour/ardour/panner_shell.h b/libs/ardour/ardour/panner_shell.h index 76df20489f..02f80c7b28 100644 --- a/libs/ardour/ardour/panner_shell.h +++ b/libs/ardour/ardour/panner_shell.h @@ -50,7 +50,7 @@ class Pannable; class LIBARDOUR_API 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); @@ -64,25 +64,38 @@ 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: */ + bool select_panner_by_uri (std::string const uri); + private: friend class Route; void distribute_no_automation (BufferSet& src, BufferSet& dest, pframes_t nframes, gain_t gain_coeff); 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; |