Ardour  9.0-pre0-384-ga76afae0e9
ARDOUR::ControlGroup Class Reference

#include <control_group.h>

Inheritance diagram for ARDOUR::ControlGroup:
[legend]

Public Types

enum  Mode { Relative = 0x1 , Inverted = 0x2 }
 
typedef std::map< PBD::ID, std::shared_ptr< AutomationControl > > ControlMap
 

Public Member Functions

 ControlGroup (Evoral::Parameter p)
 
virtual ~ControlGroup ()
 
void fill_from_stripable_list (StripableList &, Evoral::Parameter const &)
 
int add_control (std::shared_ptr< AutomationControl >, bool push=false)
 
int remove_control (std::shared_ptr< AutomationControl >, bool pop=false)
 
void pop_all ()
 
AutomationControlList controls () const
 
void clear (bool pop=false)
 
void set_active (bool)
 
bool active () const
 
void set_mode (Mode m)
 
Mode mode () const
 
Evoral::Parameter parameter () const
 
virtual void set_group_value (std::shared_ptr< AutomationControl >, double val)
 
virtual void pre_realtime_queue_stuff (double val)
 
bool use_me (PBD::Controllable::GroupControlDisposition gcd) const
 
ControlMap::size_type size () const
 

Protected Member Functions

void control_going_away (std::weak_ptr< AutomationControl >)
 

Protected Attributes

Evoral::Parameter _parameter
 
Glib::Threads::RWLock controls_lock
 
ControlMap _controls
 
bool _active
 
Mode _mode
 
PBD::ScopedConnectionList member_connections
 
bool propagating
 

Detailed Description

Definition at line 40 of file ardour/ardour/control_group.h.

Member Typedef Documentation

◆ ControlMap

typedef std::map<PBD::ID,std::shared_ptr<AutomationControl> > ARDOUR::ControlGroup::ControlMap

Definition at line 86 of file ardour/ardour/control_group.h.

Member Enumeration Documentation

◆ Mode

Enumerator
Relative 
Inverted 

Definition at line 46 of file ardour/ardour/control_group.h.

Constructor & Destructor Documentation

◆ ControlGroup()

ARDOUR::ControlGroup::ControlGroup ( Evoral::Parameter  p)

◆ ~ControlGroup()

virtual ARDOUR::ControlGroup::~ControlGroup ( )
virtual

Member Function Documentation

◆ active()

bool ARDOUR::ControlGroup::active ( ) const
inline

Definition at line 63 of file ardour/ardour/control_group.h.

◆ add_control()

int ARDOUR::ControlGroup::add_control ( std::shared_ptr< AutomationControl ,
bool  push = false 
)

◆ clear()

void ARDOUR::ControlGroup::clear ( bool  pop = false)

◆ control_going_away()

void ARDOUR::ControlGroup::control_going_away ( std::weak_ptr< AutomationControl )
protected

◆ controls()

AutomationControlList ARDOUR::ControlGroup::controls ( ) const

◆ fill_from_stripable_list()

void ARDOUR::ControlGroup::fill_from_stripable_list ( StripableList ,
Evoral::Parameter const &   
)

◆ mode()

Mode ARDOUR::ControlGroup::mode ( ) const
inline

Definition at line 66 of file ardour/ardour/control_group.h.

◆ parameter()

Evoral::Parameter ARDOUR::ControlGroup::parameter ( ) const
inline

Definition at line 68 of file ardour/ardour/control_group.h.

◆ pop_all()

void ARDOUR::ControlGroup::pop_all ( )

◆ pre_realtime_queue_stuff()

virtual void ARDOUR::ControlGroup::pre_realtime_queue_stuff ( double  val)
virtual

◆ remove_control()

int ARDOUR::ControlGroup::remove_control ( std::shared_ptr< AutomationControl ,
bool  pop = false 
)

◆ set_active()

void ARDOUR::ControlGroup::set_active ( bool  )

◆ set_group_value()

virtual void ARDOUR::ControlGroup::set_group_value ( std::shared_ptr< AutomationControl ,
double  val 
)
virtual

Reimplemented in ARDOUR::GainControlGroup.

◆ set_mode()

void ARDOUR::ControlGroup::set_mode ( Mode  m)

◆ size()

ControlMap::size_type ARDOUR::ControlGroup::size ( ) const
inline

Definition at line 87 of file ardour/ardour/control_group.h.

◆ use_me()

bool ARDOUR::ControlGroup::use_me ( PBD::Controllable::GroupControlDisposition  gcd) const
inline

Definition at line 73 of file ardour/ardour/control_group.h.

Member Data Documentation

◆ _active

bool ARDOUR::ControlGroup::_active
protected

Definition at line 93 of file ardour/ardour/control_group.h.

◆ _controls

ControlMap ARDOUR::ControlGroup::_controls
protected

Definition at line 92 of file ardour/ardour/control_group.h.

◆ _mode

Mode ARDOUR::ControlGroup::_mode
protected

Definition at line 94 of file ardour/ardour/control_group.h.

◆ _parameter

Evoral::Parameter ARDOUR::ControlGroup::_parameter
protected

Definition at line 90 of file ardour/ardour/control_group.h.

◆ controls_lock

Glib::Threads::RWLock ARDOUR::ControlGroup::controls_lock
mutableprotected

Definition at line 91 of file ardour/ardour/control_group.h.

◆ member_connections

PBD::ScopedConnectionList ARDOUR::ControlGroup::member_connections
protected

Definition at line 95 of file ardour/ardour/control_group.h.

◆ propagating

bool ARDOUR::ControlGroup::propagating
protected

Definition at line 96 of file ardour/ardour/control_group.h.


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