// Author: Gockner, Simon // Created: 2021-04-09 // Copyright(c) 2021 SimonG. All Rights Reserved. using System; using Lib.Midi.Messages.Interfaces; using NAudio.Midi; namespace Lib.Midi.Messages.Factories { public class MidiMessageFactory : IMidiMessageFactory { public IMidiMessage Create(MidiInMessageEventArgs midiInMessageEventArgs) { switch (midiInMessageEventArgs.MidiEvent.CommandCode) { case MidiCommandCode.NoteOff: break; case MidiCommandCode.NoteOn: break; case MidiCommandCode.KeyAfterTouch: break; case MidiCommandCode.ControlChange: break; case MidiCommandCode.PatchChange: break; case MidiCommandCode.ChannelAfterTouch: break; case MidiCommandCode.PitchWheelChange: return new PitchWheelChangeMessage(midiInMessageEventArgs); case MidiCommandCode.Sysex: break; case MidiCommandCode.Eox: break; case MidiCommandCode.TimingClock: break; case MidiCommandCode.StartSequence: break; case MidiCommandCode.ContinueSequence: break; case MidiCommandCode.StopSequence: break; case MidiCommandCode.AutoSensing: break; case MidiCommandCode.MetaEvent: break; default: throw new ArgumentOutOfRangeException(); } return null; } } }