- allow creation of control change message

master
Simon G 5 years ago
parent 96ea9b9b54
commit 697c7a1586
  1. 14
      Lib.Midi/Messages/ControlChangeMessage.cs
  2. 2
      Lib.Midi/Messages/Factories/MidiMessageFactory.cs

@ -8,10 +8,20 @@ namespace Lib.Midi.Messages
{ {
public class ControlChangeMessage : MidiMessage public class ControlChangeMessage : MidiMessage
{ {
public ControlChangeMessage(long absolutTime, int channelNumber, int value) public ControlChangeMessage(ControlChangeEvent controlChangeEvent)
: base(new ControlChangeEvent(absolutTime, channelNumber, (MidiController) 16, value)) : base(controlChangeEvent)
{ {
} }
public ControlChangeMessage(long absolutTime, int channelNumber, byte controller, int value)
: base(new ControlChangeEvent(absolutTime, channelNumber, (MidiController) controller, value))
{
}
private ControlChangeEvent ControlChangeEvent => (ControlChangeEvent) _midiEvent;
public int Value => ControlChangeEvent.ControllerValue;
public byte Controller => (byte) ControlChangeEvent.Controller;
} }
} }

@ -17,6 +17,8 @@ namespace Lib.Midi.Messages.Factories
return new NoteOnMessage(noteOnEvent); return new NoteOnMessage(noteOnEvent);
else if (midiEvent is NoteEvent noteEvent) else if (midiEvent is NoteEvent noteEvent)
return new NoteMessage(noteEvent); return new NoteMessage(noteEvent);
else if (midiEvent is ControlChangeEvent controlChangeEvent)
return new ControlChangeMessage(controlChangeEvent);
return null; return null;
} }

Loading…
Cancel
Save