Ardour
9.0-pre0-582-g084a23a80d
|
#include <slavable_automation_control.h>
Classes | |
class | MasterRecord |
Public Member Functions | |
SlavableAutomationControl (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 | ~SlavableAutomationControl () |
double | get_value () const |
void | add_master (std::shared_ptr< AutomationControl >) |
void | remove_master (std::shared_ptr< AutomationControl >) |
void | clear_masters () |
bool | slaved_to (std::shared_ptr< AutomationControl >) const |
bool | slaved () const |
std::set< std::shared_ptr< AutomationControl > > | masters () const |
virtual void | automation_run (samplepos_t start, pframes_t nframes) |
double | get_masters_value () const |
double | reduce_by_masters (double val, bool ignore_automation_state=false) const |
bool | get_masters_curve (samplepos_t s, samplepos_t e, float *v, samplecnt_t l) const |
int32_t | get_boolean_masters () const |
void | use_saved_master_ratios () |
int | set_state (XMLNode const &, int) |
XMLNode & | get_state () const |
bool | find_next_event (Temporal::timepos_t const &n, Temporal::timepos_t const &e, Evoral::ControlEvent &ev) const |
bool | find_next_event_locked (Temporal::timepos_t const &now, Temporal::timepos_t const &end, Evoral::ControlEvent &next_event) const |
Public Member Functions inherited from ARDOUR::AutomationControl | |
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_save_value () const |
void | set_value (double value, PBD::Controllable::GroupControlDisposition group_override) |
virtual bool | writable () const |
void | set_value_unchecked (double val) |
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) |
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 () |
Public Attributes | |
PBD::Signal< void()> | MasterStatusChange |
Public Attributes inherited from PBD::Controllable | |
PBD::Signal< void()> | LearningFinished |
PBD::Signal< void(bool, PBD::Controllable::GroupControlDisposition)> | Changed |
PBD::Signal< void()> | TouchChanged |
Public Attributes inherited from PBD::Stateful | |
PBD::Signal< void(const PropertyChange &)> | PropertyChanged |
Public Attributes inherited from PBD::Destructible | |
PBD::Signal< void()> | Destroyed |
PBD::Signal< void()> | DropReferences |
Public Attributes inherited from Evoral::Control | |
PBD::Signal< void()> | ListMarkedDirty |
Protected Types | |
typedef std::map< PBD::ID, MasterRecord > | Masters |
Protected Member Functions | |
void | master_going_away (std::weak_ptr< AutomationControl >) |
double | get_value_locked () const |
void | actually_set_value (double value, PBD::Controllable::GroupControlDisposition) |
void | update_boolean_masters_records (std::shared_ptr< AutomationControl >) |
virtual bool | get_masters_curve_locked (samplepos_t, samplepos_t, float *, samplecnt_t) const |
bool | masters_curve_multiply (timepos_t const &, timepos_t const &, float *, samplecnt_t) const |
virtual double | reduce_by_masters_locked (double val, bool) const |
virtual double | scale_automation_callback (double val, double ratio) const |
virtual bool | handle_master_change (std::shared_ptr< AutomationControl >) |
virtual bool | boolean_automation_run_locked (samplepos_t start, pframes_t len) |
bool | boolean_automation_run (samplepos_t start, pframes_t len) |
virtual void | master_changed (bool from_self, GroupControlDisposition gcd, std::weak_ptr< AutomationControl >) |
virtual double | get_masters_value_locked () const |
virtual void | pre_remove_master (std::shared_ptr< AutomationControl >) |
virtual void | post_add_master (std::shared_ptr< AutomationControl >) |
Protected Member Functions inherited from ARDOUR::AutomationControl | |
bool | check_rt (double val, Controllable::GroupControlDisposition gcd) |
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 | |
Glib::Threads::RWLock | master_lock |
Masters | _masters |
XMLNode * | _masters_node |
Protected Attributes inherited from ARDOUR::AutomationControl | |
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 |
Additional Inherited Members | |
Public Types inherited from PBD::Controllable | |
enum | Flag { Toggle = 0x01 , GainLike = 0x02 , RealTime = 0x04 , NotAutomatable = 0x08 , InlineControl = 0x10 , HiddenControl = 0x20 , MonitorControl = 0x40 } |
enum | GroupControlDisposition { InverseGroup , NoGroup , UseGroup , ForGroup } |
Static Public Member Functions inherited from PBD::Controllable | |
static std::shared_ptr< Controllable > | by_id (const PBD::ID &) |
static void | dump_registry () |
static ControllableSet | registered_controllables () |
Static Public Attributes inherited from PBD::Controllable | |
static PBD::Signal< bool(std::weak_ptr< PBD::Controllable >)> | StartLearning |
static PBD::Signal< void(std::weak_ptr< PBD::Controllable >)> | StopLearning |
static PBD::Signal< void(std::weak_ptr< PBD::Controllable >)> | GUIFocusChanged |
static PBD::Signal< void(std::weak_ptr< PBD::Controllable >)> | ControlTouched |
static const std::string | xml_node_name |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version |
static int | loading_state_version |
Definition at line 27 of file slavable_automation_control.h.
|
protected |
Definition at line 131 of file slavable_automation_control.h.
ARDOUR::SlavableAutomationControl::SlavableAutomationControl | ( | 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 from ARDOUR::AutomationControl.
Reimplemented in ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, and ARDOUR::SoloControl.
void ARDOUR::SlavableAutomationControl::add_master | ( | std::shared_ptr< AutomationControl > | ) |
|
virtual |
Reimplemented from ARDOUR::AutomationControl.
Reimplemented in ARDOUR::MuteControl.
|
protected |
|
protectedvirtual |
void ARDOUR::SlavableAutomationControl::clear_masters | ( | ) |
|
inline |
Definition at line 80 of file slavable_automation_control.h.
bool ARDOUR::SlavableAutomationControl::find_next_event_locked | ( | Temporal::timepos_t const & | now, |
Temporal::timepos_t const & | end, | ||
Evoral::ControlEvent & | next_event | ||
) | const |
int32_t ARDOUR::SlavableAutomationControl::get_boolean_masters | ( | ) | const |
|
inline |
Definition at line 63 of file slavable_automation_control.h.
|
protectedvirtual |
Reimplemented in ARDOUR::GainControl.
|
inline |
Definition at line 52 of file slavable_automation_control.h.
|
protectedvirtual |
|
virtual |
Reimplemented from PBD::Controllable.
Reimplemented in ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, and ARDOUR::SoloControl.
|
virtual |
Get ‘internal’ value
Reimplemented from ARDOUR::AutomationControl.
Reimplemented in ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, and ARDOUR::SoloControl.
|
protected |
|
protectedvirtual |
Reimplemented in ARDOUR::MuteControl.
|
protectedvirtual |
Reimplemented in ARDOUR::SoloIsolateControl, and ARDOUR::SoloControl.
|
protected |
std::set<std::shared_ptr<AutomationControl> > ARDOUR::SlavableAutomationControl::masters | ( | ) | const |
|
protected |
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::SoloControl, ARDOUR::MuteControl, and ARDOUR::GainControl.
Definition at line 152 of file slavable_automation_control.h.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::SoloControl, and ARDOUR::MuteControl.
Definition at line 151 of file slavable_automation_control.h.
|
inline |
Definition at line 58 of file slavable_automation_control.h.
|
protectedvirtual |
void ARDOUR::SlavableAutomationControl::remove_master | ( | std::shared_ptr< AutomationControl > | ) |
|
protectedvirtual |
|
virtual |
Implements PBD::Stateful.
Reimplemented in ARDOUR::SoloSafeControl, ARDOUR::SoloIsolateControl, and ARDOUR::SoloControl.
bool ARDOUR::SlavableAutomationControl::slaved | ( | ) | const |
bool ARDOUR::SlavableAutomationControl::slaved_to | ( | std::shared_ptr< AutomationControl > | ) | const |
|
protected |
void ARDOUR::SlavableAutomationControl::use_saved_master_ratios | ( | ) |
|
protected |
Definition at line 132 of file slavable_automation_control.h.
|
protected |
Definition at line 154 of file slavable_automation_control.h.
|
mutableprotected |
Definition at line 130 of file slavable_automation_control.h.
PBD::Signal<void()> ARDOUR::SlavableAutomationControl::MasterStatusChange |
Definition at line 73 of file slavable_automation_control.h.