Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <cmath>
+
#include "fader.h"
#include "surface.h"
#include "control_group.h"
+#include "mackie_control_protocol.h"
using namespace Mackie;
MidiByteArray
Fader::update_message ()
{
- int posi = int (0x3fff * position);
- return MidiByteArray (3, 0xe0 | raw_id(), posi & 0x7f, posi >> 7);
+ MackieControlProtocol* mcp = MackieControlProtocol::instance ();
+ if (mcp && mcp->flip_mode() == MackieControlProtocol::Zero) {
+ /* do not send messages to move the faders when in this mode */
+ return MidiByteArray();
+ }
+
+ int posi = lrintf (0x3fff * position);
+ return MidiByteArray (3, 0xe0 + id(), posi & 0x7f, posi >> 7);
}