ardour
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
ARDOUR::Automatable Class Reference

#include <automatable.h>

Inheritance diagram for ARDOUR::Automatable:
Evoral::ControlSet ARDOUR::AutomatableSequence< T > ARDOUR::Pannable ARDOUR::Processor ARDOUR::Route ARDOUR::AutomatableSequence< Evoral::Beats > ARDOUR::Amp ARDOUR::CapturingProcessor ARDOUR::DelayLine ARDOUR::IOProcessor ARDOUR::MonitorProcessor ARDOUR::PeakMeter ARDOUR::PluginInsert ARDOUR::UnknownProcessor ARDOUR::Track ARDOUR::MidiModel MidiCutBuffer

Public Member Functions

 Automatable (Session &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
boost::shared_ptr
< Evoral::Control
control_factory (const Evoral::Parameter &id)
 
boost::shared_ptr
< AutomationControl
automation_control (const Evoral::Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const
AutomationControl
automation_control (const Evoral::Parameter &id) const
 
virtual void add_control (boost::shared_ptr< Evoral::Control >)
 
void clear_controls ()
 
virtual void transport_located (framepos_t now)
 
virtual void transport_stopped (framepos_t now)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
virtual std::string value_as_string (boost::shared_ptr< AutomationControl >) const
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
AutoStyle get_parameter_automation_style (Evoral::Parameter param)
 
void set_parameter_automation_style (Evoral::Parameter param, AutoStyle)
 
void protect_automation ()
 
const std::set
< Evoral::Parameter > & 
what_can_be_automated () const
 
void what_has_existing_automation (std::set< Evoral::Parameter > &) const
 
int set_automation_xml_state (const XMLNode &, Evoral::Parameter default_param)
 
XMLNodeget_automation_xml_state ()
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
boost::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
bool find_next_event (double start, double end, ControlEvent &ev) const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 

Public Attributes

PBD::Signal0< void > AutomationStateChanged
 

Static Public Attributes

static const std::string xml_node_name = X_("Automation")
 

Protected Member Functions

void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter, ControlList::InterpolationStyle)
 

Protected Attributes

Session_a_session
 
std::set< Evoral::Parameter_can_automate_list
 
framepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 

Private Attributes

PBD::ScopedConnectionList _control_connections
 connections to our controls' signals More...
 

Additional Inherited Members

- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter,
boost::shared_ptr< Control > > 
Controls
 

Detailed Description

Definition at line 42 of file automatable.h.

Constructor & Destructor Documentation

Automatable::Automatable ( Session session)

Definition at line 48 of file automatable.cc.

Automatable::Automatable ( const Automatable other)

Definition at line 53 of file automatable.cc.

Automatable::~Automatable ( )
virtual

Definition at line 65 of file automatable.cc.

Member Function Documentation

void Automatable::add_control ( boost::shared_ptr< Evoral::Control ac)
virtual

Reimplemented from Evoral::ControlSet.

Definition at line 138 of file automatable.cc.

boost::shared_ptr< AutomationControl > Automatable::automation_control ( const Evoral::Parameter id,
bool  create_if_missing = false 
)

Definition at line 475 of file automatable.cc.

boost::shared_ptr< const AutomationControl > Automatable::automation_control ( const Evoral::Parameter id) const

Definition at line 481 of file automatable.cc.

virtual void ARDOUR::Automatable::automation_list_automation_state_changed ( Evoral::Parameter  ,
AutoState   
)
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiModel.

Definition at line 91 of file automatable.h.

void Automatable::can_automate ( Evoral::Parameter  what)
protected

Definition at line 188 of file automatable.cc.

void Automatable::clear_controls ( )
virtual

Reimplemented from Evoral::ControlSet.

Definition at line 487 of file automatable.cc.

boost::shared_ptr< Evoral::Control > Automatable::control_factory ( const Evoral::Parameter id)
virtual

Implements Evoral::ControlSet.

Reimplemented in ARDOUR::MidiModel.

Definition at line 405 of file automatable.cc.

string Automatable::describe_parameter ( Evoral::Parameter  param)
virtual

Reimplemented in ARDOUR::PluginInsert, and ARDOUR::MidiTrack.

Definition at line 160 of file automatable.cc.

XMLNode & Automatable::get_automation_xml_state ( )

Definition at line 252 of file automatable.cc.

AutoState Automatable::get_parameter_automation_state ( Evoral::Parameter  param)

Definition at line 286 of file automatable.cc.

AutoStyle Automatable::get_parameter_automation_style ( Evoral::Parameter  param)

Definition at line 313 of file automatable.cc.

int Automatable::load_automation ( const std::string &  path)
protected

Definition at line 91 of file automatable.cc.

int Automatable::old_set_automation_state ( const XMLNode node)
protected

Definition at line 77 of file automatable.cc.

void Automatable::protect_automation ( )

Definition at line 328 of file automatable.cc.

int Automatable::set_automation_xml_state ( const XMLNode node,
Evoral::Parameter  legacy_param 
)

legacy_param is used for loading legacy sessions where an object (IO, Panner) had a single automation parameter, with it's type implicit. Derived objects should pass that type and it will be used for the untyped AutomationList found.

Definition at line 198 of file automatable.cc.

void Automatable::set_parameter_automation_state ( Evoral::Parameter  param,
AutoState  s 
)
virtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 272 of file automatable.cc.

void Automatable::set_parameter_automation_style ( Evoral::Parameter  param,
AutoStyle  s 
)

Definition at line 300 of file automatable.cc.

void Automatable::transport_located ( framepos_t  now)
virtual

Definition at line 352 of file automatable.cc.

void Automatable::transport_stopped ( framepos_t  now)
virtual

Reimplemented in ARDOUR::Delivery.

Definition at line 370 of file automatable.cc.

string Automatable::value_as_string ( boost::shared_ptr< AutomationControl ac) const
virtual

Reimplemented in ARDOUR::Amp, ARDOUR::Send, and ARDOUR::Pannable.

Definition at line 494 of file automatable.cc.

const std::set<Evoral::Parameter>& ARDOUR::Automatable::what_can_be_automated ( ) const
inline

Definition at line 76 of file automatable.h.

void ARDOUR::Automatable::what_has_existing_automation ( std::set< Evoral::Parameter > &  ) const

Member Data Documentation

Session& ARDOUR::Automatable::_a_session
protected

Definition at line 87 of file automatable.h.

std::set<Evoral::Parameter> ARDOUR::Automatable::_can_automate_list
protected

Definition at line 96 of file automatable.h.

PBD::ScopedConnectionList ARDOUR::Automatable::_control_connections
private

connections to our controls' signals

Definition at line 101 of file automatable.h.

framepos_t ARDOUR::Automatable::_last_automation_snapshot
protected

Definition at line 98 of file automatable.h.

PBD::Signal0<void> ARDOUR::Automatable::AutomationStateChanged

Definition at line 84 of file automatable.h.

const string Automatable::xml_node_name = X_("Automation")
static

Definition at line 79 of file automatable.h.


The documentation for this class was generated from the following files: