public void SetDevice(InputDeviceItem input, InputDeviceItem output = null) { if (Device != null) { Device.Disconnect(); } if (input.Type == InputDeviceType.MIDI) { Device = new CObsDeviceMidi(); Device.Input = input; if (output != null) { Device.Output = output; } } else if (input.Type == InputDeviceType.SERIAL) { Device = new CObsDeviceSerial(); Device.BaudRate = MidiObserver.serialBaudRate; Device.Input = input; } Console.WriteLine("Device set"); Device.OnData += Device_OnData; Device.OnStatusChanged += Device_OnStatusChanged; }
private void btn_disconnect_Click(object sender, EventArgs e) { if (Device != null) { Device.Disconnect(); } Device = null; }
private void Device_OnData(IOBSDevice sender, SMidiAction data) { logWindow.Data(data); if (editWindow != null) { editWindow.MidiData(data); } }
private void Device_OnData(IOBSDevice sender, SMidiAction data) { /* Console.Write(data.Cmd.ToString("X2")+" "); * Console.Write(data.Channel.ToString("X2") + " "); * Console.Write(data.Data1.ToString("X2") + " "); * Console.WriteLine(data.Data2.ToString("X2") + " "); */ MidiObserver.ParseInputData(data); }
private void Device_OnStatusChanged(IOBSDevice sender, EMidiEvent eventType) { // if (StatusChanged != null) { StatusChanged(this, eventType); } if (eventType == EMidiEvent.DeviceReady) { Midi.ResetSurface(); connection_start = true; Obs.Connect(_url, _port, _auth); connectionTimer.Enabled = true; } }
private void Device_OnStatusChanged(IOBSDevice sender, EMidiEvent eventType) { if (StatusChanged != null) { StatusChanged(this, eventType); } if (eventType == EMidiEvent.DeviceReady) { MidiObserver.ResetSurface(); connection_start = true; websocket.ConnectAsync(OBSUrl); connectionTimer.Enabled = true; } }
private void Device_OnStatusChanged(IOBSDevice sender, EMidiEvent eventType) { logWindow.Log("Event: " + Enum.GetName(typeof(EMidiEvent), eventType)); if (eventType == EMidiEvent.DeviceDisconnected || eventType == EMidiEvent.DeviceError || eventType == EMidiEvent.Unknown) { comboBox_midi_in.Enabled = true; comboBox_midi_out.Enabled = true; baudrate_combo.Enabled = true; btn_connect.Enabled = true; btn_disconnect.Enabled = true; logWindow.Hide(); } else if (eventType == EMidiEvent.DeviceReady) { btn_disconnect.Enabled = true; logWindow.Show(this); } }
private void btn_connect_Click(object sender, EventArgs e) { if (Device == null) { //Device if (comboBox_midi_in.SelectedIndex > 0) { var selectedDevice = (InputDeviceItem)comboBox_midi_in.SelectedItem; if (selectedDevice.Type == InputDeviceType.MIDI) { Device = new CObsDeviceMidi(); Device.Input = selectedDevice; if (comboBox_midi_out.SelectedIndex > 0) { Device.Output = (InputDeviceItem)comboBox_midi_out.SelectedItem; } } else if (selectedDevice.Type == InputDeviceType.SERIAL) { Device = new CObsDeviceMidi(); Device.BaudRate = int.Parse(baudrate_combo.SelectedText); Device.Input = selectedDevice; } else { } if (Device != null) { Device.OnData += Device_OnData;; Device.OnStatusChanged += Device_OnStatusChanged; comboBox_midi_in.Enabled = false; comboBox_midi_out.Enabled = false; baudrate_combo.Enabled = false; btn_connect.Enabled = false; btn_disconnect.Enabled = false; Device.Connect(); } } } }
private void Device_OnData(IOBSDevice sender, SMidiAction data) { Midi.ParseInputData(data); }