-/* $Id$
-
-This file is part of libmspgbase
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#include "binarycontrol.h"
#include "device.h"
namespace Msp {
namespace Input {
-BinaryControl::BinaryControl():
- state(false)
-{ }
-
BinaryControl::BinaryControl(const ControlSource &s):
- Control(s),
- state(false)
+ Control(s)
{ }
BinaryControl::BinaryControl(Device &d, ControlSrcType t, unsigned i):
- Control(d, t, i),
- state(false)
+ Control(d, t, i)
{ }
+BinaryControl::~BinaryControl()
+{ }
+
+void BinaryControl::set_threshold(float t)
+{
+ threshold = t;
+}
+
void BinaryControl::on_press()
{
if(!state)
{
- state=true;
+ state = true;
+ rising_edge = true;
signal_press.emit();
}
}
{
if(state)
{
- state=false;
+ state = false;
+ falling_edge = true;
signal_release.emit();
}
}
void BinaryControl::on_motion(float value, float)
{
- if(value>src.dev->get_axis_threshold())
+ if(value>threshold)
on_press();
else
on_release();