diff options
Diffstat (limited to 'libs/ardour/ardour/parameter.h')
-rw-r--r-- | libs/ardour/ardour/parameter.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/libs/ardour/ardour/parameter.h b/libs/ardour/ardour/parameter.h index 92fa672e22..a602419e14 100644 --- a/libs/ardour/ardour/parameter.h +++ b/libs/ardour/ardour/parameter.h @@ -80,21 +80,34 @@ public: * should be moved here */ inline double min() const { - if (_type == MidiCCAutomation) + switch(_type) { + case MidiCCAutomation: + case MidiPgmChangeAutomation: + case MidiPitchBenderAutomation: + case MidiChannelAftertouchAutomation: return 0.0; - else + + default: return DBL_MIN; + } } inline double max() const { - if (_type == MidiCCAutomation) + switch(_type) { + case MidiCCAutomation: + case MidiPgmChangeAutomation: + case MidiChannelAftertouchAutomation: return 127.0; - else + case MidiPitchBenderAutomation: + return 16383.0; + + default: return DBL_MAX; + } } inline bool is_integer() const { - return (_type == MidiCCAutomation); + return (_type >= MidiCCAutomation && _type <= MidiChannelAftertouchAutomation); } private: |