summaryrefslogtreecommitdiff
path: root/libs/evoral/evoral/MIDIParameters.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-09-19 06:30:49 +0000
committerDavid Robillard <d@drobilla.net>2008-09-19 06:30:49 +0000
commit60f588f21d6ad62335d72e8dc682abf8859107ea (patch)
treeb096b25cd757f6086c90f35b4358080747dc0c0a /libs/evoral/evoral/MIDIParameters.hpp
parent2539b8fc184380957ba0effa1db947ced748ab31 (diff)
Fix parameter range stuff and automation time axis height (somewhat...).
Create a new AutomationLine when an AutomationRegionView without a line is clicked. git-svn-id: svn://localhost/ardour2/branches/3.0@3757 d708f5d6-7413-0410-9779-e7cbd77b26cf
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