Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::RecordEnableControl Class Reference

#include <record_enable_control.h>

Inheritance diagram for ARDOUR::RecordEnableControl:
[legend]

Public Member Functions

 RecordEnableControl (Session &session, std::string const &name, Recordable &m, Temporal::TimeDomainProvider const &)
 
 ~RecordEnableControl ()
 
void set_value (double, PBD::Controllable::GroupControlDisposition)
 
- Public Member Functions inherited from 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 ~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)
 
XMLNodeget_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 &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 ~AutomationControl ()
 
std::shared_ptr< AutomationListalist () 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
 
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 ParameterDescriptordesc () const
 
const ARDOUR::Sessionsession () 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 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 (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::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
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from Evoral::Control
 Control (const Parameter &parameter, 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< ControlListlist ()
 
std::shared_ptr< const ControlListlist () const
 
const Parameterparameter () 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
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Protected Member Functions

void actually_set_value (double val, Controllable::GroupControlDisposition gcd)
 
void do_pre_realtime_queue_stuff (double value)
 
- Protected Member Functions inherited from ARDOUR::SlavableAutomationControl
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)
 
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)
 
XMLNodeinstant_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 ()
 

Private Attributes

Recordable_recordable
 

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< Controllableby_id (const PBD::ID &)
 
static void dump_registry ()
 
static ControllableSet registered_controllables ()
 
- Public Attributes inherited from ARDOUR::SlavableAutomationControl
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
 
- 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
 
- Protected Types inherited from ARDOUR::SlavableAutomationControl
typedef std::map< PBD::ID, MasterRecordMasters
 
- Protected Attributes inherited from ARDOUR::SlavableAutomationControl
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
 

Detailed Description

Definition at line 33 of file record_enable_control.h.

Constructor & Destructor Documentation

◆ RecordEnableControl()

ARDOUR::RecordEnableControl::RecordEnableControl ( Session session,
std::string const &  name,
Recordable m,
Temporal::TimeDomainProvider const &   
)

◆ ~RecordEnableControl()

ARDOUR::RecordEnableControl::~RecordEnableControl ( )
inline

Definition at line 37 of file record_enable_control.h.

Member Function Documentation

◆ actually_set_value()

void ARDOUR::RecordEnableControl::actually_set_value ( double  val,
Controllable::GroupControlDisposition  gcd 
)
protected

◆ do_pre_realtime_queue_stuff()

void ARDOUR::RecordEnableControl::do_pre_realtime_queue_stuff ( double  value)
protectedvirtual

Reimplemented from ARDOUR::AutomationControl.

◆ set_value()

void ARDOUR::RecordEnableControl::set_value ( double  value,
PBD::Controllable::GroupControlDisposition  group_override 
)
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.

Parameters
valueraw numeric value to set
group_overrideif and how to propagate value to grouped controls

Reimplemented from ARDOUR::AutomationControl.

Member Data Documentation

◆ _recordable

Recordable& ARDOUR::RecordEnableControl::_recordable
private

Definition at line 53 of file record_enable_control.h.


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