summaryrefslogtreecommitdiff
path: root/libs/evoral/evoral/MIDIParameters.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/evoral/evoral/MIDIParameters.hpp')
-rw-r--r--libs/evoral/evoral/MIDIParameters.hpp29
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