public MidiInDevice(int port_number) { m_port_number = port_number; m_delegate = new MidiInProcDelegate(MidiInProc); m_delegate_pointer = Marshal.GetFunctionPointerForDelegate(m_delegate); win32.midiInOpen(ref m_hmidiin, port_number, m_delegate_pointer, 0, win32.CALLBACK_FUNCTION); }
public static extern uint midiInOpen( out IntPtr handle, uint id, MidiInProcDelegate callback, IntPtr hInstance, uint flags );
/// <summary> /// Open MIDI input device if available. /// </summary> /// <param name="handle"></param> /// <param name="id"></param> /// <param name="callback"></param> /// <returns></returns> public static uint midiInOpen(out IntPtr handle, uint id, MidiInProcDelegate callback) => midiInOpen(out handle, id, callback, IntPtr.Zero, CALLBACK_FUNCTION);