private void midiOutConfirmButton_Click(object sender, EventArgs e) { if (outReady) { midiOutput.Close(); midiOutput.Dispose(); midiOutDevicesCB.Enabled = true; refreshMidiOutButton.Enabled = true; midiOutConfirmButton.ImageIndex = 0; outReady = false; checkReady(true); } else { midiOutDevicesCB.Enabled = false; refreshMidiOutButton.Enabled = false; midiOutput = new MidiOut(midiOutDevicesCB.SelectedIndex); midiOutConfirmButton.ImageIndex = 1; outReady = true; checkReady(true); } }
public void SettingsClose(object sender, FormClosingEventArgs e) { if (f2.open == true) { try { //midiin.MessageReceived += null; //midiin.Close(); midiout.Close(); } catch (NullReferenceException) { } try { //midiin = new MidiIn(f2.deviceIDIn); //midiin.MessageReceived += Midiin_MessageReceived; //midiin.Start(); } catch (Exception) { MessageBox.Show("Устройство на вход не было открыто. Попробуйте изменить настройки"); } try { midiout = new MidiOut(f2.deviceIDOut); } catch (Exception) { MessageBox.Show("Устройство на выход не было открыто. Попробуйте изменить настройки"); } try { com.Close(); } catch (Exception) { } try { com.BaudRate = 115200; com.PortName = f2.deviceCOM; com.Open(); Thread.Sleep(2000); String message = "I hear you!"; for (int i = 0; i < 16; i++) { try { String[] colset = File.ReadAllLines("c:\\ProgramData\\PorMIDITool\\profiles\\profile" + profile + ".pmt")[i + 1].Split(' '); message = message + colset[0] + colset[1] + "_"; } catch (Exception) { message = message + "20_"; } } com.Write(message); SerialTask.Start(); } catch (Exception ex) { } channel = f2.channel; } else { Close(); } }
private void open_Click(object sender, EventArgs e) { var openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == DialogResult.OK)// Тут откроется форма и если будет нажата кнопка ОК тогда путь запишется в переменную path. { _inputPath = openFileDialog.FileName; } _midiOut.Dispose(); _midiOut.Close(); try { var midiFile = Melanchall.DryWetMidi.Core.MidiFile.Read(_inputPath); using (var outputDevice = OutputDevice.GetByName("Microsoft GS Wavetable Synth")) { midiFile.Play(outputDevice); } } catch (Exception ee) { MessageBox.Show("Unreadeble file", "error", MessageBoxButtons.OK); } _midiOut = new MidiOut(0); }
public void CloseOut() { if (midiOut != null) { midiOut.Close(); midiOut = null; } }
public void SetDevice(MidiDeviceInfo deviceInfo) { if (midiOut != null) { midiOut.Close(); midiOut.Dispose(); } midiOut = new MidiOut(deviceInfo.DeviceId); }
public void Close() { MIDIMessage ms = new MIDIMessage(); ms.ControlType = ControlChangeType.AllNotesOff; midiOut.Send(ms.RawData); midiOut.Close(); for (int i = 0; i < Config.Channel.Count; i++) { mixer.Gate(i, false); } waveOut.Stop(); }
public void Unload() { _seq = null; if (_sr != null) { _sr.OnTrackEvent -= sr_OnTrackEvent; _sr.SequenceEnd -= sr_SequenceEnd; _sr.TempoChanged -= sr_TempoChanged; _sr.Stop(); _sr = null; } if (_midi != null) { _midi.Close(); _midi = null; } }
public void Init(int inDeviceNo, int outDeviceNo) { if (_initialized) { _inDevice.Stop(); _inDevice.Close(); _inDevice.Dispose(); _outDevice.Close(); _outDevice.Dispose(); } _inDevice = new MidiIn(inDeviceNo); _outDevice = new MidiOut(outDeviceNo); _inDevice.MessageReceived += MessageReceived; _inDevice.ErrorReceived += ErrorReceived; _inDevice.Start(); _initialized = true; }
public void Dispose() { foreach (var channel in Instruments) { channel.Stop(); } percussion.Stop(); if (midiOut != null) { midiOut.Reset(); midiOut.Close(); midiOut.Dispose(); midiOut = null; } }
private void comboBoxMidiOut_SelectedIndexChanged(object sender, EventArgs e) { mMidiOut.Close(); mMidiOut = new MidiOut(comboBoxMidiOut.SelectedIndex); }
public void Dispose() { _midiOut.Close(); _midiOut.Dispose(); }
public void Dispose() { Output.Close(); }
public void Dispose() { midiOut.Close(); midiOut.Dispose(); }
public void Destroy() { _bassMidiOut.Close(); _tenorMidiOut.Close(); }