![]() |
Ardour
9.0-pre0-822-g12e3bc5c20
|
#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 |
![]() | |
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... | |
![]() | |
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 |
![]() | |
virtual | ~Destructible () |
virtual void | drop_references () |
![]() | |
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 |
![]() | |
virtual | ~ControlGroupMember () |
![]() | |
SessionHandleRef (ARDOUR::Session &s) | |
virtual | ~SessionHandleRef () |
![]() | |
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 () |
![]() | |
void | set_touching (bool yn) |
![]() | |
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 |
![]() | |
virtual void | insanity_check () |
Protected Attributes | |
std::shared_ptr< ControlGroup > | _group |
std::shared_ptr< ControlGroup > | _pushed_group |
const ParameterDescriptor | _desc |
WeakAutomationControlList | _visually_linked_ctrls |
![]() | |
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 |
![]() | |
Parameter | _parameter |
std::shared_ptr< ControlList > | _list |
double | _user_value |
PBD::ScopedConnection | _list_marked_dirty_connection |
![]() | |
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.