Пример #1
0
        /// <summary>
        /// Un-prepares the <paramref name="buffer"/> for the Midi In Port.
        /// </summary>
        /// <param name="buffer">Must not be null.</param>
        /// <remarks>This method is not intended to be called by client code.</remarks>
        protected override void OnUnprepareBuffer(MidiBufferStream buffer)
        {
            Check.IfArgumentNull(buffer, "buffer");

            int result = NativeMethods.midiInUnprepareHeader(
                MidiPort.MidiSafeHandle,
                buffer.ToIntPtr(),
                (uint)MemoryUtil.SizeOfMidiHeader);

            MidiInPort.ThrowIfError(result);
        }
        /// <summary>
        /// Initializes the collection instance.
        /// </summary>
        public MidiInPortCapsCollection()
            : base(new List <MidiInPortCaps>())
        {
            int count = NativeMethods.midiInGetNumDevs();

            for (int portId = 0; portId < count; portId++)
            {
                MidiInPortCaps caps = MidiInPort.GetPortCapabilities(portId);

                Items.Add(caps);
            }
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
 /// <summary>
 /// Initializes the buffer manager on the Midi In <paramref name="port"/>.
 /// </summary>
 /// <param name="port">Must not be null.</param>
 internal MidiInBufferManager(MidiInPort port)
     : base(port, FileAccess.Read)
 {
 }
Пример #5
0
 /// <summary>
 /// Initializes the buffer manager on the Midi In <paramref name="port"/>.
 /// </summary>
 /// <param name="port">Must not be null.</param>
 internal MidiInBufferManager(MidiInPort port)
     : base(port, FileAccess.Read)
 {
     Contract.Requires(port != null);
 }