#include <Controller.hxx>
This objecte can be wrapped by a Midi Object or View and generate ControlSend messages. It works by asynchronously receiving messages, keeping them enqueued and synchronously dispatching them, at Do() time.
Note that if mulithreading is enabled, the EnqueueControl calls can be done from different threads than the execution method. A lock for the mDataQueue structure ensures it.
Definition at line 77 of file Controller.hxx.
Public Member Functions | |
Controller () | |
Controller (const ControllerConfig &c) | |
const char * | GetClassName () const |
Override it in every subclass and retur the name of that class. | |
bool | Do () |
Supervised mode execution method (using ports). | |
const ProcessingConfig & | GetConfig () const |
Configuration getter. | |
virtual bool | ConcreteConfigure (const ProcessingConfig &) |
Configuration method interface. | |
void | EnqueueControl (unsigned id, TControlData data) |
Interface for the users of the class. | |
TControlData | LastDequeuedValue (unsigned id) |
Public Attributes | |
OutControlArray | OutControls |
std::vector< TControlData > | OutValues |
CLAM::Controller::Controller | ( | ) |
Definition at line 40 of file Controller.cxx.
CLAM::Controller::Controller | ( | const ControllerConfig & | c | ) | [inline] |
const char* CLAM::Controller::GetClassName | ( | ) | const [inline, virtual] |
Override it in every subclass and retur the name of that class.
Implements CLAM::Processing.
Definition at line 86 of file Controller.hxx.
bool CLAM::Controller::Do | ( | ) | [inline, virtual] |
Supervised mode execution method (using ports).
Implements CLAM::Processing.
Definition at line 88 of file Controller.hxx.
References OutControls, and OutValues.
const ProcessingConfig & CLAM::Controller::GetConfig | ( | ) | const [virtual] |
Configuration getter.
Gets the configuration parameters used to create the object.
Reimplemented from CLAM::Processing.
Definition at line 86 of file Controller.cxx.
bool CLAM::Controller::ConcreteConfigure | ( | const ProcessingConfig & | ) | [virtual] |
Configuration method interface.
The Processing base class forces all the concrete classes derived from it to implement this method, which must actually perform the specific configuration tasks.
Note that the user can not call this method directly. He will use Configure instead. The argument is expected to be an object of the necesary concrete configuration class.
Reference | to the configuration object. |
This | method must throw a bad_cast exception if the argument is not an object of the expected configuration class. |
Reimplemented from CLAM::Processing.
Definition at line 46 of file Controller.cxx.
References CLAM_ASSERT, CLAM::Processing::CopyAsConcreteConfig(), OutControls, and OutValues.
void CLAM::Controller::EnqueueControl | ( | unsigned | id, | |
TControlData | data | |||
) |
Interface for the users of the class.
As: a sliders view class, a midi class...
Definition at line 92 of file Controller.cxx.
TControlData CLAM::Controller::LastDequeuedValue | ( | unsigned | id | ) |
std::vector<TControlData> CLAM::Controller::OutValues |
Definition at line 120 of file Controller.hxx.
Referenced by ConcreteConfigure(), Do(), and LastDequeuedValue().