ardour
|
#include <controllable.h>
Public Types | |
enum | Flag { Toggle = 0x1, GainLike = 0x2 } |
Public Member Functions | |
Controllable (const std::string &name, Flag f=Flag(0)) | |
virtual | ~Controllable () |
virtual void | set_value (double)=0 |
virtual double | get_value (void) const =0 |
virtual double | internal_to_interface (double i) const |
virtual double | interface_to_internal (double i) const |
virtual double | internal_to_user (double i) const |
virtual double | user_to_internal (double i) const |
virtual float | get_interface () const |
virtual void | set_interface (float percent) |
virtual float | get_user () const |
virtual void | set_user (float user_v) |
virtual std::string | get_user_string () const |
int | set_state (const XMLNode &, int version) |
XMLNode & | get_state () |
std::string | name () const |
bool | touching () const |
void | set_touching (bool yn) |
bool | is_toggle () const |
bool | is_gain_like () const |
virtual double | lower () const |
virtual double | upper () const |
virtual double | normal () const |
Flag | flags () const |
void | set_flags (Flag f) |
Public Member Functions inherited from PBD::Stateful | |
Stateful () | |
virtual | ~Stateful () |
virtual bool | apply_changes (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 (Command *) const |
virtual void | rdiff (std::vector< 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 | |
Destructible () | |
virtual | ~Destructible () |
void | drop_references () |
Static Public Member Functions | |
static Controllable * | by_id (const PBD::ID &) |
static Controllable * | by_name (const std::string &) |
Public Attributes | |
PBD::Signal0< void > | LearningFinished |
PBD::Signal0< void > | Changed |
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 |
Static Public Attributes | |
static PBD::Signal3< void, PBD::Controllable *, int, int > | CreateBinding |
static PBD::Signal1< void, PBD::Controllable * > | DeleteBinding |
static PBD::Signal1< bool, PBD::Controllable * > | StartLearning |
static PBD::Signal1< void, PBD::Controllable * > | StopLearning |
static PBD::Signal1< void, Controllable * > | Destroyed |
static const std::string | xml_node_name = X_("Controllable") |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version = 0 |
static int | loading_state_version = 0 |
Private Types | |
typedef std::set < PBD::Controllable * > | Controllables |
Static Private Member Functions | |
static void | add (Controllable &) |
static void | remove (Controllable *) |
Private Attributes | |
std::string | _name |
std::string | _units |
Flag | _flags |
bool | _touching |
Static Private Attributes | |
static Glib::Threads::RWLock | registry_lock |
static Controllables | registry |
Additional Inherited Members | |
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 &) |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
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 |
Definition at line 40 of file controllable.h.
|
private |
Definition at line 128 of file controllable.h.
Enumerator | |
---|---|
Toggle | |
GainLike |
Definition at line 42 of file controllable.h.
Definition at line 42 of file controllable.cc.
|
inlinevirtual |
Definition at line 48 of file controllable.h.
|
staticprivate |
Definition at line 51 of file controllable.cc.
|
static |
Definition at line 81 of file controllable.cc.
|
static |
Definition at line 94 of file controllable.cc.
|
inline |
Definition at line 111 of file controllable.h.
|
inlinevirtual |
Get and Set `interface' value (typically, percent of knob travel)
Definition at line 77 of file controllable.h.
|
virtual |
Implements PBD::Stateful.
Definition at line 107 of file controllable.cc.
|
inlinevirtual |
Get and Set `user' value ( dB or milliseconds, etc. This MIGHT be the same as the internal value, but in a few cases it is not )
Definition at line 81 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::Amp::GainControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, and ARDOUR::ProxyControllable.
Definition at line 83 of file controllable.h.
|
pure virtual |
Implemented in ARDOUR_UI::TransportControllable, ARDOUR::Route::MuteControllable, ARDOUR::Route::SoloControllable, ARDOUR::Track::RecEnableControl, PBD::IgnorableControllable, ARDOUR::PluginInsert::PluginPropertyControl, ARDOUR::PluginInsert::PluginControl, ARDOUR::AutomationControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, ShuttleControl::ShuttleControllable, and ARDOUR::ProxyControllable.
|
inlinevirtual |
Reimplemented in ARDOUR::PluginInsert::PluginControl, and ARDOUR::Amp::GainControl.
Definition at line 72 of file controllable.h.
|
inlinevirtual |
Conversions between `internal', 'interface', and 'user' values
Reimplemented in ARDOUR::PluginInsert::PluginControl, and ARDOUR::Amp::GainControl.
Definition at line 71 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::Amp::GainControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, and ARDOUR::ProxyControllable.
Definition at line 73 of file controllable.h.
|
inline |
Definition at line 105 of file controllable.h.
|
inline |
Definition at line 104 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::AutomationControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, ShuttleControl::ShuttleControllable, and ARDOUR::PanControllable.
Definition at line 107 of file controllable.h.
|
inline |
Definition at line 99 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::AutomationControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, and ARDOUR::MPControl< volatile gain_t >.
Definition at line 109 of file controllable.h.
|
staticprivate |
Definition at line 68 of file controllable.cc.
void Controllable::set_flags | ( | Flag | f | ) |
Definition at line 154 of file controllable.cc.
|
inlinevirtual |
Definition at line 78 of file controllable.h.
|
virtual |
Implements PBD::Stateful.
Definition at line 129 of file controllable.cc.
|
inline |
Definition at line 102 of file controllable.h.
|
inlinevirtual |
Definition at line 82 of file controllable.h.
|
pure virtual |
Get and Set `internal' value
Implemented in ARDOUR_UI::TransportControllable, ARDOUR::Route::MuteControllable, ARDOUR::Route::SoloControllable, ARDOUR::Track::RecEnableControl, PBD::IgnorableControllable, ARDOUR::PluginInsert::PluginPropertyControl, ARDOUR::PluginInsert::PluginControl, ARDOUR::Amp::GainControl, ARDOUR::MidiTrack::MidiControl, ARDOUR::AutomationControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, ARDOUR::PanControllable, ShuttleControl::ShuttleControllable, ARDOUR::ProxyControllable, and ARDOUR::MPControl< T >.
|
inline |
Definition at line 101 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::AutomationControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, and ShuttleControl::ShuttleControllable.
Definition at line 108 of file controllable.h.
|
inlinevirtual |
Reimplemented in ARDOUR::Amp::GainControl, ARDOUR::MPControl< T >, ARDOUR::MPControl< gain_t >, ARDOUR::MPControl< bool >, ARDOUR::MPControl< volatile gain_t >, and ARDOUR::ProxyControllable.
Definition at line 74 of file controllable.h.
|
private |
Definition at line 122 of file controllable.h.
|
private |
Definition at line 118 of file controllable.h.
|
private |
Definition at line 123 of file controllable.h.
|
private |
Definition at line 120 of file controllable.h.
PBD::Signal0<void> PBD::Controllable::Changed |
Definition at line 94 of file controllable.h.
|
static |
Definition at line 86 of file controllable.h.
|
static |
Definition at line 87 of file controllable.h.
|
static |
Definition at line 92 of file controllable.h.
PBD::Signal0<void> PBD::Controllable::LearningFinished |
Definition at line 85 of file controllable.h.
|
staticprivate |
Definition at line 130 of file controllable.h.
|
staticprivate |
Definition at line 129 of file controllable.h.
|
static |
Definition at line 89 of file controllable.h.
|
static |
Definition at line 90 of file controllable.h.
|
static |
Definition at line 116 of file controllable.h.