|
|
|
|
@ -0,0 +1,54 @@ |
|
|
|
|
// 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; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |