コード例 #1
0
 internal MidiOutputDevice(int index)
 {
     _index = index;
     _CheckOutResult(midiOutGetDevCaps(index, ref _caps, Marshal.SizeOf(typeof(MIDIOUTCAPS))));
     _handle      = IntPtr.Zero;
     _outCallback = new MidiOutProc(_MidiOutProc);
 }
コード例 #2
0
    public MIDIOutDevice(int deviceID) : base(deviceID)
    {
        // query number of input devices
        int numOutputDevices = midiOutGetNumDevs();

        if (numOutputDevices <= 0)
        {
            return;
        }

        // look for the input device that's MIDI controller
        for (int i = 0; i < numOutputDevices; i++)
        {
            MidiOutCaps caps = GetDeviceCapabilities(i);
        }

        // open the output device
        midiOutProc = HandleMessage;
        int result = midiOutOpen(ref hndle, deviceID, midiOutProc, 0, CALLBACK_FUNCTION);

        if (result != MIDIExceptions.MMSYSERR_NOERROR)
        {
            throw new OutputDeviceException(result);
        }
    }
コード例 #3
0
ファイル: keyBoardForm.cs プロジェクト: Connect-a/MIDI_HENrep
 public static extern uint midiOutOpen(
    out IntPtr lphmo,
        int uDeviceID,
        MidiOutProc dwCallback,
        int dwCallbackInstance,
        CALLBACK dwFlags
    );
コード例 #4
0
 /// <summary>
 /// Opens a MIDI output device.
 /// </summary>
 /// NOTE: This is adapted from the original Win32 function in order to make it typesafe.
 ///
 /// Win32 docs: http://msdn.microsoft.com/en-us/library/ms711632(VS.85).aspx
 public static MMRESULT midiOutOpen(out HMIDIOUT lphmo, UIntPtr uDeviceID,
                                    MidiOutProc dwCallback, UIntPtr dwCallbackInstance)
 {
     //return midiOutOpen(out lphmo, uDeviceID, dwCallback, dwCallbackInstance,
     //    dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION);
     return(midiOutOpen(out lphmo, uDeviceID, dwCallback, dwCallbackInstance,
                        dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION& MidiOpenFlags.MIDI_IO_STATUS));
 }
コード例 #5
0
        /// <summary>
        /// Initializes output device.
        /// </summary>
        private void InitializeOutputDevice()
        {
            // Create delegate for handling messages from Windows.
            messageHandler = new MidiOutProc(OnMessage);

            // Create synchronized queue for holding headers.
            syncHeaderQueue = Queue.Synchronized(headerQueue);
        }
コード例 #6
0
ファイル: MidiStream.cs プロジェクト: lin20121221/MidiSlicer
 internal MidiStream(int index) : base(index)
 {
     _sendQueue                  = null;
     _sendQueuePosition          = 0;
     _outCallback                = new MidiOutProc(_MidiOutProc);
     _timerCallback              = new TimerProc(_TimerProc);
     _tempoSyncEnabled           = 0;
     _tempoSyncMessageCount      = 100;
     _tempoSyncMessagesSentCount = 0;
 }
コード例 #7
0
        /// <summary>
        /// Initializes a new instance of the OutputDevice class.
        /// </summary>
        public OutputDevice(int deviceID) : base(deviceID)
        {
            midiOutProc = HandleMessage;

            int result = NativeMethods.midiOutOpen(out hndle, deviceID, midiOutProc, IntPtr.Zero, CALLBACK_FUNCTION);

            if(result != MidiDeviceException.MMSYSERR_NOERROR)
            {
                throw new OutputDeviceException(result);
            }
        }
コード例 #8
0
ファイル: OutputStream.cs プロジェクト: huming2207/ghgame
        public OutputStream(int deviceID) : base(deviceID)
        {
            midiOutProc = HandleMessage;

            int result = midiStreamOpen(ref hndle, ref deviceID, 1, midiOutProc, 0, CALLBACK_FUNCTION);

            if (result != MidiDeviceException.MMSYSERR_NOERROR)
            {
                throw new OutputDeviceException(result);
            }
        }
コード例 #9
0
ファイル: OutputDevice.cs プロジェクト: Jbtyson/cis598
        /// <summary>
        /// Initializes a new instance of the OutputDevice class.
        /// </summary>
        public OutputDevice(int deviceID) : base(deviceID)
        {
            midiOutProc = HandleMessage;

            int result = midiOutOpen(ref hndle, deviceID, midiOutProc, 0, CALLBACK_FUNCTION);

            if(result != MidiDeviceException.MMSYSERR_NOERROR)
            {
                throw new OutputDeviceException(result);
            }
        }
コード例 #10
0
        /// <summary>
        /// Initializes a new instance of the OutputDevice class.
        /// </summary>
        public OutputDevice(int deviceID) : base(deviceID)
        {
            midiOutProc = HandleMessage;

            int result = midiOutOpen(out handle, deviceID, midiOutProc, IntPtr.Zero, CALLBACK_FUNCTION);

            if (result != MidiDeviceException.MMSYSERR_NOERROR)
            {
                throw new OutputDeviceException(result);
            }
        }
コード例 #11
0
 internal MidiStream(int deviceIndex)
 {
     if (0 > deviceIndex)
     {
         throw new ArgumentOutOfRangeException("deviceIndex");
     }
     _deviceIndex                = deviceIndex;
     _handle                     = IntPtr.Zero;
     _sendHeader                 = default(MIDIHDR);
     _sendEventBuffer            = IntPtr.Zero;
     _sendQueuePosition          = 0;
     _outCallback                = new MidiOutProc(_MidiOutProc);
     _timerCallback              = new TimerProc(_TimerProc);
     _tempoSyncEnabled           = 0;
     _tempoSyncMessageCount      = 100;
     _tempoSyncMessagesSentCount = 0;
 }
コード例 #12
0
ファイル: MidiWrapper.cs プロジェクト: RugCode/drg-pt
 public static extern int midiOutOpen(out int lphMidiOut, int uDeviceID,
                 MidiOutProc proc, int dwInstance, int dwFlags);
コード例 #13
0
 static extern int midiStreamOpen(ref IntPtr handle, ref int deviceID, int cMidi,
                                  MidiOutProc proc, int instance, int flags);
コード例 #14
0
ファイル: Win32API.cs プロジェクト: bejotka77/midi-dot-net
 /// <summary>
 /// Opens a MIDI output device.
 /// </summary>
 /// NOTE: This is adapted from the original Win32 function in order to make it typesafe.
 ///
 /// Win32 docs: http://msdn.microsoft.com/en-us/library/ms711632(VS.85).aspx
 public static MMRESULT midiOutOpen(out HMIDIOUT lphmo, UIntPtr uDeviceID,
                                  MidiOutProc dwCallback, UIntPtr dwCallbackInstance)
 {
     return midiOutOpen(out lphmo, uDeviceID, dwCallback, dwCallbackInstance,
         dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION);
 }
コード例 #15
0
 public static extern uint midiOutOpen(out IntPtr phmo, int uDeviceID, MidiOutProc dwCallback, uint dwInstance,
                                       uint fdwOpen);
コード例 #16
0
ファイル: OutputDevice.cs プロジェクト: timdetering/Endogine
        /// <summary>
        /// Initializes output device.
        /// </summary>
        private void InitializeOutputDevice()
        {
            // Create delegate for handling messages from Windows.
            messageHandler = new MidiOutProc(OnMessage);

            // Create synchronized queue for holding headers.
            syncHeaderQueue = Queue.Synchronized(headerQueue);
        }
コード例 #17
0
 /// <summary>
 /// Initializes a new instance of the OutputDevice class.
 /// </summary>
 OutputDevice(int deviceID, SynchronizationContext context)
     : base(deviceID)
 {
     this.context = context;
     midiOutProc  = HandleMessage;
 }
コード例 #18
0
ファイル: Win32API.cs プロジェクト: miocr/midi-dot-net
 /// <summary>
 /// Opens a MIDI output device.
 /// </summary>
 /// NOTE: This is adapted from the original Win32 function in order to make it typesafe.
 ///
 /// Win32 docs: http://msdn.microsoft.com/en-us/library/ms711632(VS.85).aspx
 public static MMRESULT midiOutOpen(out HMIDIOUT lphmo, UIntPtr uDeviceID,
                                  MidiOutProc dwCallback, UIntPtr dwCallbackInstance)
 {
     //return midiOutOpen(out lphmo, uDeviceID, dwCallback, dwCallbackInstance,
     //    dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION);
     #region SysEx
     return midiOutOpen(out lphmo, uDeviceID, dwCallback, dwCallbackInstance,
         dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION & MidiOpenFlags.MIDI_IO_STATUS);
     #endregion
 }
コード例 #19
0
 internal static extern int midiOutOpen(
     out IntPtr hMidiOut,
     int uDeviceID,
     MidiOutProc dwCallback,
     IntPtr dwInstance,
     uint dwFlags);
コード例 #20
0
 /// <summary>
 /// Initializes a new instance of the OutputDevice class.
 /// </summary>
 OutputDevice(int deviceID, SynchronizationContext context)
     : base(deviceID)
 {
     this.context = context;
     midiOutProc = HandleMessage;
 }
コード例 #21
0
ファイル: OutputDevice.cs プロジェクト: Jbtyson/cis598
 private static extern int midiOutOpen(ref int handle, int deviceId,
     MidiOutProc proc, int instance, int flags); 
コード例 #22
0
 public static extern int midiOutOpen(out IntPtr lphMidiOut, uint uDeviceID, MidiOutProc dwCallback, uint dwInstance, uint dwFlags);
コード例 #23
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="deviceID"></param>

        public OutputDeviceBase(int deviceID)
        {
            midiOutProc = HandleMessage;
            int result = midiOutOpen(ref hndle, 0, midiOutProc, 0, CALLBACK_FUNCTION);
        }
コード例 #24
0
ファイル: DllImports.cs プロジェクト: Redageddon/LaunchReact
 private static extern int midiOutOpen(
     out HandleMidiOut lphMidiOut,
     UIntPtr uDeviceId,
     MidiOutProc dwCallback,
     UIntPtr dwCallbackInstance,
     MidiOpenFlags dwFlags);
コード例 #25
0
ファイル: OutputDevice.cs プロジェクト: shootdaj/MIDIator
 private static extern int midiOutOpen(out IntPtr handle, int deviceID,
     MidiOutProc proc, int instance, int flags);
コード例 #26
0
 private static extern MMRESULT midiOutOpen(out HMIDIOUT lphmo, UIntPtr uDeviceID,
                                            MidiOutProc dwCallback, UIntPtr dwCallbackInstance, MidiOpenFlags dwFlags);
コード例 #27
0
ファイル: Statics.cs プロジェクト: Redageddon/LaunchReact
 public static int MidiOutOpen(out HandleMidiOut lphMidiOut, UIntPtr uDeviceId, MidiOutProc dwCallback, UIntPtr dwCallbackInstance) =>
 midiOutOpen(
     out lphMidiOut,
     uDeviceId,
     dwCallback,
     dwCallbackInstance,
     dwCallback == null ? MidiOpenFlags.CALLBACK_NULL : MidiOpenFlags.CALLBACK_FUNCTION & MidiOpenFlags.MIDI_IO_STATUS);
コード例 #28
0
ファイル: Midi.cs プロジェクト: rosc77/MidiServer
 internal static extern int midiOutOpen(
     out IntPtr lphMidiOut,
     int uDeviceID,
     MidiOutProc dwCallback,
     IntPtr dwCallbackInstance,
     int dwFlags);
コード例 #29
0
 internal static extern int midiOutOpen(out IntPtr midiIn, uint deviceID, MidiOutProc callback, IntPtr callbackInstance, MidiOutOpenFlags flags);
コード例 #30
0
 private static extern int midiOutOpen(ref int handle, int deviceID,
                                       MidiOutProc proc, int instance, int flags);
コード例 #31
0
 public static extern int midiOutOpen(out IntPtr handle, int deviceID,
     MidiOutProc proc, IntPtr instance, int flags);
コード例 #32
0
ファイル: Win32API.cs プロジェクト: miocr/midi-dot-net
 private static extern MMRESULT midiOutOpen(out HMIDIOUT lphmo, UIntPtr uDeviceID,
     MidiOutProc dwCallback, UIntPtr dwCallbackInstance, MidiOpenFlags dwFlags);
コード例 #33
0
 public static extern int midiStreamOpen(out IntPtr handle, ref int deviceID, int reserved,
     MidiOutProc proc, int instance, uint flag);
コード例 #34
0
 private static extern int midiOutOpen(out IntPtr handle, int deviceID,
                                       MidiOutProc proc, IntPtr instance, int flags);
コード例 #35
0
 public static extern int midiStreamOpen(out IntPtr handle, ref int deviceID, int reserved, MidiOutProc proc, IntPtr instance, uint flag);
コード例 #36
0
 static extern int midiOutOpen(ref IntPtr handle, int deviceID,
                               MidiOutProc proc, int instance, int flags);
コード例 #37
0
 internal static extern EMMError midiOutOpen(
     out IntPtr lphMidiOut,
     uint uDeviceID,
     MidiOutProc dwCallback,
     IntPtr dwCallbackInstance,
     int dwFlags);