ardour
Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | List of all members
Evoral::Control Class Reference

#include <Control.hpp>

Inheritance diagram for Evoral::Control:
ARDOUR::AutomationControl ARDOUR::Amp::GainControl ARDOUR::MidiTrack::MidiControl ARDOUR::PanControllable ARDOUR::PluginInsert::PluginControl ARDOUR::PluginInsert::PluginPropertyControl ARDOUR::Route::MuteControllable ARDOUR::Route::SoloControllable ARDOUR::Track::RecEnableControl

Public Member Functions

 Control (const Parameter &parameter, const ParameterDescriptor &desc, boost::shared_ptr< ControlList > list)
 
virtual ~Control ()
 
virtual void set_double (double val, double frame=0, bool to_list=false)
 
virtual double get_double (bool from_list=false, double frame=0) const
 
double user_double () const
 
void set_list (boost::shared_ptr< ControlList >)
 
boost::shared_ptr< ControlListlist ()
 
boost::shared_ptr< const
ControlList
list () const
 
const Parameterparameter () const
 

Public Attributes

PBD::Signal0< void > ListMarkedDirty
 

Protected Attributes

Parameter _parameter
 
boost::shared_ptr< ControlList_list
 
double _user_value
 
PBD::ScopedConnection _list_marked_dirty_connection
 

Private Member Functions

void list_marked_dirty ()
 

Detailed Description

Base class representing some kind of (automatable) control; a fader's gain, for example, or a compressor plugin's threshold.

The class knows the Evoral::Parameter that it is controlling, and has a list of values for automation.

Definition at line 44 of file Control.hpp.

Constructor & Destructor Documentation

Evoral::Control::Control ( const Parameter parameter,
const ParameterDescriptor desc,
boost::shared_ptr< ControlList list 
)

Definition at line 30 of file Control.cpp.

virtual Evoral::Control::~Control ( )
inlinevirtual

Definition at line 51 of file Control.hpp.

Member Function Documentation

double Evoral::Control::get_double ( bool  from_list = false,
double  frame = 0 
) const
virtual

Get the currently effective value (ie the one that corresponds to current output)

Definition at line 43 of file Control.cpp.

boost::shared_ptr<ControlList> Evoral::Control::list ( )
inline

Definition at line 66 of file Control.hpp.

boost::shared_ptr<const ControlList> Evoral::Control::list ( ) const
inline

Definition at line 67 of file Control.hpp.

void Evoral::Control::list_marked_dirty ( )
private

Definition at line 81 of file Control.cpp.

const Parameter& Evoral::Control::parameter ( ) const
inline

Definition at line 69 of file Control.hpp.

void Evoral::Control::set_double ( double  val,
double  frame = 0,
bool  to_list = false 
)
virtual

Definition at line 54 of file Control.cpp.

void Evoral::Control::set_list ( boost::shared_ptr< ControlList list)

Definition at line 69 of file Control.cpp.

double Evoral::Control::user_double ( ) const
inline

Get the latest user-set value (which may not equal get_value() when automation is playing back).

Automation write/touch works by periodically sampling this value and adding it to the ControlList.

Definition at line 62 of file Control.hpp.

Member Data Documentation

boost::shared_ptr<ControlList> Evoral::Control::_list
protected

Definition at line 76 of file Control.hpp.

PBD::ScopedConnection Evoral::Control::_list_marked_dirty_connection
protected

Definition at line 78 of file Control.hpp.

Parameter Evoral::Control::_parameter
protected

Definition at line 75 of file Control.hpp.

double Evoral::Control::_user_value
protected

Definition at line 77 of file Control.hpp.

PBD::Signal0<void> Evoral::Control::ListMarkedDirty

Emitted when the our ControlList is marked dirty

Definition at line 72 of file Control.hpp.


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