OSStatus AUMIDIBase::HandleNonNoteEvent()

in Source/AUMIDIBase.cpp [324:371]


OSStatus AUMIDIBase::HandleNonNoteEvent(
	UInt8 status, UInt8 channel, UInt8 data1, UInt8 data2, UInt32 inStartFrame)
{
	OSStatus result = noErr;

	switch (status) {
	case kMIDIStatus_PitchWheel:
		result = HandlePitchWheel(channel, data1, data2, inStartFrame);
		break;

	case kMIDIStatus_ProgramChange:
		result = HandleProgramChange(channel, data1);
		break;

	case kMIDIStatus_ChannelPressure:
		result = HandleChannelPressure(channel, data1, inStartFrame);
		break;

	case kMIDIStatus_ControlChange: {
		switch (data1) {
		case kMIDIController_AllNotesOff:
			result = HandleAllNotesOff(channel);
			break;

		case kMIDIController_ResetAllControllers:
			result = HandleResetAllControllers(channel);
			break;

		case kMIDIController_AllSoundOff:
			result = HandleAllSoundOff(channel);
			break;

		default:
			result = HandleControlChange(channel, data1, data2, inStartFrame);
			break;
		}
		break;
	}

	case kMIDIStatus_PolyPressure:
		result = HandlePolyPressure(channel, data1, data2, inStartFrame);
		break;

	default:
		break;
	}
	return result;
}