protected static byte[] PolyphonicKeyPressureMessage(Channel channel, Key key = Key.Key0, int pressure = 0) => new[] { StructHelper.StatusByte(Midi.Status.PolyphonicKeyPressureBitmask, channel), StructHelper.DataByte(key), StructHelper.DataByte(pressure) };
protected static byte[] ControlChangeMessage(Channel channel, int control, int value) => new[] { StructHelper.StatusByte(Midi.Status.ControlChangeBitmask, channel), StructHelper.DataByte(control), StructHelper.DataByte(value) };
protected static byte[] NoteOnMessage(Channel channel, Key key = Key.Key0, int velocity = 0) => new[] { StructHelper.StatusByte(Midi.Status.NoteOnBitmask, channel), StructHelper.DataByte(key), StructHelper.DataByte(velocity) };
protected static byte[] ChannelPressureMessage(Channel channel, int pressure) => new[] { StructHelper.StatusByte(Midi.Status.ChannelPressureBitmask, channel), StructHelper.DataByte(pressure) };
protected static byte[] ProgramChangeMessage(Channel channel, int program) => new[] { StructHelper.StatusByte(Midi.Status.ProgramChangeBitmask, channel), StructHelper.DataByte(program) };