protected override void OnUnprepareBuffer(MidiBufferStream buffer) { Check.IfArgumentNull(buffer, "buffer"); int result = NativeMethods.midiOutUnprepareHeader( MidiPort.MidiSafeHandle, buffer.ToIntPtr(), (uint)MemoryUtil.SizeOfMidiHeader); MidiOutPortBase.ThrowIfError(result); }
/// <summary> /// Adds the <paramref name="buffer"/> to the midi port. /// </summary> /// <param name="buffer">Must not be null.</param> private void AddBufferToPort(MidiBufferStream buffer) { Check.IfArgumentNull(buffer, "buffer"); // make sure the stream is rewound. buffer.Position = 0; int result = NativeMethods.midiInAddBuffer( MidiPort.MidiSafeHandle, buffer.ToIntPtr(), (uint)MemoryUtil.SizeOfMidiHeader); MidiInPort.ThrowIfError(result); }
public override void LongData(MidiBufferStream buffer) { Check.IfArgumentNull(buffer, "buffer"); ////if ((buffer.HeaderFlags & NativeMethods.MHDR_PREPARED) == 0) ////{ //// throw new InvalidOperationException("LongData cannot be called with a MidiBufferStream that has not been prepared."); ////} buffer.BytesRecorded = buffer.Position; int result = NativeMethods.midiStreamOut( MidiSafeHandle, buffer.ToIntPtr(), (uint)MemoryUtil.SizeOfMidiHeader); ThrowIfError(result); }