//public static ChannelMidiEvent CreateNoteAfterTouchChannelMidiEvent(byte channel, byte noteNumber, byte aftertouchValue, uint deltaTime) //{ // return new ChannelMidiEvent(ChannelEventType.NoteAfterTouch, channel, noteNumber, aftertouchValue, deltaTime); //} //public static ChannelMidiEvent CreateControllerChannelMidiEvent(byte channel, byte controllerNumber, byte controllerValue, uint deltaTime) //{ // return new ChannelMidiEvent(ChannelEventType.Controller, channel, controllerNumber, controllerValue, deltaTime); //} //public static ChannelMidiEvent CreateProgramChangehannelMidiEvent(byte channel, byte programNumber, uint deltaTime) //{ // return new ChannelMidiEvent(ChannelEventType.ProgramChange, channel, programNumber, 0, deltaTime); //} //public static ChannelMidiEvent CreateChannelAftertouchChannelMidiEvent(byte channel, byte value, uint deltaTime) //{ // return new ChannelMidiEvent(ChannelEventType.ChannelAfterTouch, channel, value, 0, deltaTime); //} //public static ChannelMidiEvent CreatePitchBendChannelMidiEvent(byte channel, byte pitchValueLSB, byte pitchValueMSB, uint deltaTime) //{ // return new ChannelMidiEvent(ChannelEventType.PitchBend, channel, pitchValueLSB, pitchValueMSB, deltaTime); //} public override void ConvertToBinary(System.IO.BinaryWriter writer) { base.ConvertToBinary(writer); //if (this.Parameter2 == 0 && this.Type == ChannelEventType.NoteOn) // UtilBinary.WriteValue(writer, UtilBinary.CombineBytes((byte)ChannelEventType.NoteOff, this.Channel)); //else UtilBinary.WriteValue(writer, UtilBinary.CombineBytes((byte)this.Type, this.Channel)); UtilBinary.WriteValue(writer, this.Parameter1); UtilBinary.WriteValue(writer, this.Parameter2); }
public virtual void ConvertToBinary(System.IO.BinaryWriter writer) { UtilBinary.WriteVariableLengthValue(writer, this.DeltaTime); //use variable length binary UtilBinary.WriteValue(writer, UtilBinary.CombineBytes((byte)this.Type, this.Channel)); }