ardour
Public Member Functions | Private Attributes | List of all members
ARDOUR::ProxyControllable Class Reference

#include <proxy_controllable.h>

Inheritance diagram for ARDOUR::ProxyControllable:
PBD::Controllable PBD::StatefulDestructible PBD::Stateful PBD::Destructible

Public Member Functions

 ProxyControllable (const std::string &name, PBD::Controllable::Flag flags, boost::function1< bool, double > setter, boost::function0< double > getter)
 
void set_value (double v)
 
double get_value () const
 
double internal_to_user (double i) const
 
double user_to_internal (double u) const
 
std::string get_user_string () const
 
- Public Member Functions inherited from PBD::Controllable
 Controllable (const std::string &name, Flag f=Flag(0))
 
virtual ~Controllable ()
 
virtual double internal_to_interface (double i) const
 
virtual double interface_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)
 
int set_state (const XMLNode &, int version)
 
XMLNodeget_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 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 (Command *) const
 
virtual void rdiff (std::vector< 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
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 

Private Attributes

boost::function1< bool, double > _setter
 
boost::function0< double > _getter
 

Additional Inherited Members

- Public Types inherited from PBD::Controllable
enum  Flag { Toggle = 0x1, GainLike = 0x2 }
 
- Static Public Member Functions inherited from PBD::Controllable
static Controllableby_id (const PBD::ID &)
 
static Controllableby_name (const std::string &)
 
- Public Attributes inherited from PBD::Controllable
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 inherited from PBD::Controllable
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
 
- 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 &)
 
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
 

Detailed Description

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 33 of file proxy_controllable.h.

Constructor & Destructor Documentation

ARDOUR::ProxyControllable::ProxyControllable ( const std::string &  name,
PBD::Controllable::Flag  flags,
boost::function1< bool, double >  setter,
boost::function0< double >  getter 
)
inline

Definition at line 35 of file proxy_controllable.h.

Member Function Documentation

std::string ARDOUR::ProxyControllable::get_user_string ( ) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 49 of file proxy_controllable.h.

double ARDOUR::ProxyControllable::get_value ( void  ) const
inlinevirtual

Implements PBD::Controllable.

Definition at line 44 of file proxy_controllable.h.

double ARDOUR::ProxyControllable::internal_to_user ( double  i) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 46 of file proxy_controllable.h.

void ARDOUR::ProxyControllable::set_value ( double  )
inlinevirtual

Get and Set `internal' value

Implements PBD::Controllable.

Definition at line 43 of file proxy_controllable.h.

double ARDOUR::ProxyControllable::user_to_internal ( double  u) const
inlinevirtual

Reimplemented from PBD::Controllable.

Definition at line 47 of file proxy_controllable.h.

Member Data Documentation

boost::function0<double> ARDOUR::ProxyControllable::_getter
private

Definition at line 56 of file proxy_controllable.h.

boost::function1<bool,double> ARDOUR::ProxyControllable::_setter
private

Definition at line 55 of file proxy_controllable.h.


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