Beispiel #1
0
        /// <summary>
        /// Initializes the internal list of installed MIDI output devices.
        /// </summary>
        /// <exception cref="MidiOutputDeviceException">Raises error #2: MULTIMEDIA_SYSTEM_ERROR_BAD_DEVICE_ID, the specified device ID is out of range.</exception>
        /// <exception cref="MidiOutputDeviceException">Raises error #6: MULTIMEDIA_SYSTEM_ERROR_NO_DRIVER, the driver is not installed.</exception>
        /// <exception cref="MidiOutputDeviceException">Raises error #7: MULTIMEDIA_SYSTEM_ERROR_NO_MEM, the system is unable to allocate or lock memory.</exception>
        /// <exception cref="MidiOutputDeviceException">Raises error #11: MULTIMEDIA_SYSTEM_ERROR_INVALID_PARAMETER, the specified pointer or structure is invalid.</exception>
        private static void InitializeMidiOutputDeviceList()
        {
            _MidiOutputDevices = new MidiOutputDevice[API.MidiOutputDeviceCount()];

            for (int deviceID = 0; deviceID < _MidiOutputDevices.Length; deviceID++)
            {
                API.MidiOutputDeviceCapabilities capabilities = new API.MidiOutputDeviceCapabilities();

                MidiOutputDevice.InvalidateResult(API.GetMidiOutputDeviceCapabilities(deviceID, ref capabilities));

                _MidiOutputDevices[deviceID] = new MidiOutputDevice(deviceID, capabilities);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Disconnects a MIDI output or thru device from the MIDI input device.
 /// </summary>
 /// <param name="device">A <see cref="MidiOutputDevice"/> or MIDI thru device to disconnect from.</param>
 /// <exception cref="MidiInputDeviceException">Raises <see cref="API.Result.MULTIMEDIA_SYSTEM_ERROR_INVALID_HANDLE"/>.</exception>
 public void Disconnect(MidiOutputDevice device)
 {
     InvalidateResult(API.DisconnectMidiDevices(_Handle, device._Handle));
 }