Esempio n. 1
0
        private void Form1_Shown(object sender, EventArgs e)
        {
            f2 = new FormSettings();
            cm = new ChooseModule();
            int k = 0;

            k = MidiOut.NumberOfDevices;
            for (int i = 0; i < k; i++)
            {
                f2.comboBox1.Items.Add(MidiOut.DeviceInfo(i).ProductName.ToString());
            }
            if (k > 0)
            {
                f2.comboBox1.SelectedIndex = 0;
            }
            k = 0;
            k = MidiIn.NumberOfDevices;
            for (int i = 0; i < k; i++)
            {
                f2.comboBox3.Items.Add(MidiIn.DeviceInfo(i).ProductName.ToString());
            }
            if (k > 0)
            {
                f2.comboBox3.SelectedIndex = 0;
            }
            f2.comboBox2.SelectedIndex = 0;
            f2.StartPosition           = FormStartPosition.CenterParent;
            f2.FormClosing            += SettingsClose;
            f2.ShowDialog();
            cm.StartPosition = FormStartPosition.CenterScreen;
            cm.FormClosing  += ChooseModuleClose;
        }
 public static IEnumerable <MidiOutCapabilities> GetConnectedOutDevices()
 {
     for (var i = 0; i < MidiOut.NumberOfDevices; ++i)
     {
         yield return(MidiOut.DeviceInfo(i));
     }
 }
Esempio n. 3
0
        // Get the specific list based on the property name.
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            List <string>?rec = null;

            switch (context.PropertyDescriptor.Name)
            {
            case "MidiInDevice":
                rec = new List <string>();
                for (int devindex = 0; devindex < MidiIn.NumberOfDevices; devindex++)
                {
                    rec.Add(MidiIn.DeviceInfo(devindex).ProductName);
                }
                break;

            case "MidiOutDevice":
                rec = new List <string>();
                for (int devindex = 0; devindex < MidiOut.NumberOfDevices; devindex++)
                {
                    rec.Add(MidiOut.DeviceInfo(devindex).ProductName);
                }
                break;
            }

            return(new StandardValuesCollection(rec));
        }
Esempio n. 4
0
        private void InitMidiDevices()
        {
            MidiDataFormats = new Dictionary <string, string>()
            {
                { "General MIDI", "GENERAL_MIDI" },
                { "Soundfont MIDI (Creative AWE32/AWE64)", "SOUNDFONT_MIDI" },
                { "Yamaha XG MIDI", "YAMAHA_XG" }
            };

            var deviceIDs = new Dictionary <string, string>();

            int numofMidiDevices = MidiOut.NumberOfDevices;

            if (numofMidiDevices > 0)
            {
                for (int n = 0; n < numofMidiDevices; n++)
                {
                    deviceIDs.Add($"{n}: " + MidiOut.DeviceInfo(n).ProductName, n.ToString());
                }
            }
            else
            {
                deviceIDs.Add("0: Default MIDI Device", "0");
            }

            MidiDeviceIDs = deviceIDs;
            NotifyPropertyChanged(nameof(MidiDevices));
        }
Esempio n. 5
0
        public void RefreshConnectedDevices()
        {
            _connectedInputDevices = new ConcurrentDictionary <string, List <int> >();
            for (var i = 0; i < MidiIn.NumberOfDevices; i++)
            {
                var infoIn = MidiIn.DeviceInfo(i);
                if (!_connectedInputDevices.ContainsKey(infoIn.ProductName))
                {
                    _connectedInputDevices.TryAdd(infoIn.ProductName, new List <int>());
                }
                _connectedInputDevices[infoIn.ProductName].Add(i);
            }

            _connectedOutputDevices = new ConcurrentDictionary <string, List <int> >();
            for (int i = 0; i < MidiOut.NumberOfDevices; i++)
            {
                var infoOut = MidiOut.DeviceInfo(i);
                if (!_connectedOutputDevices.ContainsKey(infoOut.ProductName))
                {
                    _connectedOutputDevices.TryAdd(infoOut.ProductName, new List <int>());
                }
                _connectedOutputDevices[infoOut.ProductName].Add(i);
            }
            BuildInputDeviceList();
            BuildOutputDeviceList();
        }
Esempio n. 6
0
 private static void IterateMidiOutDevices()
 {
     for (int device = 0; device < MidiOut.NumberOfDevices; device++)
     {
         Console.WriteLine(MidiOut.DeviceInfo(device).ProductName);
     }
 }
Esempio n. 7
0
        // Get the specific list based on the property name.
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            List <string>?rec = null;

            switch (context.PropertyDescriptor.Name)
            {
            case "Latency":
                rec = new List <string>()
                {
                    "25", "50", "100", "150", "200", "300", "400", "500"
                };
                break;

            case "WavOutDevice":
                rec = new List <string>();
                for (int id = -1; id < WaveOut.DeviceCount; id++)     // –1 indicates the default output device, while 0 is the first output device
                {
                    var cap = WaveOut.GetCapabilities(id);
                    rec.Add(cap.ProductName);
                }
                break;

            case "MidiOutDevice":
                rec = new List <string>();
                for (int devindex = 0; devindex < MidiOut.NumberOfDevices; devindex++)
                {
                    rec.Add(MidiOut.DeviceInfo(devindex).ProductName);
                }
                break;
            }

            return(new StandardValuesCollection(rec));
        }
Esempio n. 8
0
 public MidiOutput(int devId)
 {
     base.DeviceID     = new DeviceId();
     base.DeviceID.id  = devId;
     base.DeviceID.t   = EDeviceType.Out;
     base.DeviceName   = MidiOut.DeviceInfo(devId).ProductName;
     this.OutputDevice = new MidiOut(base.DeviceID.id);
 }
Esempio n. 9
0
 public static string[] GetOutputDevices()
 {
     string[] names = new string[MidiOut.NumberOfDevices];
     for (int i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         names[i] = MidiOut.DeviceInfo(i).ProductName;
     }
     return(names);
 }
Esempio n. 10
0
        public static Dictionary <int, string> GetDevices()
        {
            Dictionary <int, string> devices = new Dictionary <int, string>();

            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                devices.Add(device, MidiOut.DeviceInfo(device).ProductName);
            }
            return(devices);
        }
Esempio n. 11
0
 public static void Initialise()
 {
     for (int device = 0; device < MidiOut.NumberOfDevices; device++)
     {
         if (MidiOut.DeviceInfo(device).ProductName.StartsWith("Microsoft"))
         {
             midiOut = new MidiOut(device);
         }
     }
 }
Esempio n. 12
0
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();

            for (int device = 0; device < MidiIn.NumberOfDevices; device++)
            {
                comboBoxMidiInDevices.Items.Add(MidiIn.DeviceInfo(device).ProductName);
            }
            if (comboBoxMidiInDevices.Items.Count > 0)
            {
                comboBoxMidiInDevices.SelectedIndex = 0;
            }
            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                comboBoxMidiOutDevices.Items.Add(MidiOut.DeviceInfo(device).ProductName);
            }
            if (comboBoxMidiOutDevices.Items.Count > 0)
            {
                comboBoxMidiOutDevices.SelectedIndex = 0;
            }

            if (comboBoxMidiInDevices.Items.Count == 0)
            {
                MessageBox.Show("No MIDI input devices available");
            }
            else
            {
                if (midiIn == null)
                {
                    midiIn = new MidiIn(comboBoxMidiInDevices.SelectedIndex);
                    midiIn.MessageReceived += new EventHandler <MidiInMessageEventArgs>(midiIn_MessageReceived);
                    midiIn.ErrorReceived   += new EventHandler <MidiInMessageEventArgs>(midiIn_ErrorReceived);
                }
                midiIn.Start();
                comboBoxMidiInDevices.Enabled = false;
            }

            if (comboBoxMidiOutDevices.Items.Count == 0)
            {
                MessageBox.Show("No MIDI output devices available");
            }
            else
            {
                if (midiOut == null)
                {
                    midiOut = new MidiOut(comboBoxMidiOutDevices.SelectedIndex);
                }
            }

            // Add Audio Output Types
            InitialiseAsioControls();
        }
Esempio n. 13
0
        public MainWindow()
        {
            InitializeComponent();
            this.Visibility = Visibility.Hidden;

            MainNotifyIcon.Icon = new System.Drawing.Icon("boardy_logo.ico");

            foreach (var pcs in ApplicationSettings.PadControls)
            {
                PadControl pc = new PadControl(pcs.AudioDeviceID, pcs.Volume, pcs.AudioFilePath, pcs.MidiNoteMap, pcs.VolumeSliderControllerMap);
                GlobalStaticContext.AddPad(pc);
                MainWrapPanel.Children.Add(pc);
            }

            int selectedMidiINPUTDevId = -1;

            for (int i = 0; i < MidiIn.NumberOfDevices; i++)
            {
                if (ApplicationSettings.MidiInputDeviceID == MidiIn.DeviceInfo(i).ProductName)
                {
                    selectedMidiINPUTDevId = i;
                }
            }

            int selectedMidiOUTPUTDevId   = -1;
            int selectedMidiREPEATEDDevId = -1;

            for (int i = 0; i < MidiOut.NumberOfDevices; i++)
            {
                if (ApplicationSettings.MidiOutputDeviceID == MidiOut.DeviceInfo(i).ProductName)
                {
                    selectedMidiOUTPUTDevId = i;
                }
                if (ApplicationSettings.MidiOutputRepeatedDeviceID == MidiOut.DeviceInfo(i).ProductName)
                {
                    selectedMidiREPEATEDDevId = i;
                }
            }


            if (ApplicationSettings.MidiInputDeviceID != null && ApplicationSettings.MidiInputDeviceID != "")
            {
                GlobalStaticContext.AttachMidiInDevice(selectedMidiINPUTDevId);
            }

            if (ApplicationSettings.MidiOutputDeviceID != null && ApplicationSettings.MidiOutputDeviceID != "")
            {
                GlobalStaticContext.AttachMidiOutDevice(selectedMidiOUTPUTDevId);
            }

            if (ApplicationSettings.MidiOutputRepeatedDeviceID != null && ApplicationSettings.MidiOutputRepeatedDeviceID != "")
            {
                GlobalStaticContext.AttachMidiRepeatDevice(selectedMidiREPEATEDDevId);
            }
        }
Esempio n. 14
0
        public static List <string> AvailableMidiOutDevices()
        {
            var devInfo = new List <string>();

            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                devInfo.Add(MidiOut.DeviceInfo(device).ProductName);
            }

            return(devInfo);
        }
Esempio n. 15
0
 public static MidiOut GetOutputDeviceWithName(string name)
 {
     for (int i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         if (MidiOut.DeviceInfo(i).ProductName.Equals(name))
         {
             return(new MidiOut(i));
         }
     }
     return(null);
 }
Esempio n. 16
0
        public List <string> GetAvailableOutputDevices()
        {
            List <string> devices = new List <string>();

            for (int i = 0; i < MidiOut.NumberOfDevices; ++i)
            {
                devices.Add(MidiOut.DeviceInfo(i).ProductName);
            }

            return(devices);
        }
        /// <summary>Gets connected MIDI output devices</summary>
        /// <returns>Array of MidiOutCapabilities</returns>
        public static MidiOutCapabilities[] GetMidiOutDevices()
        {
            var devices = new MidiOutCapabilities[MidiOut.NumberOfDevices];

            for (var device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                devices[device] = MidiOut.DeviceInfo(device);
            }

            return(devices);
        }
Esempio n. 18
0
        private void PopulateMidiDevicesBox()
        {
            string[] MidiDevices = new string[MidiOut.NumberOfDevices];

            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                MidiDevices[device] = MidiOut.DeviceInfo(device).ProductName;
                comboBoxMidiOut.Items.Add(MidiDevices[device]);
            }

            comboBoxMidiOut.SelectedIndex = 0;
        }
Esempio n. 19
0
        public void Init()
        {
            _bassMidiOut  = new MidiOut(1); // Device No for "loopMIDI Port" == 1
            _tenorMidiOut = new MidiOut(2); // Device No for "loopMIDI Port 1" == 2



            for (var device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                Debug.Log(MidiOut.DeviceInfo(device).ProductName);
            }
        }
Esempio n. 20
0
 public MidiOut FindMidiOut(string name)
 {
     for (int i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         if (MidiOut.DeviceInfo(i).ProductName.ToLower().Contains(name.ToLower()))
         {
             _logger.WriteLine($@"Assigning MidiOut: {MidiOut.DeviceInfo(i).ProductName}");
             return(new MidiOut(i));
         }
     }
     return(null);
 }
Esempio n. 21
0
        int GetDevice(string deviceName)
        {
            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                var productName = MidiOut.DeviceInfo(device).ProductName;
                if (productName.IndexOf(deviceName, StringComparison.Ordinal) != -1)
                {
                    return(device);
                }
            }

            return(-1);
        }
Esempio n. 22
0
 public void FindMidiOut()
 {
     for (int i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         Console.WriteLine("MIDI OUT: " + MidiOut.DeviceInfo(i).ProductName);
         if (MidiOut.DeviceInfo(i).ProductName.ToLower().Contains(SearchString))
         {
             midiOut = new MidiOut(i);
             Console.WriteLine($@"Assigning MidiOut: {MidiOut.DeviceInfo(i).ProductName}");
             break;
         }
     }
 }
Esempio n. 23
0
        public static List <Tuple <string, int> > GetMIDIOutDevices()
        {
            var output = new List <Tuple <string, int> >();

            // Get the product name for each device found
            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                var prod = MidiOut.DeviceInfo(device);
                var name = prod.ProductName;
                output.Add(new Tuple <string, int>(name, device));
            }

            return(output);
        }
        public static string[] EnumerateMidiOutDevices()
        {
            string[] outDevices = new string[MidiOut.NumberOfDevices];

            for (int device = 0; device < MidiOut.NumberOfDevices; device++)
            {
                outDevices[device] = MidiOut.DeviceInfo(device).ProductName;
            }

            int noOutDevices = MidiOut.NumberOfDevices;

            string deviceOutOne = MidiOut.DeviceInfo(1).ProductName;

            return(outDevices);
        }
Esempio n. 25
0
 static void PrintUsageAndMidiDevices()
 {
     Console.WriteLine("This program needs to be run as such:");
     Console.WriteLine("MidiScaleEnforcer.exe <midi-in> <midi-out> <scale> <root note>");
     Console.WriteLine("Run 'MidScaleEnforcer.exe scales' for a list of available scales.");
     Console.WriteLine("Midi IN devices:");
     for (var i = 0; i < MidiIn.NumberOfDevices; i++)
     {
         Console.WriteLine("\t" + MidiIn.DeviceInfo(i).ProductName);
     }
     Console.WriteLine("Midi OUT devices:");
     for (var i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         Console.WriteLine("\t" + MidiOut.DeviceInfo(i).ProductName);
     }
 }
Esempio n. 26
0
    // Erneuert die Liste der an den Pc angeschlossenen MIDI Geräte
    // Löscht auch Dropdown und füllt es mit aktualisierter Geräteliste auf
    public void RefreshMidiDevices()
    {
        _midiDeviceDropdown.ClearOptions();
        _midiDevices = new Dictionary <int, string>();
        List <string> dropdownDevices = new List <string>();
        int           deviceCount     = 0;

        for (int deviceIndex = 0; deviceIndex < MidiOut.NumberOfDevices; deviceIndex++)
        {
            var deviceName = MidiOut.DeviceInfo(deviceIndex).ProductName;
            _midiDevices.Add(deviceIndex, deviceName);
            dropdownDevices.Add(deviceName);
        }
        _midiDeviceDropdown.AddOptions(dropdownDevices);
        SetActiveMidiDevice(0);
        SaveManager.OnLoadGameSettings();
    }
Esempio n. 27
0
        /// <summary>
        /// Возвращает массив информации о доступных в системе устройств воспроизведения звука MIDI.
        /// </summary>
        /// <returns></returns>
        public MidiDeviceInfo[] GetDevices()
        {
            if (mGetDevicesCache != null)
            {
                return(mGetDevicesCache);
            }

            List <MidiDeviceInfo> result = new List <MidiDeviceInfo>();

            for (int i = 0; i < MidiOut.NumberOfDevices; i++)
            {
                result.Add(new MidiDeviceInfo(i, MidiOut.DeviceInfo(i)));
            }

            mGetDevicesCache = result.ToArray();
            return(mGetDevicesCache);
        }
Esempio n. 28
0
 void listDevices()
 {
     Console.WriteLine("Midi in devices");
     for (int i = 0; i < MidiIn.NumberOfDevices; i++)
     {
         midiInIndex = 0;
         Console.WriteLine(MidiIn.DeviceInfo(i).ProductName);
     }
     Console.WriteLine("Midi Out devices");
     for (int i = 0; i < MidiOut.NumberOfDevices; i++)
     {
         if (i > 0)
         {
             midiOutIndex = i;
         }
         Console.WriteLine(MidiOut.DeviceInfo(i).ProductName);
     }
 }
Esempio n. 29
0
 private void cbMidiInDevice_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if ((int)cbMidiInDevice.SelectedValue != -1)
     {
         //Cerco stesso midi device per output
         for (int i = 0; i < MidiOut.NumberOfDevices; i++)
         {
             if (MidiOut.DeviceInfo(i).ProductName == MidiIn.DeviceInfo((int)cbMidiInDevice.SelectedValue).ProductName)
             {
                 cbMidiOutDevice.SelectedValue = i;
             }
         }
     }
     else
     {
         cbMidiOutDevice.SelectedValue = cbMidiOutRepeaterDevice.SelectedValue = -1;
     }
 }
        private void RefreshMIDIDevices()
        {
            String deviceNames = "";

            if (MidiOut.NumberOfDevices == 0)
            {
                deviceNames = "No devices found.";
            }
            else
            {
                for (int device = 0; device < MidiOut.NumberOfDevices; device++)
                {
                    deviceNames += MidiOut.DeviceInfo(device).ProductName + ", ";
                }
            }

            this.settings.AvailableMidiDevices = deviceNames;
            this.SaveSettings();
        }