Эх сурвалжийг харах

added constants to messages specifying the maximum values of their properties

Fabian Peter Hammerle 11 жил өмнө
parent
commit
8b8c739cb1
1 өөрчлөгдсөн 8 нэмэгдсэн , 0 устгасан
  1. 8 0
      MidiMessage.h

+ 8 - 0
MidiMessage.h

@@ -15,6 +15,7 @@ class ChannelMessage : public MidiMessage
 {
 public:
 	unsigned char channel;
+	static const unsigned char channelMaximum = (2 << 4) - 1;
 
 	ChannelMessage(unsigned char channel)
 		: channel(channel)
@@ -26,7 +27,9 @@ class NoteMessage : public ChannelMessage
 {
 public:
 	unsigned char pitch;
+	static const unsigned char pitchMaximum = (1 << 7) - 1;
 	unsigned char velocity;
+	static const unsigned char velocityMaximum = (2 << 7) - 1;
 
 	NoteMessage(unsigned char channel, unsigned char pitch, unsigned char velocity)
 		: ChannelMessage(channel), pitch(pitch), velocity(velocity)
@@ -60,7 +63,9 @@ class ControlChangeMessage : public ChannelMessage
 {
 public:
 	unsigned char control;
+	static const unsigned char controlMaximum = (2 << 7) - 1;
 	unsigned char value;
+	static const unsigned char valueMaximum = (2 << 7) - 1;
 
 	ControlChangeMessage(unsigned char channel, unsigned char control, unsigned char value)
 		: ChannelMessage(channel), control(control), value(value)
@@ -74,6 +79,7 @@ class ProgramChangeMessage : public ChannelMessage
 {
 public:
 	unsigned char program;
+	static const unsigned char programMaximum = (2 << 7) - 1;
 
 	ProgramChangeMessage(unsigned char channel, unsigned char program)
 		: ChannelMessage(channel), program(program)
@@ -86,7 +92,9 @@ public:
 class PitchBendChangeMessage : public ChannelMessage
 {
 public:
+	// 14 bit integer
 	uint16_t value;
+	static const uint16_t valueMaximum = (2 << 14) - 1;
 
 	PitchBendChangeMessage(unsigned char channel, uint16_t value)
 		: ChannelMessage(channel), value(value)