diff options
author | David Robillard <d@drobilla.net> | 2010-02-09 20:49:21 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-02-09 20:49:21 +0000 |
commit | adc6671c0a4c747c4bb30a13c51054e8a319a145 (patch) | |
tree | feb6b6a6c7c3c26fbf3836ddfbc8eb9c4afe38e6 | |
parent | cbed8ff4b83526eec34d07c478952e1738f4c8ed (diff) | |
download | ingen-adc6671c0a4c747c4bb30a13c51054e8a319a145.tar.gz ingen-adc6671c0a4c747c4bb30a13c51054e8a319a145.tar.bz2 ingen-adc6671c0a4c747c4bb30a13c51054e8a319a145.zip |
Non-fatal warning when control is out of range (needs to be sorted out...).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2437 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/engine/ControlBindings.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/engine/ControlBindings.cpp b/src/engine/ControlBindings.cpp index ac8deca5..91d425a4 100644 --- a/src/engine/ControlBindings.cpp +++ b/src/engine/ControlBindings.cpp @@ -213,7 +213,18 @@ ControlBindings::port_value_to_control(PortImpl* port, Type type) float value = port->value().get_float(); float normal = (value - min) / (max - min); - assert(normal >= 0.0f && normal <= 1.0f); + if (normal < 0.0f) { + warn << "Value " << value << " (normal " << normal << ") for " + << port->path() << " out of range" << endl; + normal = 0.0f; + } + + if (normal > 1.0f) { + warn << "Value " << value << " (normal " << normal << ") for " + << port->path() << " out of range" << endl; + normal = 1.0f; + } + switch (type) { case MIDI_CC: case MIDI_CHANNEL_PRESSURE: |