diff options
Diffstat (limited to 'libs/evoral/evoral/MIDIParameters.hpp')
-rw-r--r-- | libs/evoral/evoral/MIDIParameters.hpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/libs/evoral/evoral/MIDIParameters.hpp b/libs/evoral/evoral/MIDIParameters.hpp index c21a86264d..e2bfdc3fb0 100644 --- a/libs/evoral/evoral/MIDIParameters.hpp +++ b/libs/evoral/evoral/MIDIParameters.hpp @@ -23,29 +23,34 @@ namespace Evoral { namespace MIDI { struct ContinuousController : public Parameter { - ContinuousController(uint32_t cc_type, uint32_t channel, uint32_t controller) - : Parameter(cc_type, controller, channel) { set_range(*this); } - static void set_range(Parameter& p) { p.set_range(0.0, 127.0, 0.0); } + ContinuousController(uint32_t cc_type, uint8_t channel, uint32_t controller) + : Parameter(cc_type, channel, controller) {} }; struct ProgramChange : public Parameter { - ProgramChange(uint32_t pc_type, uint32_t channel) - : Parameter(pc_type, 0, channel) { set_range(*this); } - static void set_range(Parameter& p) { p.set_range(0.0, 127.0, 0.0); } + ProgramChange(uint32_t pc_type, uint8_t channel) : Parameter(pc_type, 0, channel) {} }; struct ChannelAftertouch : public Parameter { - ChannelAftertouch(uint32_t ca_type, uint32_t channel) - : Parameter(ca_type, 0, channel) { set_range(*this); } - static void set_range(Parameter& p) { p.set_range(0.0, 127.0, 0.0); } + ChannelAftertouch(uint32_t ca_type, uint32_t channel) : Parameter(ca_type, 0, channel) {} }; struct PitchBender : public Parameter { - PitchBender(uint32_t pb_type, uint32_t channel) - : Parameter(pb_type, 0, channel) { set_range(*this); } - static void set_range(Parameter& p) { p.set_range(0.0, 16383.0, 8192.0); } + PitchBender(uint32_t pb_type, uint32_t channel) : Parameter(pb_type, 0, channel) {} }; +inline static void controller_range(double& min, double& max, double& normal) { + min = 0.0; + normal = 0.0; + max = 127.0; +} + +inline static void bender_range(double& min, double& max, double& normal) { + min = 0.0; + normal = 8192.0; + max = 16383.0; +} + } // namespace MIDI } // namespace Evoral |