// uzycie metody statycznej nie wymaga tworzenia obiektu // ale skolei statyczna metoda ma problem do odwolan do innych metod w klasie / obiektow // jak tu byl static to nie widzialem obiektu comboMidiInDevices nawet gdy klasa byla partial Form1 // public static void Init() public void Init() { // In MIDI Devices int iDevices = InputDevice.DeviceCount; comboMidiInDevices.Items.Clear(); // Wypisz urzadzenia for (int x = 0; x < iDevices; x++) { MidiInCaps caps = InputDevice.GetDeviceCapabilities(x); comboMidiInDevices.Items.Add(caps.name); // Zapamietaj indeks urzadzenia, ktory jest wybrany // if (caps.name == inString) // iSelectedIn = x; } // Out MIDI Devices int oDevices = OutputDevice.DeviceCount; comboMidiOutDevices.Items.Clear(); for (int x = 0; x < oDevices; x++) { MidiOutCaps caps = OutputDevice.GetDeviceCapabilities(x); comboMidiOutDevices.Items.Add(caps.name); // Zapamietaj indeks urzadzenia, ktory jest wybrany // if (caps.name == outString) // iSelectedOut = x; } } // Init
private void GetMidiDeviceInfo() { m_midiOutCount = OutputDeviceBase.DeviceCount; m_midiInCount = InputDevice.DeviceCount; lblMidiOutCount.Text = m_midiOutCount.ToString(); lblMidiInCount.Text = m_midiInCount.ToString(); m_midiOuts = new Dictionary <int, string>(); for (int index = 0; index < m_midiOutCount; ++index) { MidiOutCaps deviceCapabilities = OutputDeviceBase.GetDeviceCapabilities(index); m_midiOuts.Add(index, deviceCapabilities.name); } m_midiIns = new Dictionary <int, string>(); for (int index = 0; index < m_midiInCount; ++index) { MidiInCaps deviceCapabilities = InputDevice.GetDeviceCapabilities(index); m_midiIns.Add(index, deviceCapabilities.name); } cmbMidiIn.DataSource = new BindingSource(m_midiIns, null); cmbMidiIn.DisplayMember = "Value"; cmbMidiIn.ValueMember = "Key"; cmbMidiIn.SelectedValue = Settings.MidiIn; cmbMidiOut.DataSource = new BindingSource(m_midiOuts, null); cmbMidiOut.DisplayMember = "Value"; cmbMidiOut.ValueMember = "Key"; cmbMidiOut.SelectedValue = Settings.MidiOut; }
public void start(MappingConfig mappingConfig) { this.mappingConfig = mappingConfig; int count = NativeMethods.midiInGetNumDevs(); int deviceIndexSelected = -1; for (int deviceIndex = 0; deviceIndex < count; deviceIndex++) { var caps = new MidiInCaps(); int error = NativeMethods.midiInGetDevCaps(deviceIndex, ref caps, Marshal.SizeOf(caps)); String inputDeviceKeyTmp = deviceIndex + "_" + caps.name; if (!inputDeviceKeyTmp.Equals(mappingConfig.inputDeviceKey)) { continue; } deviceIndexSelected = deviceIndex; break; } if (deviceIndexSelected > -1) { if (IntPtr.Zero == inputDeviceHandle) { midiInProc = new NativeMethods.MidiInProc(MidiInEventProc); bool opened = NativeMethods.midiInOpen(out inputDeviceHandle, deviceIndexSelected, midiInProc, IntPtr.Zero, NativeMethods.CALLBACK_FUNCTION) == NativeMethods.MMSYSERR_NOERROR; bool startet = NativeMethods.midiInStart(inputDeviceHandle) == NativeMethods.MMSYSERR_NOERROR; } } }
internal Device(int pDeviceID) { mInDeviceID = pDeviceID; mOutDeviceID = -1; mCap = InputDevice.GetDeviceCapabilities(pDeviceID); mName = mCap.name; }
/// <summary> /// Create new instance of MidiInputDeviceInfo /// </summary> /// <param name="caps"></param> public MidiInputDeviceInfo(MidiInCaps caps) { DriverVersion = caps.driverVersion; Mid = caps.mid; Name = caps.name; Pid = caps.pid; Support = caps.support; }
void AddLogDevice(int device, MidiInCaps mic) { //AddLog("device= " + device.ToString()); //AddLog("name= " + mic.name.ToString()); //AddLog("mid= " + mic.mid.ToString()); //AddLog("pid= " + mic.pid.ToString()); //AddLog("support= " + mic.support.ToString()); //AddLog("driverVersion= " + mic.driverVersion.ToString()); }
public void RefreshMidiInput() { // Refresh list of Midi input devices midiInputs.Clear(); midiInputs.Add(new MidiInput("None", -1)); for (int i = 0; i < InputDevice.DeviceCount; i++) { MidiInCaps cap = InputDevice.GetDeviceCapabilities(i); midiInputs.Add(new MidiInput(cap.name, i)); } SettingMidiInput.DataSource = midiInputs; }
public void GetMidiInfo() { for (int i = 0; i < InputDevice.DeviceCount; i++) { MidiInCaps caps = InputDevice.GetDeviceCapabilities(i); im[i] = new InputMidi(caps.name, i); } for (int i = 0; i < OutputDevice.DeviceCount; i++) { MidiOutCaps caps = OutputDevice.GetDeviceCapabilities(i); om[i] = new OutputMidi(caps.name, i); } }
public string GetDetail() { MidiInCaps midiincap = InputDevice.GetDeviceCapabilities(DeviceID); string res = ""; res = res + "ControllerName: " + midiincap.name + "\r\n"; res = res + "DriverVersion: " + midiincap.driverVersion.ToString() + "\r\n"; res = res + "ManufacturerID: " + midiincap.mid.ToString() + "\r\n"; res = res + "ProductID: " + midiincap.pid.ToString() + "\r\n"; res = res + "SupportID: " + midiincap.support.ToString() + "\r\n"; return(res); }
public static List <string> AvailableMidiDevices() { if (deviceNames == null) { deviceNames = new List <string>(); for (int i = 0; i < InputDevice.DeviceCount; i++) { MidiInCaps deviceCaps = InputDevice.GetDeviceCapabilities(i); deviceNames.Add(deviceCaps.name); UnityEngine.Debug.Log(string.Format("Midi Device {0}: {1}", i, deviceCaps.name)); } } return(deviceNames); }
public static MidiInCaps GetDeviceCapabilities(int deviceID) { int result; MidiInCaps caps = new MidiInCaps(); result = midiInGetDevCaps(deviceID, ref caps, SizeOfMidiHeader); if (result != MidiDeviceException.MMSYSERR_NOERROR) { throw new InputDeviceException(result); } return(caps); }
public List <String> retrieveInputDeviceKeys() { List <String> result = new List <String>(); int count = NativeMethods.midiInGetNumDevs(); for (int deviceIndex = 0; deviceIndex < count; deviceIndex++) { var caps = new MidiInCaps(); int error = NativeMethods.midiInGetDevCaps(deviceIndex, ref caps, Marshal.SizeOf(caps)); String inputDeviceKey = deviceIndex + "_" + caps.name; Debug.WriteLine(inputDeviceKey); result.Add(inputDeviceKey); } return(result); }
public void OpenInputDevice(string device) { for (int i = 0; i < InputDevice.DeviceCount; i++) { MidiInCaps cap = InputDevice.GetDeviceCapabilities(i); if (cap.name == device) { try { midiInput = new InputDevice(i); midiInput.StartRecording(); midiInput.ChannelMessageReceived += OnSimpleChannelMessagePlayed; Console.WriteLine(string.Format("{0} opened.", cap.name)); } catch (InputDeviceException e) { Console.WriteLine(string.Format("Couldn't open input {0}.", device)); } } } }
public void initialize() { int outDeviceCount = midiOutGetNumDevs(); for (int i = 0; i < outDeviceCount; i++) { MidiOutCaps moc = new MidiOutCaps(); midiOutGetDevCaps(i, ref moc, (int)Marshal.SizeOf(typeof(MidiOutCaps))); MidiOutDevice outDev = new MidiOutDevice(i, moc); outDeviceList.Add(outDev); } int inDeviceCount = midiInGetNumDevs(); for (int i = 0; i < inDeviceCount; i++) { MidiInCaps mic = new MidiInCaps(); midiInGetDevCaps(i, ref mic, (int)Marshal.SizeOf(typeof(MidiInCaps))); MidiInDevice inDev = new MidiInDevice(i, mic); inDeviceList.Add(inDev); } }
/// <summary> /// Initializes a new instance of the <see cref="Configure"/> class. /// </summary> public Configure() { InitializeComponent(); // TODO: Finish the LiveDrive support! MidiInCaps midiInCaps = new MidiInCaps(); ASCIIEncoding encoder = new ASCIIEncoding(); for (int i = 0; i < LiveDriveReceiver.midiInGetNumDevs(); i++) { if (midiInGetDevCaps(i, ref midiInCaps, Marshal.SizeOf(typeof(MidiInCaps))) == 0) { string strName = encoder.GetString(midiInCaps.szPname); int intNullIndex = strName.IndexOf((char)0); strName = strName.Remove(intNullIndex, MidiInCaps.MAXPNAMELEN - intNullIndex); comboBoxDevice.Items.Add(strName); //cbxDevices.Items.Add(new MIDIDevice(strName, i)); } } }
/// <summary> /// Initializes a new instance of the <see cref="Configure"/> class. /// </summary> public Configure() { InitializeComponent(); // TODO: Finish the LiveDrive support! MidiInCaps midiInCaps = new MidiInCaps(); ASCIIEncoding encoder = new ASCIIEncoding(); for (int i = 0; i < LiveDriveReceiver.midiInGetNumDevs(); i++) { if (midiInGetDevCaps(i, ref midiInCaps, Marshal.SizeOf(typeof (MidiInCaps))) == 0) { string strName = encoder.GetString(midiInCaps.szPname); int intNullIndex = strName.IndexOf((char) 0); strName = strName.Remove(intNullIndex, MidiInCaps.MAXPNAMELEN - intNullIndex); comboBoxDevice.Items.Add(strName); //cbxDevices.Items.Add(new MIDIDevice(strName, i)); } } }
public static extern uint MidiInGetDevCaps(uint deviceId, ref MidiInCaps midiInCaps, uint cbMidiInCaps);
private static extern int midiInGetDevCaps(int deviceID, ref MidiInCaps caps, int sizeOfMidiInCaps);
public static extern int midiInGetDevCaps(uint uDeviceID, out MidiInCaps lpMidiInCaps, int cbMidiInCaps);
private static extern int midiInGetDevCaps(int uDeviceID, ref MidiInCaps lpCaps, int uSize);
public static extern int midiInGetDevCaps(int deviceID, ref MidiInCaps caps, int capsSize);
/// <summary> /// Constructs a new instance based on the unmanaged structure. /// </summary> /// <param name="caps">Reference to the unmanaged structure.</param> internal MidiInPortCaps(ref MidiInCaps caps) : this(caps.Mid, caps.Pid, caps.DriverVersion, caps.Name, caps.Support) { }
public MidiInDevice(int index_, MidiInCaps moc) { name = moc.szPname; index = index_; }
protected static extern int midiInGetDevCaps(int deviceID, ref MidiInCaps caps, int sizeOfMidiOutCaps);
public static extern uint MidiInGetDevCaps(uint uDeviceID, ref MidiInCaps lpMidiInCaps, uint cbMidiInCaps);
static extern int midiInGetDevCaps(int deviceIndex, ref MidiInCaps caps, int sizeOfMidiInCaps);
public static extern int midiInGetDevCaps(IntPtr handle, ref MidiInCaps caps, uint sizeOfmidiInCaps);
protected override void OnLoad(EventArgs e) { if (OutputDevice.DeviceCount == 0) { MessageBox.Show("No MIDI output devices available.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop); Close(); } else { try { int foo = InputDevice.DeviceCount; int i = 0; int APCfound = 0; for (i = 0; i < foo; i++) { MidiInCaps mdevices = InputDevice.GetDeviceCapabilities(i); int ii = i + 1; listBox1.Items.Add((string)"PORT " + ii.ToString() + '\t' + '\t' + mdevices.name.ToString() + '\t'); if (mdevices.name.ToString() == "APC control") { listBox1.SelectedIndex = listBox1.Items.Count - 1; } listBox3.Items.Add((string)"PORT " + ii.ToString() + '\t' + '\t' + mdevices.name.ToString() + '\t'); if (mdevices.name.ToString() == "APC MINI") { APCfound = 1; listBox3.SelectedIndex = listBox3.Items.Count - 1; } listBox5.Items.Add((string)"PORT " + ii.ToString() + '\t' + '\t' + mdevices.name.ToString() + '\t'); if (mdevices.name.ToString() == "Mixer") { listBox5.SelectedIndex = listBox5.Items.Count - 1; } } if (APCfound == 0) { MessageBox.Show("No APC MINI device available.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop); Close(); } int bar = OutputDevice.DeviceCount; i = 0; for (i = 0; i < bar; i++) { MidiOutCaps odevices = OutputDevice.GetDeviceCapabilities(i); int ii = i + 1; listBox2.Items.Add((string)"PORT " + ii.ToString() + '\t' + '\t' + odevices.name.ToString() + '\t'); if (odevices.name.ToString() == "Lights") { listBox2.SelectedIndex = listBox2.Items.Count - 1; } listBox4.Items.Add((string)"PORT " + ii.ToString() + '\t' + '\t' + odevices.name.ToString() + '\t'); if (odevices.name.ToString() == "APC MINI") { listBox4.SelectedIndex = listBox4.Items.Count - 1; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop); Close(); } } base.OnLoad(e); }