Beispiel #1
0
        public int InOpen(string deviceName)
        {
            int    result   = -1;
            int    deviceID = GetInIdByName(deviceName);
            IntPtr pointer  = Marshal.GetIUnknownForObject(this);

            midiProc = new MidiProc(CallBack);
            result   = WinMM.midiInOpen(ref inHandle, deviceID, midiProc, pointer, CALLBACK_FUNCTION);
            if (result != 0)
            {
                throw new Exception("MidiInOpen failed with code: " + result + ". Cannot open IN device " + deviceName);
            }
            AddSysexBuffer();
            result = WinMM.midiInStart(inHandle);
            if (result != 0)
            {
                throw new Exception("Cannot start IN device " + deviceName);
            }
            return(result);
        }
Beispiel #2
0
 internal static extern int midiInOpen(ref int handle, int deviceId, MidiProc proc, int instance, int flags);
Beispiel #3
0
 public static extern int midiInOpen(out MidiInSafeHandle handle, uint deviceId, MidiProc proc, IntPtr instance, uint flags);
Beispiel #4
0
 public static extern int midiStreamOpen(out MidiOutStreamSafeHandle handle, ref uint deviceId, uint cMidi, MidiProc proc, IntPtr instance, uint flags);
Beispiel #5
0
 public static extern int midiStreamOpen(out IntPtr handle, ref uint deviceID, uint cMidi, MidiProc proc, IntPtr instance, uint flags);
Beispiel #6
0
 public static extern int midiOutOpen(out IntPtr handle, uint deviceID, MidiProc proc, IntPtr instance, uint flags);