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

#include <automation_list.h>

Inheritance diagram for ARDOUR::AutomationList:
PBD::StatefulDestructible Evoral::ControlList PBD::Stateful PBD::Destructible

Public Member Functions

 AutomationList (const Evoral::Parameter &id, const Evoral::ParameterDescriptor &desc)
 
 AutomationList (const Evoral::Parameter &id)
 
 AutomationList (const XMLNode &, Evoral::Parameter id)
 
 AutomationList (const AutomationList &)
 
 AutomationList (const AutomationList &, double start, double end)
 
 ~AutomationList ()
 
virtual boost::shared_ptr
< ControlList
create (const Evoral::Parameter &id, const Evoral::ParameterDescriptor &desc)
 
AutomationListoperator= (const AutomationList &)
 
void thaw ()
 
void set_automation_state (AutoState)
 
AutoState automation_state () const
 
void set_automation_style (AutoStyle m)
 
AutoStyle automation_style () const
 
bool automation_playback () const
 
bool automation_write () const
 
void start_touch (double when)
 
void stop_touch (bool mark, double when)
 
bool touching () const
 
bool writing () const
 
bool touch_enabled () const
 
XMLNodeget_state ()
 
int set_state (const XMLNode &, int version)
 
XMLNodestate (bool full)
 
XMLNodeserialize_events ()
 
bool operator!= (const AutomationList &) const
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from Evoral::ControlList
 ControlList (const Parameter &id, const ParameterDescriptor &desc)
 
 ControlList (const ControlList &)
 
 ControlList (const ControlList &, double start, double end)
 
virtual ~ControlList ()
 
void dump (std::ostream &)
 
ControlListoperator= (const ControlList &)
 
bool operator== (const ControlList &)
 
void copy_events (const ControlList &)
 
virtual void freeze ()
 
bool frozen () const
 
const Parameterparameter () const
 
void set_parameter (const Parameter &p)
 
const ParameterDescriptordescriptor () const
 
void set_descriptor (const ParameterDescriptor &d)
 
EventList::size_type size () const
 
double length () const
 
bool empty () const
 
void reset_default (double val)
 
void clear ()
 
void x_scale (double factor)
 
bool extend_to (double)
 
void slide (iterator before, double distance)
 
void shift (double before, double distance)
 
virtual void add (double when, double value, bool with_guards=true, bool with_default=true)
 
virtual void editor_add (double when, double value)
 
void fast_simple_add (double when, double value)
 
void erase_range (double start, double end)
 
void erase (iterator)
 
void erase (iterator, iterator)
 
void erase (double, double)
 
bool move_ranges (std::list< RangeMove< double > > const &)
 
void modify (iterator, double, double)
 
void thin (double thinning_factor)
 
boost::shared_ptr< ControlListcut (double, double)
 
boost::shared_ptr< ControlListcopy (double, double)
 
void clear (double, double)
 
bool paste (const ControlList &, double position, float times)
 
void set_yrange (double min, double max)
 
double get_max_y () const
 
double get_min_y () const
 
void truncate_end (double length)
 
void truncate_start (double length)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
ControlEventback ()
 
const ControlEventback () const
 
ControlEventfront ()
 
const ControlEventfront () const
 
std::pair
< ControlList::iterator,
ControlList::iterator
control_points_adjacent (double when)
 
template<class T >
void apply_to_points (T &obj, void(T::*method)(const ControlList &))
 
double eval (double where)
 
double rt_safe_eval (double where, bool &ok)
 
const EventListevents () const
 
double default_value () const
 
Glib::Threads::RWLock & lock () const
 
LookupCachelookup_cache () const
 
SearchCachesearch_cache () const
 
double unlocked_eval (double x) const
 
bool rt_safe_earliest_event (double start, double &x, double &y, bool start_inclusive=false) const
 
bool rt_safe_earliest_event_unlocked (double start, double &x, double &y, bool start_inclusive=false) const
 
bool rt_safe_earliest_event_linear_unlocked (double start, double &x, double &y, bool inclusive) const
 
bool rt_safe_earliest_event_discrete_unlocked (double start, double &x, double &y, bool inclusive) const
 
void create_curve ()
 
void destroy_curve ()
 
Curvecurve ()
 
const Curvecurve () const
 
void mark_dirty () const
 
InterpolationStyle interpolation () const
 
void set_interpolation (InterpolationStyle)
 
void start_write_pass (double time)
 
void write_pass_finished (double when, double thinning_factor=0.0)
 
void set_in_write_pass (bool, bool add_point=false, double when=0.0)
 
bool in_write_pass () const
 
bool operator!= (ControlList const &) const
 
void invalidate_insert_iterator ()
 

Public Attributes

PBD::Signal1< void, AutoStateautomation_state_changed
 
PBD::Signal0< void > automation_style_changed
 
PBD::Signal0< void > StateChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Public Attributes inherited from Evoral::ControlList
PBD::Signal0< void > Dirty
 
PBD::Signal1< void,
InterpolationStyle
InterpolationChanged
 

Static Public Attributes

static PBD::Signal1< void,
AutomationList * > 
AutomationListCreated
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 

Private Member Functions

void create_curve_if_necessary ()
 
int deserialize_events (const XMLNode &)
 
void maybe_signal_changed ()
 
bool operator== (const AutomationList &) const
 

Private Attributes

AutoState _state
 
AutoStyle _style
 
gint _touching
 

Additional Inherited Members

- Public Types inherited from Evoral::ControlList
enum  InterpolationStyle { Discrete, Linear, Curved }
 
typedef std::list< ControlEvent * > EventList
 
typedef EventList::iterator iterator
 
typedef EventList::reverse_iterator reverse_iterator
 
typedef EventList::const_iterator const_iterator
 
typedef
EventList::const_reverse_iterator 
const_reverse_iterator
 
- Static Public Member Functions inherited from Evoral::ControlList
static bool time_comparator (const ControlEvent *a, const ControlEvent *b)
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Member Functions inherited from Evoral::ControlList
double multipoint_eval (double x) const
 
void build_search_cache_if_necessary (double start) const
 
boost::shared_ptr< ControlListcut_copy_clear (double, double, int op)
 
bool erase_range_internal (double start, double end, EventList &)
 
void maybe_add_insert_guard (double when)
 
iterator erase_from_iterator_to (iterator iter, double when)
 
bool maybe_insert_straight_line (double when, double value)
 
void _x_scale (double factor)
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Protected Attributes inherited from Evoral::ControlList
LookupCache _lookup_cache
 
SearchCache _search_cache
 
Glib::Threads::RWLock _lock
 
Parameter _parameter
 
ParameterDescriptor _desc
 
InterpolationStyle _interpolation
 
EventList _events
 
int8_t _frozen
 
bool _changed_when_thawed
 
double _min_yval
 
double _max_yval
 
double _default_value
 
bool _sort_pending
 
Curve_curve
 

Detailed Description

Definition at line 64 of file automation_list.h.

Constructor & Destructor Documentation

AutomationList::AutomationList ( const Evoral::Parameter id,
const Evoral::ParameterDescriptor desc 
)

Definition at line 51 of file automation_list.cc.

AutomationList::AutomationList ( const Evoral::Parameter id)

Definition at line 64 of file automation_list.cc.

AutomationList::AutomationList ( const XMLNode node,
Evoral::Parameter  id 
)
Parameters
idis used for legacy sessions where the type is not present in or below the AutomationList node. It is used if
idis non-null.

Definition at line 107 of file automation_list.cc.

AutomationList::AutomationList ( const AutomationList other)

Definition at line 77 of file automation_list.cc.

AutomationList::AutomationList ( const AutomationList other,
double  start,
double  end 
)

Definition at line 91 of file automation_list.cc.

AutomationList::~AutomationList ( )

Definition at line 126 of file automation_list.cc.

Member Function Documentation

bool ARDOUR::AutomationList::automation_playback ( ) const
inline

Definition at line 89 of file automation_list.h.

AutoState ARDOUR::AutomationList::automation_state ( ) const
inline

Definition at line 82 of file automation_list.h.

AutoStyle ARDOUR::AutomationList::automation_style ( ) const
inline

Definition at line 86 of file automation_list.h.

bool ARDOUR::AutomationList::automation_write ( ) const
inline

Definition at line 92 of file automation_list.h.

boost::shared_ptr< Evoral::ControlList > AutomationList::create ( const Evoral::Parameter id,
const Evoral::ParameterDescriptor desc 
)
virtual

Reimplemented from Evoral::ControlList.

Definition at line 131 of file automation_list.cc.

void AutomationList::create_curve_if_necessary ( )
private

Definition at line 138 of file automation_list.cc.

int AutomationList::deserialize_events ( const XMLNode node)
private

Definition at line 321 of file automation_list.cc.

XMLNode & AutomationList::get_state ( void  )
virtual

Implements PBD::Stateful.

Definition at line 247 of file automation_list.cc.

void AutomationList::maybe_signal_changed ( )
privatevirtual

Reimplemented from Evoral::ControlList.

Definition at line 175 of file automation_list.cc.

bool AutomationList::operator!= ( const AutomationList other) const

Definition at line 500 of file automation_list.cc.

AutomationList & AutomationList::operator= ( const AutomationList other)

Definition at line 157 of file automation_list.cc.

bool ARDOUR::AutomationList::operator== ( const AutomationList ) const
inlineprivate

Definition at line 123 of file automation_list.h.

XMLNode & AutomationList::serialize_events ( )

Definition at line 296 of file automation_list.cc.

void AutomationList::set_automation_state ( AutoState  s)

Definition at line 185 of file automation_list.cc.

void AutomationList::set_automation_style ( AutoStyle  m)

Definition at line 194 of file automation_list.cc.

int AutomationList::set_state ( const XMLNode node,
int  version 
)
virtual

Implements PBD::Stateful.

Definition at line 369 of file automation_list.cc.

void AutomationList::start_touch ( double  when)

Definition at line 203 of file automation_list.cc.

XMLNode & AutomationList::state ( bool  full)

Definition at line 253 of file automation_list.cc.

void AutomationList::stop_touch ( bool  mark,
double  when 
)

Definition at line 213 of file automation_list.cc.

void AutomationList::thaw ( )
virtual

Reimplemented from Evoral::ControlList.

Definition at line 236 of file automation_list.cc.

bool ARDOUR::AutomationList::touch_enabled ( ) const
inlinevirtual

Reimplemented from Evoral::ControlList.

Definition at line 104 of file automation_list.h.

bool ARDOUR::AutomationList::touching ( ) const
inlinevirtual

Reimplemented from Evoral::ControlList.

Definition at line 102 of file automation_list.h.

bool ARDOUR::AutomationList::writing ( ) const
inlinevirtual

Reimplemented from Evoral::ControlList.

Definition at line 103 of file automation_list.h.

Member Data Documentation

AutoState ARDOUR::AutomationList::_state
private

Definition at line 119 of file automation_list.h.

AutoStyle ARDOUR::AutomationList::_style
private

Definition at line 120 of file automation_list.h.

gint ARDOUR::AutomationList::_touching
private

Definition at line 121 of file automation_list.h.

PBD::Signal1<void, AutoState> ARDOUR::AutomationList::automation_state_changed

Definition at line 83 of file automation_list.h.

PBD::Signal0<void> ARDOUR::AutomationList::automation_style_changed

Definition at line 87 of file automation_list.h.

PBD::Signal1< void, AutomationList * > AutomationList::AutomationListCreated
static

Definition at line 98 of file automation_list.h.

PBD::Signal0<void> ARDOUR::AutomationList::StateChanged

Definition at line 96 of file automation_list.h.


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