diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-27 01:31:03 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-27 01:31:03 +0000 |
commit | 15b5fce90480490455237da917167b0bcb5ce946 (patch) | |
tree | 5c1c5929a83c05db1a901e775fefe4f6cf8dc1b7 /libs/ardour/ardour/pannable.h | |
parent | 1385643131a2b2231bbbc0c584c76883fcfb580a (diff) |
merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/pannable.h')
-rw-r--r-- | libs/ardour/ardour/pannable.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libs/ardour/ardour/pannable.h b/libs/ardour/ardour/pannable.h index e6ed2e41c1..dff64cec4b 100644 --- a/libs/ardour/ardour/pannable.h +++ b/libs/ardour/ardour/pannable.h @@ -24,6 +24,7 @@ #include <boost/shared_ptr.hpp> +#include "pbd/stateful.h" #include "evoral/Parameter.hpp" #include "ardour/automatable.h" @@ -33,8 +34,9 @@ namespace ARDOUR { class Session; class AutomationControl; +class Panner; -struct Pannable : public Automatable, public SessionHandleRef { +struct Pannable : public PBD::Stateful, public Automatable, public SessionHandleRef { Pannable (Session& s); boost::shared_ptr<AutomationControl> pan_azimuth_control; @@ -42,6 +44,9 @@ struct Pannable : public Automatable, public SessionHandleRef { boost::shared_ptr<AutomationControl> pan_width_control; boost::shared_ptr<AutomationControl> pan_frontback_control; boost::shared_ptr<AutomationControl> pan_lfe_control; + + boost::shared_ptr<Panner> panner() const { return _panner; } + void set_panner(boost::shared_ptr<Panner>); Session& session() { return _session; } @@ -66,10 +71,21 @@ struct Pannable : public Automatable, public SessionHandleRef { bool writing() const { return _auto_state == Write; } bool touch_enabled() const { return _auto_state == Touch; } + XMLNode& get_state (); + XMLNode& state (bool full_state); + int set_state (const XMLNode&, int version); + + bool has_state() const { return _has_state; } + protected: + boost::shared_ptr<Panner> _panner; AutoState _auto_state; AutoStyle _auto_style; gint _touching; + bool _has_state; + uint32_t _responding_to_control_auto_state_change; + + void control_auto_state_changed (AutoState); }; } // namespace |