Ardour  8.7-14-g57a6773833
ARDOUR::GainControl Class Reference

#include <gain_control.h>

Inheritance diagram for ARDOUR::GainControl:
[legend]

Public Member Functions

 GainControl (Session &session, const Evoral::Parameter &param, std::shared_ptr< AutomationList > al=std::shared_ptr< AutomationList >())
 
void inc_gain (gain_t)
 
- 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
 
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 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 ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Protected Member Functions

void post_add_master (std::shared_ptr< AutomationControl >)
 
bool get_masters_curve_locked (samplepos_t, samplepos_t, float *, samplecnt_t) const
 
void actually_set_value (double value, PBD::Controllable::GroupControlDisposition)
 
- 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 >)
 
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 >)
 
- 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)
 
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 ()
 

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::Signal0< void > MasterStatusChange
 
- Public Attributes inherited from PBD::Controllable
PBD::Signal0< void > LearningFinished
 
PBD::Signal2< void, bool, PBD::Controllable::GroupControlDispositionChanged
 
PBD::Signal0< void > TouchChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const PropertyChange & > PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Public Attributes inherited from Evoral::Control
PBD::Signal0< void > ListMarkedDirty
 
- Static Public Attributes inherited from PBD::Controllable
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 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 37 of file gain_control.h.

Constructor & Destructor Documentation

◆ GainControl()

ARDOUR::GainControl::GainControl ( Session session,
const Evoral::Parameter param,
std::shared_ptr< AutomationList al = std::shared_ptr< AutomationList >() 
)

Member Function Documentation

◆ actually_set_value()

void ARDOUR::GainControl::actually_set_value ( double  value,
PBD::Controllable::GroupControlDisposition   
)
protectedvirtual

Reimplemented from ARDOUR::AutomationControl.

◆ get_masters_curve_locked()

bool ARDOUR::GainControl::get_masters_curve_locked ( samplepos_t  ,
samplepos_t  ,
float *  ,
samplecnt_t   
) const
protectedvirtual

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ inc_gain()

void ARDOUR::GainControl::inc_gain ( gain_t  )

◆ post_add_master()

void ARDOUR::GainControl::post_add_master ( std::shared_ptr< AutomationControl )
protectedvirtual

Reimplemented from ARDOUR::SlavableAutomationControl.


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