AutoState automation_state() const { return _auto_state; }
PBD::Signal1<void, AutoState> automation_state_changed;
- void set_automation_style (AutoStyle m);
- AutoStyle automation_style() const { return _auto_style; }
- PBD::Signal0<void> automation_style_changed;
-
bool automation_playback() const {
- return (_auto_state & Play) || ((_auto_state & Touch) && !touching());
+ return (_auto_state & Play) || ((_auto_state & (Touch | Latch)) && !touching());
}
bool automation_write () const {
- return ((_auto_state & Write) || ((_auto_state & Touch) && touching()));
+ return ((_auto_state & Write) || ((_auto_state & (Touch | Latch)) && touching()));
}
- std::string value_as_string (boost::shared_ptr<AutomationControl>) const;
+ std::string value_as_string (boost::shared_ptr<const AutomationControl>) const;
void start_touch (double when);
- void stop_touch (bool mark, double when);
- bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); }
+ void stop_touch (double when);
+ bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); }
bool writing() const { return _auto_state == Write; }
- bool touch_enabled() const { return _auto_state == Touch; }
+ bool touch_enabled() const { return _auto_state & (Touch | Latch); }
XMLNode& get_state ();
XMLNode& state (bool full_state);
protected:
boost::weak_ptr<Panner> _panner;
AutoState _auto_state;
- AutoStyle _auto_style;
gint _touching;
bool _has_state;
uint32_t _responding_to_control_auto_state_change;