+#include "control.h"
#include <sigc++/bind_return.h>
#include <msp/strings/lexicalcast.h>
#include "binarycontrol.h"
-#include "control.h"
#include "device.h"
using namespace std;
namespace Msp {
namespace Input {
-ControlSource::ControlSource():
- dev(0),
- type(NONE),
- index(0)
-{ }
-
ControlSource::ControlSource(Device &d, ControlSrcType t, unsigned i):
dev(&d),
type(t),
index(i)
{ }
-std::string ControlSource::str() const
+string ControlSource::str() const
{
if(type==BUTTON)
return dev->get_button_name(index);
return dev->get_axis_name(index)+" +";
else if(type==AXIS_NEG)
return dev->get_axis_name(index)+" -";
- else if(type==NONE)
+ else if(type==NO_SOURCE)
return "None";
return lexical_cast<string>(index);
}
-Control::Control():
- capture_dev(0),
- activator(0),
- origin(0),
- rising_edge(false),
- falling_edge(false)
-{ }
-
Control::Control(const ControlSource &s):
- src(s),
- capture_dev(0),
- activator(0),
- origin(0),
- rising_edge(false),
- falling_edge(false)
+ src(s)
{ }
Control::Control(Device &d, ControlSrcType t, unsigned i):
- src(d, t, i),
- capture_dev(0),
- activator(0),
- origin(0),
- rising_edge(false),
- falling_edge(false)
+ src(d, t, i)
{
connect_signals();
}
void Control::cancel_capture()
{
notify_callbacks();
- capture_dev = 0;
+ capture_dev = nullptr;
connect_signals();
}
{
switch(src.type)
{
- case NONE:
+ case NO_SOURCE:
break;
case BUTTON:
src.dev->signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Control::button_press), false));
src.index = i;
notify_callbacks();
- capture_dev = 0;
+ capture_dev = nullptr;
connect_signals();
signal_capture_complete.emit();
}
{
if(capture_dev)
{
- ControlSrcType type = NONE;
+ ControlSrcType type = NO_SOURCE;
if(v<-0.9)
type = AXIS_NEG;
else if(v>0.9)
type = AXIS_POS;
- if(type!=NONE)
+ if(type!=NO_SOURCE)
{
src.dev = capture_dev;
src.type = type;
src.index = i;
notify_callbacks();
- capture_dev = 0;
+ capture_dev = nullptr;
connect_signals();
signal_capture_complete.emit();
}