Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::Automatable Class Reference

#include <automatable.h>

Inheritance diagram for ARDOUR::Automatable:
[legend]

Public Member Functions

 Automatable (Session &, Temporal::TimeDomainProvider const &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
virtual void automatables (PBD::ControllableSet &) const
 
std::shared_ptr< Evoral::Controlcontrol_factory (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (PBD::ID const &id) const
 
virtual std::shared_ptr< AutomationControlautomation_control_recurse (PBD::ID const &id) const
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id, bool create_if_missing)
 
std::shared_ptr< const AutomationControlautomation_control (const Evoral::Parameter &id) const
 
virtual void add_control (std::shared_ptr< Evoral::Control >)
 
virtual bool find_next_event (Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev, bool only_active=true) const
 
void clear_controls ()
 
virtual void non_realtime_locate (samplepos_t now)
 
virtual void non_realtime_transport_stop (samplepos_t now, bool flush)
 
virtual void automation_run (samplepos_t, pframes_t, bool only_active=false)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
void protect_automation ()
 
const std::set< Evoral::Parameter > & what_can_be_automated () const
 
std::vector< Evoral::Parameterall_automatable_params () 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 () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
std::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
std::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Temporal::TimeDomainSwapper
virtual ~TimeDomainSwapper ()
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Slavable
 Slavable ()
 
virtual ~Slavable ()
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int)
 
virtual void assign (std::shared_ptr< VCA >)
 
void unassign (std::shared_ptr< VCA >)
 
std::vector< std::shared_ptr< VCA > > masters (VCAManager *) const
 
bool assigned_to (VCAManager *, std::shared_ptr< VCA >) const
 
- Public Member Functions inherited from Temporal::TimeDomainProvider
 TimeDomainProvider ()
 
 TimeDomainProvider (TimeDomain td)
 
 TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p)
 
 TimeDomainProvider (TimeDomainProvider const &other)
 
 TimeDomainProvider (TimeDomainProvider const &parnt, bool)
 
virtual ~TimeDomainProvider ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
TimeDomainProvideroperator= (TimeDomainProvider const &other)
 
TimeDomain time_domain () const
 
bool has_own_time_domain () const
 
void clear_time_domain ()
 
void set_time_domain (TimeDomain td)
 
TimeDomainProvider const * time_domain_parent () const
 
bool has_time_domain_parent () const
 
void clear_time_domain_parent ()
 
void set_time_domain_parent (TimeDomainProvider const &p)
 
virtual void time_domain_changed ()
 

Static Public Member Functions

static void find_next_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 
static void find_prev_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 

Public Attributes

PBD::Signal< void()> AutomationStateChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Public Attributes inherited from ARDOUR::Slavable
PBD::Signal< void(std::shared_ptr< VCA >, bool)> AssignmentChange
 
- Public Attributes inherited from Temporal::TimeDomainProvider
PBD::Signal< void()> TimeDomainChanged
 

Static Public Attributes

static bool skip_saving_automation
 
static const std::string xml_node_name
 
- Static Public Attributes inherited from ARDOUR::Slavable
static std::string xml_node_name
 
static PBD::Signal< void(VCAManager *)> Assign
 

Protected Member Functions

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

Protected Attributes

Session_a_session
 
SerializedRCUManager< AutomationControlList_automated_controls
 
std::set< Evoral::Parameter_can_automate_list
 
samplepos_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, std::shared_ptr< Control > > Controls
 

Detailed Description

Definition at line 52 of file automatable.h.

Constructor & Destructor Documentation

◆ Automatable() [1/2]

ARDOUR::Automatable::Automatable ( Session ,
Temporal::TimeDomainProvider const &   
)

◆ Automatable() [2/2]

ARDOUR::Automatable::Automatable ( const Automatable other)

◆ ~Automatable()

virtual ARDOUR::Automatable::~Automatable ( )
virtual

Member Function Documentation

◆ add_control()

virtual void ARDOUR::Automatable::add_control ( std::shared_ptr< Evoral::Control )
virtual

Reimplemented from Evoral::ControlSet.

◆ all_automatable_params()

std::vector<Evoral::Parameter> ARDOUR::Automatable::all_automatable_params ( ) const

API for Lua binding

◆ automatables()

virtual void ARDOUR::Automatable::automatables ( PBD::ControllableSet ) const
virtual

Reimplemented in ARDOUR::Route.

◆ automation_control() [1/4]

std::shared_ptr<AutomationControl> ARDOUR::Automatable::automation_control ( const Evoral::Parameter id)
inlinevirtual

Implements ARDOUR::Slavable.

Definition at line 85 of file automatable.h.

◆ automation_control() [2/4]

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

◆ automation_control() [3/4]

std::shared_ptr<AutomationControl> ARDOUR::Automatable::automation_control ( const Evoral::Parameter id,
bool  create_if_missing 
)

◆ automation_control() [4/4]

std::shared_ptr<AutomationControl> ARDOUR::Automatable::automation_control ( PBD::ID const &  id) const

◆ automation_control_recurse()

virtual std::shared_ptr<AutomationControl> ARDOUR::Automatable::automation_control_recurse ( PBD::ID const &  id) const
inlinevirtual

Reimplemented in ARDOUR::Route.

Definition at line 81 of file automatable.h.

◆ automation_list_automation_state_changed()

virtual void ARDOUR::Automatable::automation_list_automation_state_changed ( Evoral::Parameter const &  ,
AutoState   
)
protectedvirtual

Reimplemented in ARDOUR::MidiModel.

◆ automation_run()

virtual void ARDOUR::Automatable::automation_run ( samplepos_t  ,
pframes_t  ,
bool  only_active = false 
)
virtual

Reimplemented in ARDOUR::PluginInsert.

◆ can_automate()

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

◆ clear_controls()

void ARDOUR::Automatable::clear_controls ( )
virtual

Reimplemented from Evoral::ControlSet.

◆ control_factory()

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

Implements Evoral::ControlSet.

Reimplemented in ARDOUR::MidiModel.

◆ describe_parameter()

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

◆ find_next_ac_event()

static void ARDOUR::Automatable::find_next_ac_event ( std::shared_ptr< AutomationControl ,
Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end,
Evoral::ControlEvent ev 
)
static

◆ find_next_event()

virtual bool ARDOUR::Automatable::find_next_event ( Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end,
Evoral::ControlEvent ev,
bool  only_active = true 
) const
virtual

Reimplemented in ARDOUR::PluginInsert.

◆ find_prev_ac_event()

static void ARDOUR::Automatable::find_prev_ac_event ( std::shared_ptr< AutomationControl ,
Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end,
Evoral::ControlEvent ev 
)
static

◆ finish_domain_bounce()

void ARDOUR::Automatable::finish_domain_bounce ( Temporal::DomainBounceInfo )
virtual

Implements Temporal::TimeDomainSwapper.

Reimplemented in ARDOUR::Pannable.

◆ get_automation_xml_state()

XMLNode& ARDOUR::Automatable::get_automation_xml_state ( ) const

◆ get_parameter_automation_state()

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

◆ load_automation()

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

◆ non_realtime_locate()

virtual void ARDOUR::Automatable::non_realtime_locate ( samplepos_t  now)
virtual

◆ non_realtime_transport_stop()

virtual void ARDOUR::Automatable::non_realtime_transport_stop ( samplepos_t  now,
bool  flush 
)
virtual

◆ old_set_automation_state()

int ARDOUR::Automatable::old_set_automation_state ( const XMLNode )
protected

◆ protect_automation()

void ARDOUR::Automatable::protect_automation ( )

◆ set_automation_xml_state()

int ARDOUR::Automatable::set_automation_xml_state ( const XMLNode ,
Evoral::Parameter  default_param 
)

◆ set_parameter_automation_state()

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

Reimplemented in ARDOUR::MidiTrack.

◆ slavables()

SlavableAutomationControlList ARDOUR::Automatable::slavables ( ) const
inlineprotectedvirtual

Implements ARDOUR::Slavable.

Reimplemented in ARDOUR::VCA, and ARDOUR::Route.

Definition at line 142 of file automatable.h.

◆ start_domain_bounce()

void ARDOUR::Automatable::start_domain_bounce ( Temporal::DomainBounceInfo )
virtual

Implements Temporal::TimeDomainSwapper.

Reimplemented in ARDOUR::Pannable.

◆ what_can_be_automated()

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

Definition at line 107 of file automatable.h.

◆ what_has_existing_automation()

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

Member Data Documentation

◆ _a_session

Session& ARDOUR::Automatable::_a_session
protected

Definition at line 128 of file automatable.h.

◆ _automated_controls

SerializedRCUManager<AutomationControlList> ARDOUR::Automatable::_automated_controls
protected

Definition at line 133 of file automatable.h.

◆ _can_automate_list

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

Definition at line 138 of file automatable.h.

◆ _control_connections

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

connections to our controls' signals

Definition at line 145 of file automatable.h.

◆ _last_automation_snapshot

samplepos_t ARDOUR::Automatable::_last_automation_snapshot
protected

Definition at line 140 of file automatable.h.

◆ AutomationStateChanged

PBD::Signal<void()> ARDOUR::Automatable::AutomationStateChanged

Definition at line 119 of file automatable.h.

◆ skip_saving_automation

bool ARDOUR::Automatable::skip_saving_automation
static

Definition at line 62 of file automatable.h.

◆ xml_node_name

const std::string ARDOUR::Automatable::xml_node_name
static

Definition at line 114 of file automatable.h.


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