Example #1
0
        //Detects if a Key is released, if one that is released is usuable by a sampler, it calls a "releaseKey" function on that instance of Sampler Data
        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            char key = Convert.ToChar(e.KeyCode);

            if (key > 96 && key < 106)
            {
                m_samples[key - 96].releaseKey();
                if (isMIDIRecording)
                {
                    MIDIKeyFrame note = new MIDIKeyFrame(MIDITimer.Elapsed, false, (key - 96));
                    MIDIRecording.Add(note);
                }
            }
        }
Example #2
0
        //Detects if a Key is pressed, if one that is pressed is usuable by a sampler, it calls a "pressKey" function on that instance of Sampler Data


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            char key = Convert.ToChar(e.KeyCode);

            if (key > 96 && key < 106)
            {
                m_samples[key - 96].pressKey();
                if (isMIDIRecording)
                {
                    MIDIKeyFrame note = new MIDIKeyFrame(MIDITimer.Elapsed, true, (key - 96));
                    MIDIRecording.Add(note);
                }
            }
            else if (key == 35)
            {
                for (int i = 1; i <= 9; ++i)
                {
                    m_samples[i].stopNow();
                }
            }
        }
Example #3
0
        private void btn_MIDI_RECSTOP_Click(object sender, EventArgs e)
        {
            if (!isMIDIRecording)
            {
                isMIDIRecording = true;
                MIDITimer.Start();
                btn_MIDI_RECSTOP.Text = "STOP";
            }

            else
            {
                isMIDIRecording = false;
                MIDIKeyFrame EndNote = new MIDIKeyFrame(MIDITimer.Elapsed, true, 10);
                MIDIRecording.Add(EndNote);
                MIDITimer.Stop();
                btn_MIDI_RECSTOP.Text = "REC";

                XmlSerializer serialiser = new XmlSerializer(typeof(SaveData));


                SaveFileDialog save = new SaveFileDialog();
                save.InitialDirectory = @"C:\Users\s182378\Documents\Code\repositories\AIE2018\Intro to C#\SoundTool\SoundTool\MIDIFiles";
                save.Filter           = "XML File *.xml|*.xml;";
                if (save.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                {
                    return;
                }
                string     saveName = save.FileName;
                TextWriter writer   = new StreamWriter(saveName);

                SaveData saveData = new SaveData();
                saveData.data = MIDIRecording.ToArray();

                serialiser.Serialize(writer, saveData);
                writer.Close();
            }
        }