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 [] buffer)
 {
     Write (buffer, 0, buffer.Length);
 }
Example #3
0
 public static extern int Pm_Read(PortMidiStream stream, MidiEvent [] buffer, int length);
 public void Write(MidiEvent mevent)
 {
     if (mevent.SysEx != null)
         WriteSysEx (mevent.Timestamp, mevent.SysEx);
     else
         Write (mevent.Timestamp, mevent.Message);
 }
Example #5
0
 public int Read(MidiEvent [] buffer, int length)
 {
     return PortMidiMarshal.Pm_Read (stream, buffer, length);
 }