Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public void CloseOut()
 {
     if (midiOut != null)
     {
         midiOut.Close();
         midiOut = null;
     }
 }
Esempio n. 5
0
        public void SetDevice(MidiDeviceInfo deviceInfo)
        {
            if (midiOut != null)
            {
                midiOut.Close();
                midiOut.Dispose();
            }

            midiOut = new MidiOut(deviceInfo.DeviceId);
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
 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;
 }
Esempio n. 9
0
        public void Dispose()
        {
            foreach (var channel in Instruments)
            {
                channel.Stop();
            }

            percussion.Stop();

            if (midiOut != null)
            {
                midiOut.Reset();
                midiOut.Close();
                midiOut.Dispose();
                midiOut = null;
            }
        }
Esempio n. 10
0
        private void comboBoxMidiOut_SelectedIndexChanged(object sender, EventArgs e)
        {
            mMidiOut.Close();

            mMidiOut = new MidiOut(comboBoxMidiOut.SelectedIndex);
        }
 public void Dispose()
 {
     _midiOut.Close();
     _midiOut.Dispose();
 }
Esempio n. 12
0
 public void Dispose()
 {
     Output.Close();
 }
Esempio n. 13
0
 public void Dispose()
 {
     midiOut.Close();
     midiOut.Dispose();
 }
Esempio n. 14
0
 public void Destroy()
 {
     _bassMidiOut.Close();
     _tenorMidiOut.Close();
 }