public void Write (MidiEvent [] buffer) { Write (buffer, 0, buffer.Length); }
public void Write (MidiEvent [] buffer, int index, int length) { var gch = GCHandle.Alloc (buffer); try { var ptr = Marshal.UnsafeAddrOfPinnedArrayElement (buffer, index); var ret = PortMidiMarshal.Pm_Write (stream, ptr, length); if (ret != PmError.NoError) throw new MidiException (ret, String.Format ("Failed to write messages : {0}", PortMidiMarshal.Pm_GetErrorText ((PmError) ret))); } finally { gch.Free (); } }
public void Write (MidiEvent mevent) { if (mevent.Data != null) WriteSysEx (mevent.Timestamp, mevent.Data); else Write (mevent.Timestamp, mevent.Message); }