|
|
|
|
@ -2,7 +2,6 @@ |
|
|
|
|
// Created: 2021-04-09 |
|
|
|
|
// Copyright(c) 2021 SimonG. All Rights Reserved. |
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
|
using Lib.Midi.Messages.Interfaces; |
|
|
|
|
using NAudio.Midi; |
|
|
|
|
|
|
|
|
|
@ -12,41 +11,12 @@ namespace Lib.Midi.Messages.Factories |
|
|
|
|
{ |
|
|
|
|
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(); |
|
|
|
|
} |
|
|
|
|
if (midiInMessageEventArgs.MidiEvent is PitchWheelChangeEvent pitchWheelChangeEvent) |
|
|
|
|
return new PitchWheelChangeMessage(pitchWheelChangeEvent, midiInMessageEventArgs.RawMessage); |
|
|
|
|
else if (midiInMessageEventArgs.MidiEvent is NoteOnEvent noteOnEvent) |
|
|
|
|
return new NoteOnMessage(noteOnEvent, midiInMessageEventArgs.RawMessage); |
|
|
|
|
else if (midiInMessageEventArgs.MidiEvent is NoteEvent noteEvent) |
|
|
|
|
return new NoteMessage(noteEvent, midiInMessageEventArgs.RawMessage); |
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|