![]() |
Ardour
8.12
|
#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 () | |
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 |
Additional Inherited Members | |
![]() | |
enum | Flag { Toggle = 0x01 , GainLike = 0x02 , RealTime = 0x04 , NotAutomatable = 0x08 , InlineControl = 0x10 , HiddenControl = 0x20 , MonitorControl = 0x40 } |
enum | GroupControlDisposition { InverseGroup , NoGroup , UseGroup , ForGroup } |
![]() | |
static std::shared_ptr< Controllable > | by_id (const PBD::ID &) |
static void | dump_registry () |
static ControllableSet | registered_controllables () |
![]() | |
PBD::Signal0< void > | LearningFinished |
PBD::Signal2< void, bool, PBD::Controllable::GroupControlDisposition > | Changed |
PBD::Signal0< void > | TouchChanged |
![]() | |
PBD::Signal1< void, const PropertyChange & > | PropertyChanged |
![]() | |
PBD::Signal0< void > | Destroyed |
PBD::Signal0< void > | DropReferences |
![]() | |
PBD::Signal0< void > | ListMarkedDirty |
![]() | |
static PBD::Signal1< bool, std::weak_ptr< PBD::Controllable > > | StartLearning |
static PBD::Signal1< void, std::weak_ptr< PBD::Controllable > > | StopLearning |
static PBD::Signal1< void, std::weak_ptr< PBD::Controllable > > | GUIFocusChanged |
static PBD::Signal1< void, std::weak_ptr< PBD::Controllable > > | ControlTouched |
static const std::string | xml_node_name |
![]() | |
static int | current_state_version |
static int | loading_state_version |
A PBD::Controllable with associated automation data (AutomationList)
Definition at line 51 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 127 of file automation_control.h.
|
inline |
Definition at line 68 of file automation_control.h.
|
inline |
Definition at line 74 of file automation_control.h.
|
virtual |
Reimplemented in ARDOUR::SlavableAutomationControl, and ARDOUR::MuteControl.
|
inline |
Definition at line 82 of file automation_control.h.
|
inline |
Definition at line 78 of file automation_control.h.
|
protected |
|
inline |
Definition at line 131 of file automation_control.h.
void ARDOUR::AutomationControl::commit_transaction | ( | bool | did_write | ) |
|
inline |
Definition at line 120 of file automation_control.h.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::RecordEnableControl.
Definition at line 161 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 110 of file automation_control.h.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 112 of file automation_control.h.
|
privatevirtual |
Implements ARDOUR::ControlGroupMember.
|
protected |
|
privatevirtual |
Implements ARDOUR::ControlGroupMember.
|
inline |
Definition at line 122 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 104 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 113 of file automation_control.h.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 111 of file automation_control.h.
|
inline |
Definition at line 135 of file automation_control.h.
|
virtual |
Reimplemented in ARDOUR::MidiTrack::MidiControl.
|
friend |
Definition at line 172 of file automation_control.h.
|
friend |
Definition at line 157 of file automation_control.h.
|
protected |
Definition at line 143 of file automation_control.h.
|
protected |
Definition at line 140 of file automation_control.h.
|
private |
Definition at line 177 of file automation_control.h.
|
protected |
Definition at line 141 of file automation_control.h.
|
private |
Definition at line 176 of file automation_control.h.
|
protected |
Definition at line 165 of file automation_control.h.