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

#include <solo_isolate_control.h>

Inheritance diagram for ARDOUR::SoloIsolateControl:
[legend]

Public Member Functions

 SoloIsolateControl (Session &session, std::string const &name, Soloable &soloable, Temporal::TimeDomainProvider const &)
 
double get_value () const
 
void mod_solo_isolated_by_upstream (int32_t delta)
 
uint32_t solo_isolated_by_upstream () const
 
bool self_solo_isolated () const
 
bool solo_isolated () const
 
int set_state (XMLNode const &, int)
 
XMLNodeget_state () const
 
- 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 ()
 
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 ()
 
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 master_changed (bool from_self, PBD::Controllable::GroupControlDisposition gcd, std::weak_ptr< AutomationControl >)
 
void actually_set_value (double, PBD::Controllable::GroupControlDisposition group_override)
 
- Protected Member Functions inherited from ARDOUR::SlavableAutomationControl
void master_going_away (std::weak_ptr< AutomationControl >)
 
double get_value_locked () const
 
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 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)
 
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 Member Functions

void set_solo_isolated (bool yn, Controllable::GroupControlDisposition group_override)
 

Private Attributes

Soloable_soloable
 
bool _solo_isolated
 
uint32_t _solo_isolated_by_upstream
 

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 36 of file solo_isolate_control.h.

Constructor & Destructor Documentation

◆ SoloIsolateControl()

ARDOUR::SoloIsolateControl::SoloIsolateControl ( Session session,
std::string const &  name,
Soloable soloable,
Temporal::TimeDomainProvider const &   
)

Member Function Documentation

◆ actually_set_value()

void ARDOUR::SoloIsolateControl::actually_set_value ( double  ,
PBD::Controllable::GroupControlDisposition  group_override 
)
protectedvirtual

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ get_state()

XMLNode& ARDOUR::SoloIsolateControl::get_state ( ) const
virtual

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ get_value()

double ARDOUR::SoloIsolateControl::get_value ( ) const
virtual

Get ‘internal’ value

Returns
raw value as used for the plugin/processor control port

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ master_changed()

void ARDOUR::SoloIsolateControl::master_changed ( bool  from_self,
PBD::Controllable::GroupControlDisposition  gcd,
std::weak_ptr< AutomationControl  
)
protectedvirtual

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ mod_solo_isolated_by_upstream()

void ARDOUR::SoloIsolateControl::mod_solo_isolated_by_upstream ( int32_t  delta)

◆ self_solo_isolated()

bool ARDOUR::SoloIsolateControl::self_solo_isolated ( ) const
inline

Definition at line 66 of file solo_isolate_control.h.

◆ set_solo_isolated()

void ARDOUR::SoloIsolateControl::set_solo_isolated ( bool  yn,
Controllable::GroupControlDisposition  group_override 
)
private

◆ set_state()

int ARDOUR::SoloIsolateControl::set_state ( XMLNode const &  ,
int   
)
virtual

Reimplemented from ARDOUR::SlavableAutomationControl.

◆ solo_isolated()

bool ARDOUR::SoloIsolateControl::solo_isolated ( ) const
inline

Definition at line 69 of file solo_isolate_control.h.

◆ solo_isolated_by_upstream()

uint32_t ARDOUR::SoloIsolateControl::solo_isolated_by_upstream ( ) const
inline

Definition at line 63 of file solo_isolate_control.h.

Member Data Documentation

◆ _solo_isolated

bool ARDOUR::SoloIsolateControl::_solo_isolated
private

Definition at line 80 of file solo_isolate_control.h.

◆ _solo_isolated_by_upstream

uint32_t ARDOUR::SoloIsolateControl::_solo_isolated_by_upstream
private

Definition at line 81 of file solo_isolate_control.h.

◆ _soloable

Soloable& ARDOUR::SoloIsolateControl::_soloable
private

Definition at line 79 of file solo_isolate_control.h.


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