| 
					
				 | 
			
			
				@@ -20,12 +20,12 @@ MidiMessage* MidiMessage::parseMessage(std::vector<unsigned char> &messageBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		switch(messageType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			case 0x8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			case 0x9: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case NoteOnMessage::messageType: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case NoteOffMessage::messageType: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				unsigned char pitch = messageBytes[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				unsigned char velocity = messageBytes[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(messageType == 0x8 || velocity == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(messageType == NoteOffMessage::messageType || velocity == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					return new NoteOffMessage(channel, pitch, velocity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34,11 +34,11 @@ MidiMessage* MidiMessage::parseMessage(std::vector<unsigned char> &messageBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					return new NoteOnMessage(channel, pitch, velocity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			case 0xB: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case ControlChangeMessage::messageType: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				return new ControlChangeMessage(channel, messageBytes[1], messageBytes[2]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			case 0xC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case ProgramChangeMessage::messageType: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				return new ProgramChangeMessage(channel, messageBytes[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			case 0xE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case PitchBendChangeMessage::messageType: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				// messageBytes[1] are the least significant 7 bits.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				// messageBytes[2] are the most significant 7 bits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				return new PitchBendChangeMessage( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -95,7 +95,7 @@ std::vector<unsigned char> PitchBendChangeMessage::getBytes() const 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	bytes[0] = messageType << 4 | channel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// bytes[1] are the seven least significant bits.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// bytes[2] are the seven most significant bits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	bytes[1] = value & (1 << 7 - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	bytes[1] = value & ((1 << 7) - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	bytes[2] = value >> 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |