Example #1
0
        internal static MIDIOUTCAPS midiOutGetDevCaps(int uDeviceID)
        {
            MIDIOUTCAPS res = new MIDIOUTCAPS();
            MMRESULT    err = midiOutGetDevCaps(uDeviceID, ref res, (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS)));

            if (err != MMRESULT.MMSYSERR_NOERROR)
            {
                throw new Exception("err: " + err.ToString());
            }

            return(res);
        }
Example #2
0
        public static uint midiOutGetDevCaps(IntPtr uDeviceID, ref MIDIOUTCAPS lpMidiOutCaps, uint cbMidiOutCaps)
        {
            DeviceInformation deviceInformation = GetDevices()[uDeviceID.ToInt32()];

            lpMidiOutCaps              = new MIDIOUTCAPS();
            lpMidiOutCaps.szPname      = deviceInformation.Name;
            lpMidiOutCaps.wMid         = 1;
            lpMidiOutCaps.wChannelMask = ushort.MaxValue;

            lpMidiOutCaps.wTechnology = (ushort)OutputDeviceType.MidiPort;

            return(MidiWinApi.MMSYSERR_NOERROR);
        }
Example #3
0
        public static string MidiOutGetName(int index)
        {
            MIDIOUTCAPS caps  = new MIDIOUTCAPS();
            int         error = MidiOutGetDevCaps(index, ref caps, 52);

            if (error == 0)
            {
                return(caps.szPname);
            }
            else
            {
                return("");
            }
        }
        public static uint?FindOutputIdByName(string name)
        {
            uint midiDevNum = NativeImports.midiOutGetNumDevs();

            for (uint i = 0; i < midiDevNum; i++)
            {
                MIDIOUTCAPS capsResult = default;
                NativeImports.ThrowOnError(NativeImports.midiOutGetDevCaps(i, ref capsResult));
                if (capsResult.szPname == name)
                {
                    return(i);
                }
            }
            return(null);
        }
Example #5
0
File: MIDI.cs Project: ryrun/XYPad
 public void refreshList(ComboBox list)
 {
     //clear combo list
     list.Items.Clear();
     //get count of midi out devices
     int dev = (int)midiOutGetNumDevs();
     //init struct for data
     MIDIOUTCAPS caps = new MIDIOUTCAPS();
     //step through list
     for(int i=0;i<dev;i++) {
         //get midi out devices infos
         midiOutGetDevCaps(i,ref caps, (UInt32)Marshal.SizeOf(caps));
         //add to combolist
         list.Items.Add(caps.szPname);
     }
 }
Example #6
0
        //****************************  Информация об устройстве  **********************
        public int OutGetCaps(uint dev)
        {
            // Информация об устройстве
            uOutDeviceID = dev;      // Можно сделать выбор!
            midiOutCaps  = new MIDIOUTCAPS();
            uint res = MIDIOutGetDevCaps(uOutDeviceID, out midiOutCaps, (uint)Marshal.SizeOf(midiOutCaps));

            if (res != MMSYSERR_NOERROR)
            {
                string str = "";
                MIDIOutGetErrorText(res, str, 255);
                MessageBox.Show("Error = " + str);
                return(-1);
            }
            return(0);
        }
Example #7
0
        public static unsafe void Hello()
        {
            Console.WriteLine("Hello");
            Console.WriteLine("devices-sum:{0}", InputPort.InputCount);
            //ip.Open(1);

            for (int j = 0; j < MidiDeviceBusiness.midiOutGetNumDevs(); j++)
            {
                MIDIOUTCAPS caps = new MIDIOUTCAPS();
                MidiDeviceBusiness.midiOutGetDevCaps(new UIntPtr(new IntPtr(j).ToPointer()), ref caps, Convert.ToUInt32(System.Runtime.InteropServices.Marshal.SizeOf(typeof(MIDIOUTCAPS)) * 8));
                MidiDeviceBusiness.midiOutOpen(out IntPtr mOut, (uint)j, (IntPtr)0, (IntPtr)0, 0);
                Console.WriteLine(mOut);
                Console.WriteLine(caps.szPname);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 0)));
                Thread.Sleep(1000);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 1)));
                Thread.Sleep(1000);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 2)));
                Thread.Sleep(1000);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 3)));
                Thread.Sleep(1000);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 4)));
                Thread.Sleep(1000);
                Console.WriteLine(MidiDeviceBusiness.midiOutShortMsg(mOut, (uint)(0x90 + (61 * 0x100) + (60 * 0x10000) + 5)));
            }


            //ip.Start();
            //try
            //{
            //    //while (true)
            //    //{
            //    //    Thread.Sleep(1);
            //    //}
            //}
            //catch (Exception e)
            //{


            //}
            //finally
            //{
            //    ip.Stop();
            //    ip.Close();
            //    Console.WriteLine("Bye~");
            //}
        }
Example #8
0
        public void refreshList(ComboBox list)
        {
            //clear combo list
            list.Items.Clear();
            //get count of midi out devices
            int dev = (int)midiOutGetNumDevs();
            //init struct for data
            MIDIOUTCAPS caps = new MIDIOUTCAPS();

            //step through list
            for (int i = 0; i < dev; i++)
            {
                //get midi out devices infos
                midiOutGetDevCaps(i, ref caps, (UInt32)Marshal.SizeOf(caps));
                //add to combolist
                list.Items.Add(caps.szPname);
            }
        }
Example #9
0
        public static void Refresh()
        {
            var count = midiOutGetNumDevs();

            Devices = new Tuple <uint, string> [count + 1];

            var caps = new MIDIOUTCAPS();

            midiOutGetDevCaps((UIntPtr)0xffffffff, ref caps, (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS)));

            Devices[0] = new Tuple <uint, string>(0xffffffff, caps.szPname);

            for (uint x = 0; x < count; x++)
            {
                midiOutGetDevCaps((UIntPtr)x, ref caps, (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS)));

                Devices[x + 1] = new Tuple <uint, string>(x, caps.szPname);
            }
        }
 internal static extern EMMError midiOutGetDevCaps(IntPtr uDeviceId, [In, Out] MIDIOUTCAPS lpMidiInCaps, uint cbMidiInCaps);
Example #11
0
 private static extern uint midiOutGetDevCaps(uint uDeviceID, out MIDIOUTCAPS lpMidiOutCaps, int cbMidiOutCaps);
Example #12
0
 private uint MIDIOutGetDevCaps(uint uOutDeviceID, out MIDIOUTCAPS lpCaps, uint uSize)
 {
     return(midiOutGetDevCaps(uOutDeviceID, out lpCaps, uSize));
 }
Example #13
0
 internal static extern MMRESULT midiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS caps, uint cbMidiInCaps);
 private static extern MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, out MIDIOUTCAPS caps,
                                                  UInt32 cbMidiOutCaps);
Example #15
0
File: Midi.cs Project: dada/theresa
 public string[] GetDeviceNames()
 {
     int n = this.Devices;
       string[] r = new string[n];
       for(int i = 0; i < n; i++) {
     MIDIOUTCAPS c = new MIDIOUTCAPS();
     int rc = midiOutGetDevCaps(i, out c, Marshal.SizeOf(typeof(MIDIOUTCAPS)));
     r[i] = c.szPname;
       }
       return r;
 }
Example #16
0
 public static extern int MidiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS caps, int cbMidiOutCaps);
Example #17
0
 static public extern UInt32 midiOutGetDevCaps(Int32 uDeviceID,
                                               ref MIDIOUTCAPS lpMidiOutCaps, UInt32 cbMidiOutCaps);
Example #18
0
 static extern MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, ref MIDIOUTCAPS lpMidiOutCaps, uint cbMidiOutCaps);
Example #19
0
 internal static extern uint midiOutGetDevCaps(uint uDeviceID, ref MIDIOUTCAPS lpCaps, uint uSize);
Example #20
0
 static extern int midiOutGetDevCaps(int deviceIndex,
                                     ref MIDIOUTCAPS caps, int uSize);
Example #21
0
 public static extern int midiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS lpCaps, int uSize);
Example #22
0
 internal static extern uint midiOutGetDevCaps(UIntPtr uDeviceID, out MIDIOUTCAPS caps, uint cbMidiOutCaps);
Example #23
0
        /// <summary>
        /// Loads/reloads the MIDI output devices
        /// </summary>
        public static void LoadOutputDevices()
        {
            outputDevices = null;
            List<OutputDevice> devices = new List<OutputDevice>();
            UInt32 numberOfDevices = Functions.midiOutGetNumDevs();

            if(numberOfDevices > 0)
            {
                for(Int32 i = 0 ; i < numberOfDevices ; i++)
                {
                    MIDIOUTCAPS caps = new MIDIOUTCAPS();
                    if(Functions.midiOutGetDevCaps(i, ref caps, (UInt32) Marshal.SizeOf(caps)) == Constants.MMSYSERR_NOERROR)
                    {
                        devices.Add(new OutputDevice(i, caps));
                    }
                }
            }
            outputDevices = devices.AsReadOnly();
        }
Example #24
0
 [DllImport("winmm.dll")] private static extern UInt32 midiOutGetDevCaps(Int32 uDeviceID, ref MIDIOUTCAPS lpMidiOutCaps, UInt32 cbMidiOutCaps);
Example #25
0
 public static extern int midiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS lpCaps, int uSize);
Example #26
0
File: Midi.cs Project: dada/theresa
 private static extern int midiOutGetDevCaps(
     int device, out MIDIOUTCAPS caps, int capsize
     );
Example #27
0
 /// <summary>
 /// Fills in the capabilities struct for a specific 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/ms711621(VS.85).aspx
 public static MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, out MIDIOUTCAPS caps)
 {
     return midiOutGetDevCaps(uDeviceID, out caps,
         (UInt32)Marshal.SizeOf(typeof(MIDIOUTCAPS)));
 }
 /// <summary>
 /// Fills in the capabilities struct for a specific 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/ms711621(VS.85).aspx
 public static MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, out MIDIOUTCAPS caps)
 {
     return(midiOutGetDevCaps(uDeviceID, out caps,
                              (UInt32)Marshal.SizeOf(typeof(MIDIOUTCAPS))));
 }
Example #29
0
 /// <summary>
 /// Creates a new MIDI output device instance.
 /// </summary>
 /// <param name="id">The device's ID.</param>
 /// <param name="caps">The device's capabilities.</param>
 internal OutputDevice(Int32 id, MIDIOUTCAPS caps)
 {
     ID = id;
     Name = caps.szPname;
 }
Example #30
0
 internal static extern uint midiOutGetDevCaps(uint uDeviceID, ref MIDIOUTCAPS lpCaps, uint uSize);
Example #31
0
 internal static MMRESULT midiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS caps)
 {
     return(midiOutGetDevCaps(uDeviceID, ref caps, (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS))));
 }
Example #32
0
        /// <summary>
        /// Loads/reloads all devices except VirtualMIDISynth #1 (which is reserved for the Assistant Performer).
        /// </summary>
        public static void LoadOutputDevices()
        {
            outputDevices = null;
            List<OutputDevice> devices = new List<OutputDevice>();
            UInt32 numberOfDevices = Functions.midiOutGetNumDevs();

            if(numberOfDevices > 0)
            {
                for(Int32 i = 0 ; i < numberOfDevices ; i++)
                {
                    MIDIOUTCAPS caps = new MIDIOUTCAPS();
                    uint returnValue = Functions.midiOutGetDevCaps(i, ref caps, (UInt32)Marshal.SizeOf(caps));
                    Debug.Assert(returnValue  == Constants.MMSYSERR_NOERROR);
                    if(string.Compare(caps.szPname, "VirtualMIDISynth #1") != 0)
                    {
                        devices.Add(new OutputDevice(i, caps));
                    }
                }
            }

            outputDevices = devices.AsReadOnly();
        }
Example #33
0
 public static extern uint midiOutGetDevCaps(IntPtr uDeviceID, ref MIDIOUTCAPS lpMidiOutCaps, uint cbMidiOutCaps);
Example #34
0
 internal static extern UInt32 midiOutGetDevCaps(
     Int32 uDeviceID,
     ref MIDIOUTCAPS lpMidiOutCaps, UInt32 cbMidiOutCaps);
Example #35
0
 public static extern int MidiOutGetDevCaps(int uDeviceID, ref MIDIOUTCAPS caps, int cbMidiOutCaps);
Example #36
0
 static extern uint midiOutGetDevCaps(int uDeviceID, out MIDIOUTCAPS caps, uint cbMidiOutCaps);
Example #37
0
        public static string MidiOutGetName(int index)
        {
            MIDIOUTCAPS caps = new MIDIOUTCAPS();
            int error = MidiOutGetDevCaps(index, ref caps, 52);

            if(error == 0) return caps.szPname;
            else return "";
        }
Example #38
0
 private static extern MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, out MIDIOUTCAPS caps,
     UInt32 cbMidiOutCaps);
Example #39
0
 private static extern uint midiOutGetDevCaps(uint uDeviceID, out MIDIOUTCAPS lpMidiOutCaps, int cbMidiOutCaps);