Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::MPControl< T > Class Template Reference

#include <monitor_processor.h>

Inheritance diagram for ARDOUR::MPControl< T >:
[legend]

Public Member Functions

 MPControl (T initial, const std::string &name, PBD::Controllable::Flag flag, float lower=0.0f, float upper=1.0f)
 
void set_value (double v, PBD::Controllable::GroupControlDisposition gcd)
 
double get_value () const
 
std::string get_user_string () const
 
double lower () const
 
double upper () const
 
double normal () const
 
MPControloperator= (const T &v)
 
bool operator== (const T &v) const
 
bool operator< (const T &v) const
 
bool operator<= (const T &v) const
 
bool operator> (const T &v) const
 
bool operator>= (const T &v) const
 
 operator T () const
 
val () const
 
void set_value (double v, PBD::Controllable::GroupControlDisposition gcd)
 
- Public Member Functions inherited from PBD::Controllable
 Controllable (const std::string &name, Flag f=Flag(0))
 
virtual double get_save_value () const
 
virtual double internal_to_interface (double i, bool rotary=false) const
 
virtual double interface_to_internal (double i, bool rotary=false) const
 
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 XMLNodeget_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...
 
- 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 ()
 

Protected Attributes

_value
 
_lower
 
_upper
 
_normal
 
- 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
 

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 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
 
- 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 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
 

Detailed Description

template<typename T>
class ARDOUR::MPControl< T >

Definition at line 46 of file monitor_processor.h.

Constructor & Destructor Documentation

◆ MPControl()

template<typename T >
ARDOUR::MPControl< T >::MPControl ( initial,
const std::string &  name,
PBD::Controllable::Flag  flag,
float  lower = 0.0f,
float  upper = 1.0f 
)
inline

Definition at line 48 of file monitor_processor.h.

Member Function Documentation

◆ get_user_string()

template<typename T >
std::string ARDOUR::MPControl< T >::get_user_string ( ) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 71 of file monitor_processor.h.

◆ get_value()

template<typename T >
double ARDOUR::MPControl< T >::get_value ( ) const
inlinevirtual

Get ‘internal’ value

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

Implements PBD::Controllable.

Definition at line 67 of file monitor_processor.h.

◆ lower()

template<typename T >
double ARDOUR::MPControl< T >::lower ( ) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 77 of file monitor_processor.h.

◆ normal()

template<typename T >
double ARDOUR::MPControl< T >::normal ( ) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 79 of file monitor_processor.h.

◆ operator T()

template<typename T >
ARDOUR::MPControl< T >::operator T ( ) const
inline

Definition at line 111 of file monitor_processor.h.

◆ operator<()

template<typename T >
bool ARDOUR::MPControl< T >::operator< ( const T &  v) const
inline

Definition at line 95 of file monitor_processor.h.

◆ operator<=()

template<typename T >
bool ARDOUR::MPControl< T >::operator<= ( const T &  v) const
inline

Definition at line 99 of file monitor_processor.h.

◆ operator=()

template<typename T >
MPControl& ARDOUR::MPControl< T >::operator= ( const T &  v)
inline

Definition at line 83 of file monitor_processor.h.

◆ operator==()

template<typename T >
bool ARDOUR::MPControl< T >::operator== ( const T &  v) const
inline

Definition at line 91 of file monitor_processor.h.

◆ operator>()

template<typename T >
bool ARDOUR::MPControl< T >::operator> ( const T &  v) const
inline

Definition at line 103 of file monitor_processor.h.

◆ operator>=()

template<typename T >
bool ARDOUR::MPControl< T >::operator>= ( const T &  v) const
inline

Definition at line 107 of file monitor_processor.h.

◆ set_value() [1/2]

template<typename T >
void ARDOUR::MPControl< T >::set_value ( double  value,
PBD::Controllable::GroupControlDisposition  group_override 
)
inlinevirtual

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

Implements PBD::Controllable.

Definition at line 59 of file monitor_processor.h.

◆ set_value() [2/2]

void ARDOUR::MPControl< bool >::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

Implements PBD::Controllable.

◆ upper()

template<typename T >
double ARDOUR::MPControl< T >::upper ( ) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 78 of file monitor_processor.h.

◆ val()

template<typename T >
T ARDOUR::MPControl< T >::val ( ) const
inline

Definition at line 112 of file monitor_processor.h.

Member Data Documentation

◆ _lower

template<typename T >
T ARDOUR::MPControl< T >::_lower
protected

Definition at line 116 of file monitor_processor.h.

◆ _normal

template<typename T >
T ARDOUR::MPControl< T >::_normal
protected

Definition at line 118 of file monitor_processor.h.

◆ _upper

template<typename T >
T ARDOUR::MPControl< T >::_upper
protected

Definition at line 117 of file monitor_processor.h.

◆ _value

template<typename T >
T ARDOUR::MPControl< T >::_value
protected

Definition at line 115 of file monitor_processor.h.


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