Example #1
0
        public static uint midiOutOpen(out IntPtr lphmo, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags)
        {
            if (s_midiOutPort != null)
            {
                lphmo = new IntPtr(uDeviceID);
                return(MidiWinApi.MMSYSERR_NOERROR);
            }

            try
            {
                s_midiOutPort = MidiOutPort.FromIdAsync(GetDevices()[uDeviceID].Id).AsTask().Result;

                lphmo = new IntPtr(uDeviceID);

                if (s_midiOutPort == null)
                {
                    return(MidiWinApi.MMSYSERR_ERROR);
                }
            }
            catch (Exception)
            {
                lphmo = new IntPtr(uDeviceID);
                return(MidiWinApi.MMSYSERR_ERROR);
            }

            return(MidiWinApi.MMSYSERR_NOERROR);
        }
        private void EnsureHandleIsCreated()
        {
            if (_handle != IntPtr.Zero)
            {
                return;
            }

            _callback = OnMessage;
            ProcessMmResult(MidiOutWinApi.midiOutOpen(out _handle, Id, _callback, IntPtr.Zero, MidiWinApi.CallbackFunction));
        }
 public static extern uint midiInOpen(out IntPtr lphMidiIn, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags);
Example #4
0
 public static uint midiInOpen(out IntPtr lphMidiIn, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags)
 {
     lphMidiIn = new IntPtr(0);
     return(MidiWinApi.MMSYSERR_NOERROR);
 }
Example #5
0
 public static extern MMRESULT midiOutOpen(out IntPtr lphmo, uint uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags);