Final Project for ECE4180, MIDI Controller

Dependencies:   mbed 4DGL-uLCD-SE

By Emeril Huang, Khayame Maiki, Mark Olorvida, Timothy Li

Overview

This final project is based on a Musical Instrument Digital Interface (MIDI) controller. The base idea of this is a device that allows a wide variety of electronic musical instruments or sounds to be played at the press of some buttons. This project uses a mbed hooked up to a PC with the standard USB, and utilizes a C# application on Windows to receive serial port messages and plays sound files.

/media/uploads/EvolutionOfWar/midicontrollerupdated.jpg

Components

Wiring

mbedCableuLCD
P28TXRX
P27RXTX
P30RESRESET
VU+5V+5V
GNDGNDGND

uLCD displays current Layer of sounds, and whether or not loops are on. Each layer allows for 8 different sound clips, with 3 layers total.

Push ButtonsPinsGND
Pushbutton1P8GND
Pushbutton2P9GND
Pushbutton3P10GND
Pushbutton4P11GND
Pushbutton5P12GND
Pushbutton6P13GND
Pushbutton7P14GND
Pushbutton8P15GND
Pushbutton9P16GND
Pushbutton10P17GND
Pushbutton11P18GND

The two rows of four Push buttons trigger sound clips when pressed. The top two buttons activate loops, recording current sounds and then continuously plays them over and over. If pressed again, the loop stops.

RGB LEDsRedGNDGreenBlue
LED1P26GNDP25P24
LED2P23GNDP22P21
LED3P5GNDP6P7

LEDs are used to indicate if something is on or not, or show the layer.

Demo

Program

Import programMIDI-Controller-4180FinalProject

Final Project for ECE4180, MIDI Controller

C# Files

This is the form generated by C# that allows for 24 total sounds to be played. /media/uploads/EvolutionOfWar/soundupload2.png

C# Program

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mbed_MIDI_Project
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form1 form1 = new Form1();
            Application.Run(form1);
        }
    }
}

C# Form

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Media;
using System.IO;
using System.IO.Ports;
using System.Windows.Media;
using System.Collections;
using System.Threading;

namespace Mbed_MIDI_Project
{
    public partial class Form1 : Form
    {
        public static string sound1_1 = "Nothing";   // filename of sound corresponding to layer1 PB 1. These will be initialized to an actual filepath later
        public static string sound1_2 = "Nothing";    // filename of sound corresponding to layer1 PB 2
        public static string sound1_3 = "Nothing";    // these are global so values can be assigned to them via the combo boxes
        public static string sound1_4 = "Nothing";
        public static string sound1_5 = "Nothing";
        public static string sound1_6 = "Nothing";
        public static string sound1_7 = "Nothing";
        public static string sound1_8 = "Nothing";
     
        public static string sound2_1 = "Nothing"; // layer 2 PB  1
        public static string sound2_2 = "Nothing";
        public static string sound2_3 = "Nothing";
        public static string sound2_4 = "Nothing";
        public static string sound2_5 = "Nothing";
        public static string sound2_6 = "Nothing";
        public static string sound2_7 = "Nothing";
        public static string sound2_8 = "Nothing";

        public static string sound3_1 = "Nothing";
        public static string sound3_2 = "Nothing";
        public static string sound3_3 = "Nothing";
        public static string sound3_4 = "Nothing";
        public static string sound3_5 = "Nothing";
        public static string sound3_6 = "Nothing";
        public static string sound3_7 = "Nothing";
        public static string sound3_8 = "Nothing";

        public static string filename1_1 = "Nothing";   
        public static string filename1_2 = "Nothing";   
        public static string filename1_3 = "Nothing";   
        public static string filename1_4 = "Nothing";
        public static string filename1_5 = "Nothing";
        public static string filename1_6 = "Nothing";
        public static string filename1_7 = "Nothing";
        public static string filename1_8 = "Nothing";

        public static string filename2_1 = "Nothing";
        public static string filename2_2 = "Nothing";
        public static string filename2_3 = "Nothing";
        public static string filename2_4 = "Nothing";
        public static string filename2_5 = "Nothing";
        public static string filename2_6 = "Nothing";
        public static string filename2_7 = "Nothing";
        public static string filename2_8 = "Nothing";

        public static string filename3_1 = "Nothing";
        public static string filename3_2 = "Nothing";
        public static string filename3_3 = "Nothing";
        public static string filename3_4 = "Nothing";
        public static string filename3_5 = "Nothing";
        public static string filename3_6 = "Nothing";
        public static string filename3_7 = "Nothing";
        public static string filename3_8 = "Nothing";


        public static string mbedString;
        public static int PBnumber = 0;
        public static int layer;

        public static ManualResetEvent signal = new ManualResetEvent(false);


        public class Looper // loop object to run in a separate thread
        {
            private System.Timers.Timer timer = new System.Timers.Timer();

            private ArrayList timing = new ArrayList();
            private ArrayList inputs = new ArrayList();
            private ArrayList layers = new ArrayList();
            private ArrayList ticks = new ArrayList();

            private bool exist = false;
            private bool on = false;

            public void Loop(object x)
            {
                Loop((int)x);
            }

            public void Loop(int num)
            {
                while (true)
                {
                    if (exist)
                    {
                        if ((num == 1 && turn1off) || (num == 2 && turn2off))
                        {
                            timer.Stop() ;
                            timer = new System.Timers.Timer();
                            inputs.Clear();
                            layers.Clear();
                            ticks.Clear();
                            exist = false;
                            if (num == 1)
                            {
                                turn1off = false;
                                loop1exist = false;
                            }
                            else if (num == 2)
                            {
                                turn2off = false;
                                loop2exist = false;
                            }
                        }
                    }
                    else if (!exist)
                    {
                        if ((num == 1 && loop1on) || (num == 2 && loop2on))
                        {
                            if (num == 1) exist = loop1exist;
                            else if (num == 2) exist = loop2exist;
                            
                            timing.Add(DateTime.Now);
                            on = true;

                            while (on)
                            {
                                // read next input
                                signal.WaitOne();
                                signal.Reset();
                                int PB = Form1.PBnumber;

                                if ((PB == 9 && num == 1) || (PB == 10 && num == 2)) // loop button pressed again
                                {
                                    if (num == 1) loop1on = false;
                                    else if (num == 2) loop2on = false;
                                    on = false;

                                    if (inputs.Count == 0) // check inputs are recorded
                                    {
                                        timing.Clear();
                                    }
                                    else
                                    {
                                        exist = true;
                                        if (num == 1) loop1exist = true;
                                        else if (num == 2) loop2exist = true;

                                        for (int i = 0; i < timing.Count - 1; i++)
                                        {
                                            ticks.Add(((DateTime)timing[i + 1]).Subtract((DateTime)timing[i]).TotalMilliseconds);
                                        }
                                        // begin timer for loop 1
                                        timer.Elapsed += looptick;
                                        timer.Start();
                                        looptick(null, null);
                                        timing.Clear();
                                    }
                                }
                                else // sound button
                                {
                                    inputs.Add(PB);
                                    layers.Add(layer);
                                    timing.Add(DateTime.Now);
                                }

                            }
                        }
                    }
                }
            }

            private void looptick(object sender, EventArgs e) // play sound and increment arraylist
            {
                int PB = (int)inputs[0];
                int lay = (int)layers[0];
                int tick = Convert.ToInt32(ticks[0]);

                PlaySound(PB, lay);
                timer.Interval = tick;

                inputs.Add(PB);
                inputs.RemoveAt(0);

                ticks.Add(tick);
                ticks.RemoveAt(0);

                layers.Add(lay);
                layers.RemoveAt(0);
            }
        }

        static bool loop1on = false;
        static bool loop2on = false;

        static bool loop1exist = false;
        static bool loop2exist = false;

        static bool turn1off = false;
        static bool turn2off = false;

        static bool thread1start = false;
        static bool thread2start = false;

        static Looper loop1 = new Looper();
        Thread thread1 = new Thread(new ParameterizedThreadStart(loop1.Loop));

        static Looper loop2 = new Looper();
        Thread thread2 = new Thread(new ParameterizedThreadStart(loop2.Loop));

        public Form1()
        {
            layer = 1;

            // int  PBnumber;

            //string mbedString;


            InitializeComponent();
            serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
            
            serialPort1.Open();
        }



        
        private  void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            SerialPort sp = (SerialPort)sender;
          //  sp.ReadTo("\n");
            mbedString = sp.ReadLine();  // This function reads up to the NewLine value in the input buffer. Should be a string. Get rid of the fluff in the string (eg. instead of "The pushbutton is 1"
                                         // make it "1") in the mbed code
            
            PBnumber = Convert.ToInt32(mbedString); // converts whatever is read from the mbed to an int
            //Debug.WriteLine(PBnumber);
            if (loop1on || loop2on) signal.Set();
            if (PBnumber != 9 && PBnumber != 10) PlaySound(PBnumber, layer);
            if (PBnumber == 11) layer = ((layer + 1) % 3) + 1;
            else if (!loop1on || !loop2on) loop(PBnumber);

            serialPort1.DiscardInBuffer();
        }

        private static void PlaySound(int PBnumber, int lay)
        {
            switch (lay)
            {
                case 1: // layer 1
                    switch (PBnumber)
                    {
                        case 1:
                                var play1_1 = new System.Windows.Media.MediaPlayer();
                                play1_1.Open(new System.Uri(filename1_1));
                                play1_1.Play();
                            break;
                        case 2:
                                var play1_2 = new System.Windows.Media.MediaPlayer();
                                play1_2.Open(new System.Uri(filename1_2));
                                play1_2.Play();
                            break;
                        case 3:
                            var play1_3 = new System.Windows.Media.MediaPlayer();
                                play1_3.Open(new System.Uri(filename1_3));
                                play1_3.Play();
                            break;
                        case 4:
                            var play1_4 = new System.Windows.Media.MediaPlayer();
                                play1_4.Open(new System.Uri(filename1_4));
                                play1_4.Play();
                            break;
                        case 5:
                            var play1_5 = new System.Windows.Media.MediaPlayer();
                                play1_5.Open(new System.Uri(filename1_5));
                                play1_5.Play();
                            break;
                        case 6:
                            var play1_6 = new System.Windows.Media.MediaPlayer();
                                play1_6.Open(new System.Uri(filename1_6));
                                play1_6.Play();
                            break;
                        case 7:
                            var play1_7 = new System.Windows.Media.MediaPlayer();
                                play1_7.Open(new System.Uri(filename1_7));
                                play1_7.Play();
                            break;
                        case 8:
                            var play1_8 = new System.Windows.Media.MediaPlayer();
                                play1_8.Open(new System.Uri(filename1_8));
                                play1_8.Play();
                            break;
                    }
                    break;

                case 2:
                    switch (PBnumber)
                    {
                        case 1:
                            var play2_1 = new System.Windows.Media.MediaPlayer();
                                play2_1.Open(new System.Uri(filename2_1));
                                play2_1.Play();
                            break;
                        case 2:
                            var play2_2 = new System.Windows.Media.MediaPlayer();
                                play2_2.Open(new System.Uri(filename2_2));
                                play2_2.Play();
                            break;
                        case 3:
                            var play2_3 = new System.Windows.Media.MediaPlayer();
                                play2_3.Open(new System.Uri(filename2_3));
                                play2_3.Play();
                            break;
                        case 4:
                            var play2_4 = new System.Windows.Media.MediaPlayer();
                                play2_4.Open(new System.Uri(filename2_4));
                                play2_4.Play();
                            break;
                        case 5:
                            var play2_5 = new System.Windows.Media.MediaPlayer();
                                play2_5.Open(new System.Uri(filename2_5));
                                play2_5.Play();
                            break;
                        case 6:
                            var play2_6 = new System.Windows.Media.MediaPlayer();
                                play2_6.Open(new System.Uri(filename2_6));
                                play2_6.Play();
                            break;
                        case 7:
                            var play2_7 = new System.Windows.Media.MediaPlayer();
                                play2_7.Open(new System.Uri(filename2_7));
                                play2_7.Play();
                            break;
                        case 8:
                            var play2_8 = new System.Windows.Media.MediaPlayer();
                                play2_8.Open(new System.Uri(filename2_8));
                                play2_8.Play();
                            break;
                    }
                    break;

                case 3:
                    switch (PBnumber)
                    {
                        case 1:
                                var play3_1 = new System.Windows.Media.MediaPlayer();
                                play3_1.Open(new System.Uri(filename3_1));
                                play3_1.Play();
                            break;
                        case 2:
                            var play3_2 = new System.Windows.Media.MediaPlayer();
                                play3_2.Open(new System.Uri(filename3_2));
                                play3_2.Play();
                            break;
                        case 3:
                            var play3_3 = new System.Windows.Media.MediaPlayer();
                                play3_3.Open(new System.Uri(filename3_3));
                                play3_3.Play();
                            break;
                        case 4:
                            var play3_4 = new System.Windows.Media.MediaPlayer();
                                play3_4.Open(new System.Uri(filename3_4));
                                play3_4.Play();
                            break;
                        case 5:
                            var play3_5 = new System.Windows.Media.MediaPlayer();
                                play3_5.Open(new System.Uri(filename3_5));
                                play3_5.Play();
                            break;
                        case 6:
                            var play3_6 = new System.Windows.Media.MediaPlayer();
                                play3_6.Open(new System.Uri(filename3_6));
                                play3_6.Play();
                            break;
                        case 7:
                            var play3_7 = new System.Windows.Media.MediaPlayer();
                                play3_7.Open(new System.Uri(filename3_7));
                                play3_7.Play();
                            break;
                        case 8:
                            var play3_8 = new System.Windows.Media.MediaPlayer();
                                play3_8.Open(new System.Uri(filename3_8));
                                play3_8.Play();
                            break;
                    }
                    break;
            

            }

            // serialPort1.DiscardInBuffer();

            //  } // while bracket


        }

        private void loop(int PBnum)
        {
            if (PBnum == 9)
            { // which loop#
                if (!thread1start)
                {
                    thread1.Start(1);
                    thread1start = true;
                }
                if (loop1exist) turn1off = true;
                else if (!loop1on) loop1on = true;
            }
            else if (PBnum == 10)
            {
                if (!thread2start)
                {
                    thread2.Start(2);
                    thread2start = true;
                }
                if (loop2exist) turn2off = true;
                else if (!loop2on) loop2on = true;
            }
        }

        



        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // there are 24 total combo boxes. Each one selects a filename for a specific pushbutton / layer combination
        {
            sound1_1 = comboBox1.Text;   // add concatenation to rest of filepath
                                         // MediaPlayer play1_1 = new SoundPlayer(sound1_1)
             filename1_1 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_1);


        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_1 = comboBox2.Text;
            filename2_1 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_1);
       ;

        }

        private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_1 = comboBox3.Text;
             filename3_1 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_1);
          

        }

        private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_2 = comboBox4.Text;
             filename1_2 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_2);
         

        }

        private void comboBox5_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_2 = comboBox5.Text;
             filename2_2 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_2);
          

        }

        private void comboBox6_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_2 = comboBox6.Text;
             filename3_2 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_2);
           

        }

        private void comboBox7_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_3 = comboBox7.Text;
             filename1_3 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_3);
          

        }

        private void comboBox8_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_3 = comboBox8.Text;
             filename2_3 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_3);
       

        }

        private void comboBox9_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_3 = comboBox9.Text;
             filename3_3 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_3);
          

        }

        private void comboBox10_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_4 = comboBox10.Text;
             filename1_4 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_4);
         

        }

        private void comboBox11_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_4 = comboBox11.Text;
             filename2_4 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_4);
           
        }

        private void comboBox12_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_4 = comboBox12.Text;
             filename3_4 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_4);
          
        }

        private void comboBox13_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_5 = comboBox13.Text;
             filename1_5 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_5);
           
        }

        private void comboBox14_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_5 = comboBox14.Text;
             filename2_5 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_5);
            
        }

        private void comboBox15_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_5 = comboBox15.Text;
             filename3_5 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_5);
           
        }
        private void comboBox16_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_6 = comboBox16.Text;
             filename1_6 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_6);
          
        }

        private void comboBox17_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_6 = comboBox17.Text;
             filename2_6 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_6);
            
        }

        private void comboBox18_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_6 = comboBox18.Text;
             filename3_6 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_6);
           
        }

        private void comboBox19_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_7 = comboBox19.Text;
             filename1_7 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_7);
            
        }

        private void comboBox20_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_7 = comboBox20.Text;
             filename2_7 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_7);
        
        }

        private void comboBox21_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_7 = comboBox21.Text;
             filename3_7 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_7);
            
        }

        private void comboBox22_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound1_8 = comboBox22.Text;
             filename1_8 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_8);
          
        }

        private void comboBox23_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound2_8 = comboBox23.Text;
             filename2_8 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound2_8);
        
        }

        private void comboBox24_SelectedIndexChanged(object sender, EventArgs e)
        {
            sound3_8 = comboBox24.Text;
             filename3_8 = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound3_8);
          
        }
        
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox9_TextChanged(object sender, EventArgs e)
        {
           
           
        }

        //  private void comboBox7_SelectedIndexChanged_1(object sender, EventArgs e)
        //  {
        //   sound1_3 = comboBox7.Text;
        //   string filename = Path.Combine(Environment.CurrentDirectory, @"sounds\", sound1_3);
        //   Debug.WriteLine(filename);
        //   play1_3.SoundLocation = filename;
        //   play1_3.Load();
        //}
    }


}

C# Form Designer

namespace Mbed_MIDI_Project
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
            this.comboBox1 = new System.Windows.Forms.ComboBox();
            this.comboBox2 = new System.Windows.Forms.ComboBox();
            this.comboBox4 = new System.Windows.Forms.ComboBox();
            this.comboBox3 = new System.Windows.Forms.ComboBox();
            this.comboBox5 = new System.Windows.Forms.ComboBox();
            this.comboBox6 = new System.Windows.Forms.ComboBox();
            this.comboBox7 = new System.Windows.Forms.ComboBox();
            this.comboBox8 = new System.Windows.Forms.ComboBox();
            this.comboBox9 = new System.Windows.Forms.ComboBox();
            this.comboBox10 = new System.Windows.Forms.ComboBox();
            this.comboBox11 = new System.Windows.Forms.ComboBox();
            this.comboBox12 = new System.Windows.Forms.ComboBox();
            this.comboBox13 = new System.Windows.Forms.ComboBox();
            this.comboBox14 = new System.Windows.Forms.ComboBox();
            this.comboBox15 = new System.Windows.Forms.ComboBox();
            this.comboBox16 = new System.Windows.Forms.ComboBox();
            this.comboBox17 = new System.Windows.Forms.ComboBox();
            this.comboBox18 = new System.Windows.Forms.ComboBox();
            this.comboBox19 = new System.Windows.Forms.ComboBox();
            this.comboBox20 = new System.Windows.Forms.ComboBox();
            this.comboBox21 = new System.Windows.Forms.ComboBox();
            this.comboBox22 = new System.Windows.Forms.ComboBox();
            this.comboBox23 = new System.Windows.Forms.ComboBox();
            this.comboBox24 = new System.Windows.Forms.ComboBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.textBox5 = new System.Windows.Forms.TextBox();
            this.textBox6 = new System.Windows.Forms.TextBox();
            this.textBox7 = new System.Windows.Forms.TextBox();
            this.textBox8 = new System.Windows.Forms.TextBox();
            this.textBox9 = new System.Windows.Forms.TextBox();
            this.SuspendLayout();
            // 
            // serialPort1
            // 
            this.serialPort1.PortName = "COM4";
            // 
            // comboBox1
            // 
            this.comboBox1.FormattingEnabled = true;
            this.comboBox1.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox1.Location = new System.Drawing.Point(58, 322);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Size = new System.Drawing.Size(121, 21);
            this.comboBox1.TabIndex = 1;
            this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
            // 
            // comboBox2
            // 
            this.comboBox2.FormattingEnabled = true;
            this.comboBox2.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox2.Location = new System.Drawing.Point(58, 349);
            this.comboBox2.Name = "comboBox2";
            this.comboBox2.Size = new System.Drawing.Size(121, 21);
            this.comboBox2.TabIndex = 2;
            this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
            // 
            // comboBox4
            // 
            this.comboBox4.FormattingEnabled = true;
            this.comboBox4.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox4.Location = new System.Drawing.Point(206, 322);
            this.comboBox4.Name = "comboBox4";
            this.comboBox4.Size = new System.Drawing.Size(121, 21);
            this.comboBox4.TabIndex = 4;
            this.comboBox4.SelectedIndexChanged += new System.EventHandler(this.comboBox4_SelectedIndexChanged);
            // 
            // comboBox3
            // 
            this.comboBox3.FormattingEnabled = true;
            this.comboBox3.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox3.Location = new System.Drawing.Point(58, 376);
            this.comboBox3.Name = "comboBox3";
            this.comboBox3.Size = new System.Drawing.Size(121, 21);
            this.comboBox3.TabIndex = 7;
            this.comboBox3.SelectedIndexChanged += new System.EventHandler(this.comboBox3_SelectedIndexChanged);
            // 
            // comboBox5
            // 
            this.comboBox5.FormattingEnabled = true;
            this.comboBox5.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox5.Location = new System.Drawing.Point(206, 349);
            this.comboBox5.Name = "comboBox5";
            this.comboBox5.Size = new System.Drawing.Size(121, 21);
            this.comboBox5.TabIndex = 6;
            this.comboBox5.SelectedIndexChanged += new System.EventHandler(this.comboBox5_SelectedIndexChanged);
            // 
            // comboBox6
            // 
            this.comboBox6.FormattingEnabled = true;
            this.comboBox6.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox6.Location = new System.Drawing.Point(206, 376);
            this.comboBox6.Name = "comboBox6";
            this.comboBox6.Size = new System.Drawing.Size(121, 21);
            this.comboBox6.TabIndex = 5;
            this.comboBox6.SelectedIndexChanged += new System.EventHandler(this.comboBox6_SelectedIndexChanged);
            // 
            // comboBox7
            // 
            this.comboBox7.FormattingEnabled = true;
            this.comboBox7.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox7.Location = new System.Drawing.Point(366, 322);
            this.comboBox7.Name = "comboBox7";
            this.comboBox7.Size = new System.Drawing.Size(121, 21);
            this.comboBox7.TabIndex = 10;
            this.comboBox7.SelectedIndexChanged += new System.EventHandler(this.comboBox7_SelectedIndexChanged);
            // 
            // comboBox8
            // 
            this.comboBox8.FormattingEnabled = true;
            this.comboBox8.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox8.Location = new System.Drawing.Point(366, 349);
            this.comboBox8.Name = "comboBox8";
            this.comboBox8.Size = new System.Drawing.Size(121, 21);
            this.comboBox8.TabIndex = 9;
            this.comboBox8.SelectedIndexChanged += new System.EventHandler(this.comboBox8_SelectedIndexChanged);
            // 
            // comboBox9
            // 
            this.comboBox9.FormattingEnabled = true;
            this.comboBox9.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox9.Location = new System.Drawing.Point(366, 376);
            this.comboBox9.Name = "comboBox9";
            this.comboBox9.Size = new System.Drawing.Size(121, 21);
            this.comboBox9.TabIndex = 8;
            this.comboBox9.SelectedIndexChanged += new System.EventHandler(this.comboBox9_SelectedIndexChanged);
            // 
            // comboBox10
            // 
            this.comboBox10.FormattingEnabled = true;
            this.comboBox10.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox10.Location = new System.Drawing.Point(531, 322);
            this.comboBox10.Name = "comboBox10";
            this.comboBox10.Size = new System.Drawing.Size(121, 21);
            this.comboBox10.TabIndex = 19;
            this.comboBox10.SelectedIndexChanged += new System.EventHandler(this.comboBox10_SelectedIndexChanged);
            // 
            // comboBox11
            // 
            this.comboBox11.FormattingEnabled = true;
            this.comboBox11.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox11.Location = new System.Drawing.Point(531, 349);
            this.comboBox11.Name = "comboBox11";
            this.comboBox11.Size = new System.Drawing.Size(121, 21);
            this.comboBox11.TabIndex = 18;
            this.comboBox11.SelectedIndexChanged += new System.EventHandler(this.comboBox11_SelectedIndexChanged);
            // 
            // comboBox12
            // 
            this.comboBox12.FormattingEnabled = true;
            this.comboBox12.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox12.Location = new System.Drawing.Point(531, 376);
            this.comboBox12.Name = "comboBox12";
            this.comboBox12.Size = new System.Drawing.Size(121, 21);
            this.comboBox12.TabIndex = 17;
            this.comboBox12.SelectedIndexChanged += new System.EventHandler(this.comboBox12_SelectedIndexChanged);
            // 
            // comboBox13
            // 
            this.comboBox13.FormattingEnabled = true;
            this.comboBox13.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox13.Location = new System.Drawing.Point(58, 156);
            this.comboBox13.Name = "comboBox13";
            this.comboBox13.Size = new System.Drawing.Size(121, 21);
            this.comboBox13.TabIndex = 16;
            this.comboBox13.SelectedIndexChanged += new System.EventHandler(this.comboBox13_SelectedIndexChanged);
            // 
            // comboBox14
            // 
            this.comboBox14.FormattingEnabled = true;
            this.comboBox14.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox14.Location = new System.Drawing.Point(58, 183);
            this.comboBox14.Name = "comboBox14";
            this.comboBox14.Size = new System.Drawing.Size(121, 21);
            this.comboBox14.TabIndex = 15;
            this.comboBox14.SelectedIndexChanged += new System.EventHandler(this.comboBox14_SelectedIndexChanged);
            // 
            // comboBox15
            // 
            this.comboBox15.FormattingEnabled = true;
            this.comboBox15.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox15.Location = new System.Drawing.Point(58, 210);
            this.comboBox15.Name = "comboBox15";
            this.comboBox15.Size = new System.Drawing.Size(121, 21);
            this.comboBox15.TabIndex = 14;
            this.comboBox15.SelectedIndexChanged += new System.EventHandler(this.comboBox15_SelectedIndexChanged);
            // 
            // comboBox16
            // 
            this.comboBox16.FormattingEnabled = true;
            this.comboBox16.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox16.Location = new System.Drawing.Point(206, 156);
            this.comboBox16.Name = "comboBox16";
            this.comboBox16.Size = new System.Drawing.Size(121, 21);
            this.comboBox16.TabIndex = 13;
            this.comboBox16.SelectedIndexChanged += new System.EventHandler(this.comboBox16_SelectedIndexChanged);
            // 
            // comboBox17
            // 
            this.comboBox17.FormattingEnabled = true;
            this.comboBox17.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox17.Location = new System.Drawing.Point(206, 183);
            this.comboBox17.Name = "comboBox17";
            this.comboBox17.Size = new System.Drawing.Size(121, 21);
            this.comboBox17.TabIndex = 12;
            this.comboBox17.SelectedIndexChanged += new System.EventHandler(this.comboBox17_SelectedIndexChanged);
            // 
            // comboBox18
            // 
            this.comboBox18.FormattingEnabled = true;
            this.comboBox18.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox18.Location = new System.Drawing.Point(206, 210);
            this.comboBox18.Name = "comboBox18";
            this.comboBox18.Size = new System.Drawing.Size(121, 21);
            this.comboBox18.TabIndex = 11;
            this.comboBox18.SelectedIndexChanged += new System.EventHandler(this.comboBox18_SelectedIndexChanged);
            // 
            // comboBox19
            // 
            this.comboBox19.FormattingEnabled = true;
            this.comboBox19.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox19.Location = new System.Drawing.Point(366, 156);
            this.comboBox19.Name = "comboBox19";
            this.comboBox19.Size = new System.Drawing.Size(121, 21);
            this.comboBox19.TabIndex = 22;
            this.comboBox19.SelectedIndexChanged += new System.EventHandler(this.comboBox19_SelectedIndexChanged);
            // 
            // comboBox20
            // 
            this.comboBox20.FormattingEnabled = true;
            this.comboBox20.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox20.Location = new System.Drawing.Point(366, 183);
            this.comboBox20.Name = "comboBox20";
            this.comboBox20.Size = new System.Drawing.Size(121, 21);
            this.comboBox20.TabIndex = 21;
            this.comboBox20.SelectedIndexChanged += new System.EventHandler(this.comboBox20_SelectedIndexChanged);
            // 
            // comboBox21
            // 
            this.comboBox21.FormattingEnabled = true;
            this.comboBox21.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox21.Location = new System.Drawing.Point(366, 210);
            this.comboBox21.Name = "comboBox21";
            this.comboBox21.Size = new System.Drawing.Size(121, 21);
            this.comboBox21.TabIndex = 20;
            this.comboBox21.SelectedIndexChanged += new System.EventHandler(this.comboBox21_SelectedIndexChanged);
            // 
            // comboBox22
            // 
            this.comboBox22.FormattingEnabled = true;
            this.comboBox22.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox22.Location = new System.Drawing.Point(531, 156);
            this.comboBox22.Name = "comboBox22";
            this.comboBox22.Size = new System.Drawing.Size(121, 21);
            this.comboBox22.TabIndex = 25;
            this.comboBox22.SelectedIndexChanged += new System.EventHandler(this.comboBox22_SelectedIndexChanged);
            // 
            // comboBox23
            // 
            this.comboBox23.FormattingEnabled = true;
            this.comboBox23.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox23.Location = new System.Drawing.Point(531, 183);
            this.comboBox23.Name = "comboBox23";
            this.comboBox23.Size = new System.Drawing.Size(121, 21);
            this.comboBox23.TabIndex = 24;
            this.comboBox23.SelectedIndexChanged += new System.EventHandler(this.comboBox23_SelectedIndexChanged);
            // 
            // comboBox24
            // 
            this.comboBox24.FormattingEnabled = true;
            this.comboBox24.Items.AddRange(new object[] {
            "1b1.wav",
            "1b2.wav",
            "1b3.wav",
            "1b4.wav",
            "1t1.wav",
            "1t2.wav",
            "1t3.wav",
            "1t4.wav",
            "2b1.wav",
            "2b2.wav",
            "2b3.wav",
            "2b4.wav",
            "2t2.wav",
            "2t4.wav",
            "3b2.wav",
            "3b3.wav",
            "3t2.wav",
            "3t3.wav",
            "3t4.wav",
            "BassDrum.wav",
            "Bounce.wav",
            "ContactBoom.wav",
            "EDMKick.wav",
            "FingerSnaps.wav",
            "GenericEDMBeatLOOPTHIS.wav",
            "Hi-Hat.wav",
            "Hi-HatRun.wav",
            "LongSnare.wav",
            "LowDrumKick.wav",
            "PianoA.wav",
            "PianoAb.wav",
            "PianoB.wav",
            "PianoBb.wav",
            "PianoC.wav",
            "PianoD.wav",
            "PianoDb.wav",
            "PianoE.wav",
            "PianoEb.wav",
            "PianoF.wav",
            "PianoG.wav",
            "PianoGb.wav",
            "RideEcho.wav",
            "SnareDrum.wav"});
            this.comboBox24.Location = new System.Drawing.Point(531, 210);
            this.comboBox24.Name = "comboBox24";
            this.comboBox24.Size = new System.Drawing.Size(121, 21);
            this.comboBox24.TabIndex = 23;
            this.comboBox24.SelectedIndexChanged += new System.EventHandler(this.comboBox24_SelectedIndexChanged);
            // 
            // textbox1
            this.comboBox1.SelectedIndex = 0;
            this.comboBox2.SelectedIndex = 8;
            this.comboBox3.SelectedIndex = 16;
            this.comboBox4.SelectedIndex = 1;
            this.comboBox5.SelectedIndex = 9;
            this.comboBox6.SelectedIndex = 17;
            this.comboBox7.SelectedIndex = 2;
            this.comboBox8.SelectedIndex = 10;
            this.comboBox9.SelectedIndex = 18;
            this.comboBox10.SelectedIndex = 3;
            this.comboBox11.SelectedIndex = 11;
            this.comboBox12.SelectedIndex = 19;
            this.comboBox13.SelectedIndex = 4;
            this.comboBox14.SelectedIndex = 12;
            this.comboBox15.SelectedIndex = 20;
            this.comboBox16.SelectedIndex = 5;
            this.comboBox17.SelectedIndex = 13;
            this.comboBox18.SelectedIndex = 21;
            this.comboBox19.SelectedIndex = 6;
            this.comboBox20.SelectedIndex = 14;
            this.comboBox21.SelectedIndex = 22;
            this.comboBox22.SelectedIndex = 7;
            this.comboBox23.SelectedIndex = 15;
            this.comboBox24.SelectedIndex = 23;
            // 
            this.textBox1.Location = new System.Drawing.Point(58, 287);
            this.textBox1.Name = "textBox1";
            this.textBox1.ReadOnly = true;
            this.textBox1.Size = new System.Drawing.Size(100, 20);
            this.textBox1.TabIndex = 26;
            this.textBox1.Text = "Button 1";
            this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(206, 287);
            this.textBox2.Name = "textBox2";
            this.textBox2.ReadOnly = true;
            this.textBox2.Size = new System.Drawing.Size(100, 20);
            this.textBox2.TabIndex = 27;
            this.textBox2.Text = "Button 2";
            this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(366, 287);
            this.textBox3.Name = "textBox3";
            this.textBox3.ReadOnly = true;
            this.textBox3.Size = new System.Drawing.Size(100, 20);
            this.textBox3.TabIndex = 28;
            this.textBox3.Text = "Button 3";
            // 
            // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(531, 287);
            this.textBox4.Name = "textBox4";
            this.textBox4.ReadOnly = true;
            this.textBox4.Size = new System.Drawing.Size(100, 20);
            this.textBox4.TabIndex = 29;
            this.textBox4.Text = "Button 4";
            this.textBox4.TextChanged += new System.EventHandler(this.textBox4_TextChanged);
            // 
            // textBox5
            // 
            this.textBox5.Location = new System.Drawing.Point(58, 118);
            this.textBox5.Name = "textBox5";
            this.textBox5.ReadOnly = true;
            this.textBox5.Size = new System.Drawing.Size(100, 20);
            this.textBox5.TabIndex = 30;
            this.textBox5.Text = "Button 5";
            // 
            // textBox6
            // 
            this.textBox6.Location = new System.Drawing.Point(206, 118);
            this.textBox6.Name = "textBox6";
            this.textBox6.ReadOnly = true;
            this.textBox6.Size = new System.Drawing.Size(100, 20);
            this.textBox6.TabIndex = 31;
            this.textBox6.Text = "Button 6";
            // 
            // textBox7
            // 
            this.textBox7.Location = new System.Drawing.Point(366, 118);
            this.textBox7.Name = "textBox7";
            this.textBox7.ReadOnly = true;
            this.textBox7.Size = new System.Drawing.Size(100, 20);
            this.textBox7.TabIndex = 32;
            this.textBox7.Text = "Button 7";
            // 
            // textBox8
            // 
            this.textBox8.Location = new System.Drawing.Point(531, 118);
            this.textBox8.Name = "textBox8";
            this.textBox8.ReadOnly = true;
            this.textBox8.Size = new System.Drawing.Size(100, 20);
            this.textBox8.TabIndex = 33;
            this.textBox8.Text = "Button 8";
            // 
            // textBox9
            // 
            this.textBox9.BackColor = System.Drawing.SystemColors.Info;
            this.textBox9.ForeColor = System.Drawing.SystemColors.InfoText;
            this.textBox9.Location = new System.Drawing.Point(291, 62);
            this.textBox9.Name = "textBox9";
            this.textBox9.ReadOnly = true;
            this.textBox9.Size = new System.Drawing.Size(133, 20);
            this.textBox9.TabIndex = 34;
            this.textBox9.Text = "mbed MIDI Sound Loader";
            this.textBox9.TextChanged += new System.EventHandler(this.textBox9_TextChanged);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(759, 498);
            this.Controls.Add(this.textBox9);
            this.Controls.Add(this.textBox8);
            this.Controls.Add(this.textBox7);
            this.Controls.Add(this.textBox6);
            this.Controls.Add(this.textBox5);
            this.Controls.Add(this.textBox4);
            this.Controls.Add(this.textBox3);
            this.Controls.Add(this.textBox2);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.comboBox22);
            this.Controls.Add(this.comboBox23);
            this.Controls.Add(this.comboBox24);
            this.Controls.Add(this.comboBox19);
            this.Controls.Add(this.comboBox20);
            this.Controls.Add(this.comboBox21);
            this.Controls.Add(this.comboBox10);
            this.Controls.Add(this.comboBox11);
            this.Controls.Add(this.comboBox12);
            this.Controls.Add(this.comboBox13);
            this.Controls.Add(this.comboBox14);
            this.Controls.Add(this.comboBox15);
            this.Controls.Add(this.comboBox16);
            this.Controls.Add(this.comboBox17);
            this.Controls.Add(this.comboBox18);
            this.Controls.Add(this.comboBox7);
            this.Controls.Add(this.comboBox8);
            this.Controls.Add(this.comboBox9);
            this.Controls.Add(this.comboBox3);
            this.Controls.Add(this.comboBox5);
            this.Controls.Add(this.comboBox6);
            this.Controls.Add(this.comboBox4);
            this.Controls.Add(this.comboBox2);
            this.Controls.Add(this.comboBox1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.IO.Ports.SerialPort serialPort1;
        private System.Windows.Forms.ComboBox comboBox1;
        private System.Windows.Forms.ComboBox comboBox2;
        private System.Windows.Forms.ComboBox comboBox4;
        private System.Windows.Forms.ComboBox comboBox3;
        private System.Windows.Forms.ComboBox comboBox5;
        private System.Windows.Forms.ComboBox comboBox6;
        private System.Windows.Forms.ComboBox comboBox7;
        private System.Windows.Forms.ComboBox comboBox8;
        private System.Windows.Forms.ComboBox comboBox9;
        private System.Windows.Forms.ComboBox comboBox10;
        private System.Windows.Forms.ComboBox comboBox11;
        private System.Windows.Forms.ComboBox comboBox12;
        private System.Windows.Forms.ComboBox comboBox13;
        private System.Windows.Forms.ComboBox comboBox14;
        private System.Windows.Forms.ComboBox comboBox15;
        private System.Windows.Forms.ComboBox comboBox16;
        private System.Windows.Forms.ComboBox comboBox17;
        private System.Windows.Forms.ComboBox comboBox18;
        private System.Windows.Forms.ComboBox comboBox19;
        private System.Windows.Forms.ComboBox comboBox20;
        private System.Windows.Forms.ComboBox comboBox21;
        private System.Windows.Forms.ComboBox comboBox22;
        private System.Windows.Forms.ComboBox comboBox23;
        private System.Windows.Forms.ComboBox comboBox24;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.TextBox textBox5;
        private System.Windows.Forms.TextBox textBox6;
        private System.Windows.Forms.TextBox textBox7;
        private System.Windows.Forms.TextBox textBox8;
        private System.Windows.Forms.TextBox textBox9;
    }
}
Committer:
EvolutionOfWar
Date:
Mon Dec 12 19:15:37 2016 +0000
Revision:
9:0bd225d33c46
Parent:
8:579362817eae
Child:
10:669d8d991de9
Version 1.8b, Fixed small bug in uLCD changes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EvolutionOfWar 0:f2dd277fdbf1 1 #include "mbed.h"
EvolutionOfWar 6:44ee675f46e8 2 #include "uLCD_4DGL.h"
EvolutionOfWar 0:f2dd277fdbf1 3
EvolutionOfWar 7:9e6a031395da 4 #define ORANGE 0xFFA500
EvolutionOfWar 7:9e6a031395da 5
EvolutionOfWar 7:9e6a031395da 6
EvolutionOfWar 6:44ee675f46e8 7 uLCD_4DGL uLCD(p28, p27, p30);
EvolutionOfWar 0:f2dd277fdbf1 8 DigitalIn pb1(p8); // Bottom Row
EvolutionOfWar 0:f2dd277fdbf1 9 DigitalIn pb2(p9);
EvolutionOfWar 0:f2dd277fdbf1 10 DigitalIn pb3(p10);
EvolutionOfWar 0:f2dd277fdbf1 11 DigitalIn pb4(p11);
EvolutionOfWar 0:f2dd277fdbf1 12 DigitalIn pb5(p12); // Middle Row
EvolutionOfWar 0:f2dd277fdbf1 13 DigitalIn pb6(p13);
EvolutionOfWar 0:f2dd277fdbf1 14 DigitalIn pb7(p14);
EvolutionOfWar 0:f2dd277fdbf1 15 DigitalIn pb8(p15);
EvolutionOfWar 0:f2dd277fdbf1 16 DigitalIn pb9(p16); // Loop Controls
EvolutionOfWar 0:f2dd277fdbf1 17 DigitalIn pb10(p17);
EvolutionOfWar 1:8d0795150ea6 18 DigitalIn pb11(p18); // Layering
EvolutionOfWar 7:9e6a031395da 19 //loop control rgb leds
EvolutionOfWar 0:f2dd277fdbf1 20 PwmOut LED_r1(p26);
EvolutionOfWar 0:f2dd277fdbf1 21 PwmOut LED_g1(p25);
EvolutionOfWar 0:f2dd277fdbf1 22 PwmOut LED_b1(p24);
EvolutionOfWar 0:f2dd277fdbf1 23
EvolutionOfWar 0:f2dd277fdbf1 24 PwmOut LED_r2(p23);
EvolutionOfWar 0:f2dd277fdbf1 25 PwmOut LED_g2(p22);
EvolutionOfWar 0:f2dd277fdbf1 26 PwmOut LED_b2(p21);
EvolutionOfWar 7:9e6a031395da 27 //layer control rgb led
EvolutionOfWar 1:8d0795150ea6 28 DigitalOut LED_r3(p5);
EvolutionOfWar 1:8d0795150ea6 29 DigitalOut LED_g3(p6);
EvolutionOfWar 1:8d0795150ea6 30 DigitalOut LED_b3(p7);
EvolutionOfWar 1:8d0795150ea6 31
EvolutionOfWar 0:f2dd277fdbf1 32 Serial pc(USBTX, USBRX); // PC Serial port, use pc.
EvolutionOfWar 0:f2dd277fdbf1 33
EvolutionOfWar 7:9e6a031395da 34 //coordinates for drawing on lcd
EvolutionOfWar 7:9e6a031395da 35 //bottom half is 63-127
EvolutionOfWar 7:9e6a031395da 36 // 4 columns at 127/5 --> 25, 50, 75, 100
EvolutionOfWar 7:9e6a031395da 37 // 2 rows at 64/3 --> 63 + 21, 63 + 42
EvolutionOfWar 7:9e6a031395da 38 int row1_y = 127 - 21;
EvolutionOfWar 7:9e6a031395da 39 int row2_y = 127 - (21*2);
EvolutionOfWar 7:9e6a031395da 40 int col1_x = 25;
EvolutionOfWar 7:9e6a031395da 41 int col2_x = 50;
EvolutionOfWar 7:9e6a031395da 42 int col3_x = 75;
EvolutionOfWar 7:9e6a031395da 43 int col4_x = 100;
EvolutionOfWar 7:9e6a031395da 44 //run this when layer changes or loop turns on
EvolutionOfWar 8:579362817eae 45 void displayLCD(int layer, int l1, int l2){
EvolutionOfWar 7:9e6a031395da 46 //uLCD portion
EvolutionOfWar 7:9e6a031395da 47 //16 lines with 18 characters per line
EvolutionOfWar 7:9e6a031395da 48 uLCD.cls();
EvolutionOfWar 7:9e6a031395da 49 uLCD.locate(6,0);
EvolutionOfWar 7:9e6a031395da 50 uLCD.printf("Layer\n");
EvolutionOfWar 7:9e6a031395da 51 //current Layer
EvolutionOfWar 7:9e6a031395da 52 if (layer%3 == 0){
EvolutionOfWar 7:9e6a031395da 53 uLCD.locate(3,1);
EvolutionOfWar 7:9e6a031395da 54 uLCD.color(BLUE);
EvolutionOfWar 7:9e6a031395da 55 uLCD.printf("1\n");
EvolutionOfWar 7:9e6a031395da 56 }
EvolutionOfWar 7:9e6a031395da 57 else if (layer%3 == 1){
EvolutionOfWar 7:9e6a031395da 58 uLCD.locate(8,1);
EvolutionOfWar 7:9e6a031395da 59 uLCD.color(RED);
EvolutionOfWar 7:9e6a031395da 60 uLCD.printf("2\n");
EvolutionOfWar 7:9e6a031395da 61 }
EvolutionOfWar 7:9e6a031395da 62 else{
EvolutionOfWar 7:9e6a031395da 63 uLCD.locate(13,1);
EvolutionOfWar 7:9e6a031395da 64 uLCD.color(GREEN);
EvolutionOfWar 7:9e6a031395da 65 uLCD.printf("3\n");
EvolutionOfWar 7:9e6a031395da 66 }
EvolutionOfWar 7:9e6a031395da 67 uLCD.color(GREEN);
EvolutionOfWar 7:9e6a031395da 68 uLCD.locate(0,3);
EvolutionOfWar 7:9e6a031395da 69 //loop control circle --> filled = true, unfilled = false
EvolutionOfWar 7:9e6a031395da 70 uLCD.printf("Loop 1 Loop 2\n");
EvolutionOfWar 8:579362817eae 71 if (l1%3 == 1) uLCD.filled_circle(24,44,4, ORANGE);
EvolutionOfWar 9:0bd225d33c46 72 else if (l1%3 == 2) uLCD.filled_circle(24,44,4, GREEN);
EvolutionOfWar 9:0bd225d33c46 73 else if (l1%3 == 0) uLCD.circle(24,44,4, ORANGE);
EvolutionOfWar 8:579362817eae 74 if (l2%3 == 1) uLCD.filled_circle(104,44,4,ORANGE);
EvolutionOfWar 9:0bd225d33c46 75 else if (l1%3 == 2) uLCD.filled_circle(104,44,4, GREEN);
EvolutionOfWar 9:0bd225d33c46 76 else if (l2%3 == 0) uLCD.circle(104,44,4,ORANGE);
EvolutionOfWar 7:9e6a031395da 77 //draw pushbuttons
EvolutionOfWar 7:9e6a031395da 78 uLCD.circle(col1_x, row1_y, 4, RED); //pb 1
EvolutionOfWar 7:9e6a031395da 79 uLCD.circle(col2_x, row1_y, 4, RED); //pb 2
EvolutionOfWar 7:9e6a031395da 80 uLCD.circle(col3_x, row1_y, 4, RED); //pb 3
EvolutionOfWar 7:9e6a031395da 81 uLCD.circle(col4_x, row1_y, 4, RED); //pb 4
EvolutionOfWar 7:9e6a031395da 82 uLCD.circle(col1_x, row2_y, 4, RED); //pb 5
EvolutionOfWar 7:9e6a031395da 83 uLCD.circle(col2_x, row2_y, 4, RED); //pb 6
EvolutionOfWar 7:9e6a031395da 84 uLCD.circle(col3_x, row2_y, 4, RED); //pb 7
EvolutionOfWar 7:9e6a031395da 85 uLCD.circle(col4_x, row2_y, 4, RED); //pb 8
EvolutionOfWar 7:9e6a031395da 86 }
EvolutionOfWar 0:f2dd277fdbf1 87 int main() {
EvolutionOfWar 7:9e6a031395da 88
EvolutionOfWar 7:9e6a031395da 89 //internal pull ups for the pushbuttons
EvolutionOfWar 0:f2dd277fdbf1 90 pb1.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 91 pb2.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 92 pb3.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 93 pb4.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 94 pb5.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 95 pb6.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 96 pb7.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 97 pb8.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 98 pb9.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 99 pb10.mode(PullUp);
EvolutionOfWar 1:8d0795150ea6 100 pb11.mode(PullUp);
EvolutionOfWar 0:f2dd277fdbf1 101
EvolutionOfWar 0:f2dd277fdbf1 102
EvolutionOfWar 0:f2dd277fdbf1 103
EvolutionOfWar 1:8d0795150ea6 104 int count = 0; // Layer Count
EvolutionOfWar 2:3744fe2f24d5 105 int pb1o;
EvolutionOfWar 2:3744fe2f24d5 106 int pb2o;
EvolutionOfWar 2:3744fe2f24d5 107 int pb3o;
EvolutionOfWar 2:3744fe2f24d5 108 int pb4o;
EvolutionOfWar 2:3744fe2f24d5 109 int pb5o;
EvolutionOfWar 2:3744fe2f24d5 110 int pb6o;
EvolutionOfWar 2:3744fe2f24d5 111 int pb7o;
EvolutionOfWar 2:3744fe2f24d5 112 int pb8o;
EvolutionOfWar 2:3744fe2f24d5 113 int pb9o;
EvolutionOfWar 2:3744fe2f24d5 114 int pb10o;
EvolutionOfWar 2:3744fe2f24d5 115 int pb11o;
EvolutionOfWar 8:579362817eae 116 int loop1 = 0;
EvolutionOfWar 8:579362817eae 117 int loop2 = 0;
EvolutionOfWar 8:579362817eae 118
EvolutionOfWar 7:9e6a031395da 119
EvolutionOfWar 7:9e6a031395da 120 //initialize the layer rgbled
EvolutionOfWar 7:9e6a031395da 121 LED_r3 = 0;
EvolutionOfWar 7:9e6a031395da 122 LED_g3 = 0;
EvolutionOfWar 7:9e6a031395da 123 LED_b3 = 1;
EvolutionOfWar 7:9e6a031395da 124 uLCD.baudrate(300000);
EvolutionOfWar 7:9e6a031395da 125 displayLCD(count,loop1,loop2);
EvolutionOfWar 7:9e6a031395da 126
EvolutionOfWar 0:f2dd277fdbf1 127 while(1)
EvolutionOfWar 0:f2dd277fdbf1 128 {
EvolutionOfWar 7:9e6a031395da 129
EvolutionOfWar 0:f2dd277fdbf1 130
EvolutionOfWar 0:f2dd277fdbf1 131 pb1o = pb1; // Stores previous pushbutton value (defaults to 1 when not pressed)
EvolutionOfWar 0:f2dd277fdbf1 132 pb2o = pb2;
EvolutionOfWar 0:f2dd277fdbf1 133 pb3o = pb3;
EvolutionOfWar 0:f2dd277fdbf1 134 pb4o = pb4;
EvolutionOfWar 0:f2dd277fdbf1 135 pb5o = pb5;
EvolutionOfWar 0:f2dd277fdbf1 136 pb6o = pb6;
EvolutionOfWar 0:f2dd277fdbf1 137 pb7o = pb7;
EvolutionOfWar 0:f2dd277fdbf1 138 pb8o = pb8;
EvolutionOfWar 0:f2dd277fdbf1 139 pb9o = pb9;
EvolutionOfWar 0:f2dd277fdbf1 140 pb10o = pb10;
EvolutionOfWar 1:8d0795150ea6 141 pb11o = pb11;
EvolutionOfWar 0:f2dd277fdbf1 142
EvolutionOfWar 7:9e6a031395da 143 wait(0.01);
EvolutionOfWar 7:9e6a031395da 144 //draw filled circle at pushbutton spot on lcd when pressed, otherwise it's filled black
EvolutionOfWar 7:9e6a031395da 145 if (pb1 ==0)uLCD.filled_circle(col1_x, row1_y, 4, RED); //pb 1
EvolutionOfWar 7:9e6a031395da 146 else uLCD.filled_circle(col1_x,row1_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 147
EvolutionOfWar 7:9e6a031395da 148 if (pb2 ==0)uLCD.filled_circle(col2_x, row1_y, 4, RED); //pb 2
EvolutionOfWar 7:9e6a031395da 149 else uLCD.filled_circle(col2_x,row1_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 150
EvolutionOfWar 7:9e6a031395da 151 if (pb3 ==0)uLCD.filled_circle(col3_x, row1_y, 4, RED); //pb 3
EvolutionOfWar 7:9e6a031395da 152 else uLCD.filled_circle(col3_x,row1_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 153
EvolutionOfWar 7:9e6a031395da 154 if (pb4 ==0)uLCD.filled_circle(col4_x, row1_y, 4, RED); //pb 4
EvolutionOfWar 7:9e6a031395da 155 else uLCD.filled_circle(col4_x,row1_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 156
EvolutionOfWar 7:9e6a031395da 157 if (pb5 ==0)uLCD.filled_circle(col1_x, row2_y, 4, RED); //pb 5
EvolutionOfWar 7:9e6a031395da 158 else uLCD.filled_circle(col1_x,row2_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 159
EvolutionOfWar 7:9e6a031395da 160 if (pb6 ==0)uLCD.filled_circle(col2_x, row2_y, 4, RED); //pb 6
EvolutionOfWar 7:9e6a031395da 161 else uLCD.filled_circle(col2_x,row2_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 162
EvolutionOfWar 7:9e6a031395da 163 if (pb7 ==0)uLCD.filled_circle(col3_x, row2_y, 4, RED); //pb 7
EvolutionOfWar 7:9e6a031395da 164 else uLCD.filled_circle(col3_x,row2_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 165
EvolutionOfWar 7:9e6a031395da 166 if (pb8 ==0)uLCD.filled_circle(col4_x, row2_y, 4, RED); //pb 8
EvolutionOfWar 7:9e6a031395da 167 else uLCD.filled_circle(col4_x,row2_y,3,BLACK);
EvolutionOfWar 7:9e6a031395da 168
EvolutionOfWar 7:9e6a031395da 169 // Pushbuttons - when pressed, send string to serial port
EvolutionOfWar 0:f2dd277fdbf1 170 if(pb1 == 0 && pb1o != pb1)
EvolutionOfWar 0:f2dd277fdbf1 171 {
EvolutionOfWar 7:9e6a031395da 172 pc.printf("1\n");
EvolutionOfWar 0:f2dd277fdbf1 173 }
EvolutionOfWar 0:f2dd277fdbf1 174 if(pb2 == 0 && pb2o != pb2)
EvolutionOfWar 0:f2dd277fdbf1 175 {
EvolutionOfWar 7:9e6a031395da 176 pc.printf("2\n");
EvolutionOfWar 0:f2dd277fdbf1 177 }
EvolutionOfWar 0:f2dd277fdbf1 178 if(pb3 == 0 && pb3o != pb3)
EvolutionOfWar 0:f2dd277fdbf1 179 {
EvolutionOfWar 3:7f781cd41a23 180 pc.printf("3\n");
EvolutionOfWar 0:f2dd277fdbf1 181 }
EvolutionOfWar 0:f2dd277fdbf1 182 if(pb4 == 0 && pb4o != pb4)
EvolutionOfWar 0:f2dd277fdbf1 183 {
EvolutionOfWar 3:7f781cd41a23 184 pc.printf("4\n");
EvolutionOfWar 0:f2dd277fdbf1 185 }
EvolutionOfWar 0:f2dd277fdbf1 186 if(pb5 == 0 && pb5o != pb5)
EvolutionOfWar 0:f2dd277fdbf1 187 {
EvolutionOfWar 3:7f781cd41a23 188 pc.printf("5\n");
EvolutionOfWar 0:f2dd277fdbf1 189 }
EvolutionOfWar 0:f2dd277fdbf1 190 if(pb6 == 0 && pb6o != pb6)
EvolutionOfWar 0:f2dd277fdbf1 191 {
EvolutionOfWar 3:7f781cd41a23 192 pc.printf("6\n");
EvolutionOfWar 0:f2dd277fdbf1 193 }
EvolutionOfWar 0:f2dd277fdbf1 194 if(pb7 == 0 && pb7o != pb7)
EvolutionOfWar 0:f2dd277fdbf1 195 {
EvolutionOfWar 3:7f781cd41a23 196 pc.printf("7\n");
EvolutionOfWar 0:f2dd277fdbf1 197 }
EvolutionOfWar 0:f2dd277fdbf1 198 if(pb8 == 0 && pb8o != pb8)
EvolutionOfWar 0:f2dd277fdbf1 199 {
EvolutionOfWar 3:7f781cd41a23 200 pc.printf("8\n");
EvolutionOfWar 0:f2dd277fdbf1 201 }
EvolutionOfWar 0:f2dd277fdbf1 202 if(pb9 == 0 && pb9o != pb9)
EvolutionOfWar 0:f2dd277fdbf1 203 {
EvolutionOfWar 3:7f781cd41a23 204 pc.printf("9\n");
EvolutionOfWar 8:579362817eae 205 loop1++;
EvolutionOfWar 8:579362817eae 206 if(loop1%3 == 1)
EvolutionOfWar 5:fdc99c07136a 207 {
EvolutionOfWar 5:fdc99c07136a 208 LED_r1.period(0.0005);
EvolutionOfWar 5:fdc99c07136a 209 LED_g1.period(0.0005);
EvolutionOfWar 5:fdc99c07136a 210 LED_b1.period(0.0005);
EvolutionOfWar 0:f2dd277fdbf1 211
EvolutionOfWar 8:579362817eae 212 LED_r1 = 1;
EvolutionOfWar 8:579362817eae 213 LED_g1 = 0.6;
EvolutionOfWar 8:579362817eae 214 LED_b1 = 0;
EvolutionOfWar 5:fdc99c07136a 215
EvolutionOfWar 5:fdc99c07136a 216 }
EvolutionOfWar 8:579362817eae 217 else if(loop1%3 == 2)
EvolutionOfWar 5:fdc99c07136a 218 {
EvolutionOfWar 8:579362817eae 219 LED_r1 = 0;
EvolutionOfWar 8:579362817eae 220 LED_g1 = 1;
EvolutionOfWar 8:579362817eae 221 LED_b1 = 0;
EvolutionOfWar 8:579362817eae 222 }
EvolutionOfWar 8:579362817eae 223 else if(loop1%3 == 0)
EvolutionOfWar 8:579362817eae 224 {
EvolutionOfWar 5:fdc99c07136a 225 LED_r1 = 0;
EvolutionOfWar 5:fdc99c07136a 226 LED_g1 = 0;
EvolutionOfWar 5:fdc99c07136a 227 LED_b1 = 0;
EvolutionOfWar 7:9e6a031395da 228 }
EvolutionOfWar 7:9e6a031395da 229 displayLCD(count,loop1,loop2);
EvolutionOfWar 0:f2dd277fdbf1 230 }
EvolutionOfWar 0:f2dd277fdbf1 231 if(pb10 == 0 && pb10o != pb10)
EvolutionOfWar 0:f2dd277fdbf1 232 {
EvolutionOfWar 3:7f781cd41a23 233 pc.printf("10\n");
EvolutionOfWar 8:579362817eae 234 loop2++;
EvolutionOfWar 8:579362817eae 235 if(loop2%3 == 1)
EvolutionOfWar 5:fdc99c07136a 236 {
EvolutionOfWar 5:fdc99c07136a 237 LED_r2.period(0.0005);
EvolutionOfWar 5:fdc99c07136a 238 LED_g2.period(0.0005);
EvolutionOfWar 5:fdc99c07136a 239 LED_b2.period(0.0005);
EvolutionOfWar 0:f2dd277fdbf1 240
EvolutionOfWar 8:579362817eae 241 LED_r2 = 1;
EvolutionOfWar 8:579362817eae 242 LED_g2 = 0.6;
EvolutionOfWar 8:579362817eae 243 LED_b2 = 0;
EvolutionOfWar 5:fdc99c07136a 244 }
EvolutionOfWar 8:579362817eae 245 else if(loop2%3 == 2)
EvolutionOfWar 5:fdc99c07136a 246 {
EvolutionOfWar 8:579362817eae 247 LED_r2 = 0;
EvolutionOfWar 8:579362817eae 248 LED_g2 = 1;
EvolutionOfWar 8:579362817eae 249 LED_b2 = 0;
EvolutionOfWar 8:579362817eae 250 }
EvolutionOfWar 8:579362817eae 251 else if(loop2%3 == 0)
EvolutionOfWar 8:579362817eae 252 {
EvolutionOfWar 5:fdc99c07136a 253 LED_r2 = 0;
EvolutionOfWar 5:fdc99c07136a 254 LED_g2 = 0;
EvolutionOfWar 5:fdc99c07136a 255 LED_b2 = 0;
EvolutionOfWar 8:579362817eae 256 }
EvolutionOfWar 7:9e6a031395da 257 displayLCD(count,loop1,loop2);
EvolutionOfWar 0:f2dd277fdbf1 258 }
EvolutionOfWar 1:8d0795150ea6 259 if(pb11 == 0 && pb11o != pb11)
EvolutionOfWar 1:8d0795150ea6 260 {
EvolutionOfWar 3:7f781cd41a23 261 pc.printf("11\n");
EvolutionOfWar 1:8d0795150ea6 262 count++;
EvolutionOfWar 1:8d0795150ea6 263 if(count%3 == 1)
EvolutionOfWar 1:8d0795150ea6 264 {
EvolutionOfWar 1:8d0795150ea6 265 LED_r3 = 1;
EvolutionOfWar 1:8d0795150ea6 266 LED_g3 = 0;
EvolutionOfWar 1:8d0795150ea6 267 LED_b3 = 0;
EvolutionOfWar 1:8d0795150ea6 268 }
EvolutionOfWar 1:8d0795150ea6 269 else if(count%3 == 2)
EvolutionOfWar 1:8d0795150ea6 270 {
EvolutionOfWar 1:8d0795150ea6 271 LED_r3 = 0;
EvolutionOfWar 1:8d0795150ea6 272 LED_g3 = 1;
EvolutionOfWar 1:8d0795150ea6 273 LED_b3 = 0;
EvolutionOfWar 1:8d0795150ea6 274 }
EvolutionOfWar 1:8d0795150ea6 275 else if(count%3 == 0)
EvolutionOfWar 1:8d0795150ea6 276 {
EvolutionOfWar 1:8d0795150ea6 277 LED_r3 = 0;
EvolutionOfWar 1:8d0795150ea6 278 LED_g3 = 0;
EvolutionOfWar 1:8d0795150ea6 279 LED_b3 = 1;
EvolutionOfWar 1:8d0795150ea6 280 }
EvolutionOfWar 7:9e6a031395da 281 displayLCD(count,loop1,loop2);
EvolutionOfWar 1:8d0795150ea6 282 }
EvolutionOfWar 0:f2dd277fdbf1 283 }
EvolutionOfWar 0:f2dd277fdbf1 284 }