19 #ifndef EVORAL_CONTROLLABLE_HPP
20 #define EVORAL_CONTROLLABLE_HPP
24 #include <boost/shared_ptr.hpp>
25 #include <boost/utility.hpp>
26 #include <glibmm/threads.h>
49 control (
const Parameter&
id,
bool create_if_missing=
false);
53 const Controls::const_iterator i = _controls.find(
id);
57 typedef std::map< Parameter, boost::shared_ptr<Control> >
Controls;
58 inline Controls&
controls() {
return _controls; }
59 inline const Controls&
controls()
const {
return _controls; }
66 virtual void clear_controls();
68 void what_has_data(std::set<Parameter>&)
const;
70 Glib::Threads::Mutex&
control_lock()
const {
return _control_lock; }
89 #endif // EVORAL_CONTROLLABLE_HPP
boost::shared_ptr< const Control > control(const Parameter &id) const
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
Glib::Threads::Mutex _control_lock
const Controls & controls() const
virtual void control_list_interpolation_changed(Parameter, ControlList::InterpolationStyle)
Glib::Threads::Mutex & control_lock() const
std::map< Parameter, boost::shared_ptr< Control > > Controls
virtual bool controls_empty() const
PBD::ScopedConnectionList _control_connections
virtual void control_list_marked_dirty()
PBD::ScopedConnectionList _list_connections