Ardour
9.0-pre0-582-g084a23a80d
|
#include <automation_control.h>
Public Member Functions | |
AutomationControl (ARDOUR::Session &, const Evoral::Parameter ¶meter, const ParameterDescriptor &desc, std::shared_ptr< ARDOUR::AutomationList > l=std::shared_ptr< ARDOUR::AutomationList >(), const std::string &name="", PBD::Controllable::Flag flags=PBD::Controllable::Flag(0)) | |
virtual | ~AutomationControl () |
std::shared_ptr< AutomationList > | alist () const |
void | set_list (std::shared_ptr< Evoral::ControlList >) |
bool | automation_playback () const |
bool | automation_write () const |
AutoState | automation_state () const |
void | set_automation_state (AutoState as) |
void | start_touch (timepos_t const &when) |
void | stop_touch (timepos_t const &when) |
virtual double | get_value () const |
virtual double | get_save_value () const |
void | set_value (double value, PBD::Controllable::GroupControlDisposition group_override) |
virtual bool | writable () const |
void | set_value_unchecked (double val) |
virtual void | automation_run (samplepos_t start, pframes_t nframes) |
double | lower () const |
double | upper () const |
double | normal () const |
bool | toggled () const |
double | internal_to_interface (double, bool rotary=false) const |
double | interface_to_internal (double, bool rotary=false) const |
virtual std::string | get_user_string () const |
const ParameterDescriptor & | desc () const |
const ARDOUR::Session & | session () const |
void | commit_transaction (bool did_write) |
AutomationControlList | grouped_controls () const |
void | add_visually_linked_control (std::shared_ptr< AutomationControl > ctrl) |
void | clear_visually_linked_control () |
WeakAutomationControlList | visually_linked_controls () const |
Public Member Functions inherited from PBD::Controllable | |
Controllable (const std::string &name, Flag f=Flag(0)) | |
virtual float | get_interface (bool rotary=false) const |
virtual void | set_interface (float fraction, bool rotary=false, GroupControlDisposition gcd=NoGroup) |
int | set_state (const XMLNode &, int version) |
virtual XMLNode & | get_state () const |
std::string | name () const |
bool | touching () const |
bool | is_toggle () const |
bool | is_gain_like () const |
Flag | flags () const |
void | set_flags (Flag f) |
void | set_flag (Flag f) |
_flags |= f; More... | |
void | clear_flag (Flag f) |
_flags &= ~f; More... | |
Public Member Functions inherited from PBD::Stateful | |
Stateful () | |
virtual | ~Stateful () |
virtual bool | apply_change (PropertyBase const &) |
PropertyChange | apply_changes (PropertyList const &) |
const OwnedPropertyList & | properties () const |
void | add_property (PropertyBase &s) |
void | add_extra_xml (XMLNode &) |
XMLNode * | extra_xml (const std::string &str, bool add_if_missing=false) |
void | save_extra_xml (const XMLNode &) |
const PBD::ID & | id () const |
bool | set_id (const XMLNode &) |
void | set_id (const std::string &) |
void | reset_id () |
void | clear_changes () |
virtual void | clear_owned_changes () |
PropertyList * | get_changes_as_properties (PBD::Command *) const |
virtual void | rdiff (std::vector< PBD::Command * > &) const |
bool | changed () const |
virtual PropertyList * | property_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 | |
virtual | ~Destructible () |
virtual void | drop_references () |
Public Member Functions inherited from Evoral::Control | |
Control (const Parameter ¶meter, const ParameterDescriptor &desc, std::shared_ptr< ControlList > list) | |
virtual | ~Control () |
virtual void | set_double (double val, Temporal::timepos_t const &when=Temporal::timepos_t(), bool to_list=false) |
virtual double | get_double () const |
void | set_list (std::shared_ptr< ControlList >) |
std::shared_ptr< ControlList > | list () |
std::shared_ptr< const ControlList > | list () const |
const Parameter & | parameter () const |
Public Member Functions inherited from ARDOUR::ControlGroupMember | |
virtual | ~ControlGroupMember () |
Public Member Functions inherited from ARDOUR::SessionHandleRef | |
SessionHandleRef (ARDOUR::Session &s) | |
virtual | ~SessionHandleRef () |
Public Member Functions inherited from PBD::ScopedConnectionList | |
ScopedConnectionList () | |
ScopedConnectionList (const ScopedConnectionList &)=delete | |
ScopedConnectionList & | operator= (const ScopedConnectionList &)=delete |
virtual | ~ScopedConnectionList () |
void | add_connection (const UnscopedConnection &c) |
void | drop_connections () |
Protected Member Functions | |
bool | check_rt (double val, Controllable::GroupControlDisposition gcd) |
virtual void | actually_set_value (double value, PBD::Controllable::GroupControlDisposition) |
void | pre_realtime_queue_stuff (double new_value, PBD::Controllable::GroupControlDisposition) |
virtual void | do_pre_realtime_queue_stuff (double new_value) |
void | session_going_away () |
Protected Member Functions inherited from PBD::Controllable | |
void | set_touching (bool yn) |
Protected Member Functions inherited from PBD::Stateful | |
void | add_instant_xml (XMLNode &, const std::string &directory_path) |
XMLNode * | instant_xml (const std::string &str, const std::string &directory_path) |
void | add_properties (XMLNode &) const |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
bool | regenerate_xml_or_string_ids () const |
Protected Member Functions inherited from ARDOUR::SessionHandleRef | |
virtual void | insanity_check () |
Protected Attributes | |
std::shared_ptr< ControlGroup > | _group |
std::shared_ptr< ControlGroup > | _pushed_group |
const ParameterDescriptor | _desc |
WeakAutomationControlList | _visually_linked_ctrls |
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::Control | |
Parameter | _parameter |
std::shared_ptr< ControlList > | _list |
double | _user_value |
PBD::ScopedConnection | _list_marked_dirty_connection |
Protected Attributes inherited from ARDOUR::SessionHandleRef | |
ARDOUR::Session & | _session |
Private Member Functions | |
void | set_group (std::shared_ptr< ControlGroup >) |
bool | push_group (std::shared_ptr< ControlGroup >) |
bool | pop_group () |
Private Attributes | |
PBD::ScopedConnection | _state_changed_connection |
bool | _no_session |
Friends | |
class | Session |
class | ControlGroup |
A PBD::Controllable with associated automation data (AutomationList)
Definition at line 50 of file automation_control.h.
ARDOUR::AutomationControl::AutomationControl | ( | ARDOUR::Session & | , |
const Evoral::Parameter & | parameter, | ||
const ParameterDescriptor & | desc, | ||
std::shared_ptr< ARDOUR::AutomationList > | l = std::shared_ptr< ARDOUR::AutomationList >() , |
||
const std::string & | name = "" , |
||
PBD::Controllable::Flag | flags = PBD::Controllable::Flag(0) |
||
) |
|
virtual |
|
protectedvirtual |
Reimplemented in ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, ARDOUR::SoloControl, ARDOUR::PhaseControl, ARDOUR::PanControllable, ARDOUR::MuteControl, ARDOUR::MonitorControl, ARDOUR::SlavableAutomationControl, ARDOUR::PlugInsertBase::PluginPropertyControl, ARDOUR::GainControl, ARDOUR::PluginInsert::PIControl, ARDOUR::PlugInsertBase::PluginControl, and ARDOUR::MidiTrack::MidiControl.
|
inline |
Definition at line 126 of file automation_control.h.
|
inline |
Definition at line 67 of file automation_control.h.
|
inline |
Definition at line 73 of file automation_control.h.
|
virtual |
Reimplemented in ARDOUR::SlavableAutomationControl, and ARDOUR::MuteControl.
|
inline |
Definition at line 81 of file automation_control.h.
|
inline |
Definition at line 77 of file automation_control.h.
|
protected |
|
inline |
Definition at line 130 of file automation_control.h.
void ARDOUR::AutomationControl::commit_transaction | ( | bool | did_write | ) |
|
inline |
Definition at line 119 of file automation_control.h.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::RecordEnableControl.
Definition at line 160 of file automation_control.h.
|
virtual |
This is used when saving state. By default it just calls get_value(), but a class with more complex semantics might override this to save some value that differs from what get_value() would return.
Reimplemented from PBD::Controllable.
Reimplemented in ARDOUR::SoloControl, and ARDOUR::MuteControl.
|
virtual |
Reimplemented from PBD::Controllable.
Reimplemented in ARDOUR::SurroundControllable, ARDOUR::PlugInsertBase::PluginControl, and ARDOUR::PanControllable.
|
virtual |
Get ‘internal’ value
Implements PBD::Controllable.
Reimplemented in ARDOUR::PlugInsertBase::PluginPropertyControl, ARDOUR::PlugInsertBase::PluginControl, ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, ARDOUR::SoloControl, ARDOUR::SlavableAutomationControl, and ARDOUR::MuteControl.
AutomationControlList ARDOUR::AutomationControl::grouped_controls | ( | ) | const |
|
virtual |
Reimplemented from PBD::Controllable.
|
virtual |
Conversions between ‘internal’, 'interface', and 'user' values
Reimplemented from PBD::Controllable.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 109 of file automation_control.h.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 111 of file automation_control.h.
|
privatevirtual |
Implements ARDOUR::ControlGroupMember.
|
protected |
|
privatevirtual |
Implements ARDOUR::ControlGroupMember.
|
inline |
Definition at line 121 of file automation_control.h.
|
protectedvirtual |
Reimplemented from ARDOUR::SessionHandleRef.
void ARDOUR::AutomationControl::set_automation_state | ( | AutoState | as | ) |
|
privatevirtual |
Implements ARDOUR::ControlGroupMember.
void ARDOUR::AutomationControl::set_list | ( | std::shared_ptr< Evoral::ControlList > | ) |
|
virtual |
Set ‘internal’ value
All derived classes must implement this.
Basic derived classes will ignore group_override
but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
value | raw numeric value to set |
group_override | if and how to propagate value to grouped controls |
Implements PBD::Controllable.
Reimplemented in ARDOUR::RecordEnableControl.
|
inline |
Definition at line 103 of file automation_control.h.
void ARDOUR::AutomationControl::start_touch | ( | timepos_t const & | when | ) |
void ARDOUR::AutomationControl::stop_touch | ( | timepos_t const & | when | ) |
|
inline |
Definition at line 112 of file automation_control.h.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 110 of file automation_control.h.
|
inline |
Definition at line 134 of file automation_control.h.
|
virtual |
Reimplemented in ARDOUR::MidiTrack::MidiControl.
|
friend |
Definition at line 171 of file automation_control.h.
|
friend |
Definition at line 156 of file automation_control.h.
|
protected |
Definition at line 142 of file automation_control.h.
|
protected |
Definition at line 139 of file automation_control.h.
|
private |
Definition at line 176 of file automation_control.h.
|
protected |
Definition at line 140 of file automation_control.h.
|
private |
Definition at line 175 of file automation_control.h.
|
protected |
Definition at line 164 of file automation_control.h.