Cross Platform Application to allow control with a MIDI controller
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.8 KiB

// 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;
}
}
}