Ardour
9.0-pre0-582-g084a23a80d
|
#include <proxy_controllable.h>
Public Member Functions | |
ProxyControllable (const std::string &name, PBD::Controllable::Flag flags, std::function< bool(double)> setter, std::function< double()> getter) | |
void | set_value (double v, PBD::Controllable::GroupControlDisposition gcd) |
double | get_value () const |
std::string | get_user_string () const |
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 XMLNode & | get_state () const |
std::string | name () const |
bool | touching () const |
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) |
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 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 (PBD::Command *) const |
virtual void | rdiff (std::vector< PBD::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 | |
virtual | ~Destructible () |
virtual void | drop_references () |
Private Attributes | |
std::function< bool(double)> | _setter |
std::function< double()> | _getter |
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< Controllable > | by_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) |
XMLNode * | instant_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 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 |
this class converts a pair of setter/getter functors into a Controllable so that it can be used like a regular Controllable, bound to MIDI, OSC etc.
Definition at line 36 of file proxy_controllable.h.
|
inline |
Definition at line 38 of file proxy_controllable.h.
|
inlinevirtual |
Reimplemented from PBD::Controllable.
Definition at line 49 of file proxy_controllable.h.
|
inlinevirtual |
Get ‘internal’ value
Implements PBD::Controllable.
Definition at line 47 of file proxy_controllable.h.
|
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.
value | raw numeric value to set |
group_override | if and how to propagate value to grouped controls |
Implements PBD::Controllable.
Definition at line 46 of file proxy_controllable.h.
|
private |
Definition at line 56 of file proxy_controllable.h.
|
private |
Definition at line 55 of file proxy_controllable.h.