Exemple #1
0
    public ShapeTabs(MilkForm milkForm)
    {
        // Configure Shape TabControl
        shapeTabs          = new TabControl();
        shapeTabs.Parent   = milkForm;
        shapeTabs.Size     = new Size(340, 450);
        shapeTabs.Location = new Point(0, 110);


        // Create Shape Tabs
        shape1Tab             = new TabPage();
        shape1Tab.Parent      = shapeTabs;
        shape1Tab.Text        = "Shape 1";
        shape1Tab.BackColor   = Color.Black;
        shape1Tab.ForeColor   = Color.White;
        shape1Tab.BorderStyle = BorderStyle.Fixed3D;
        shape1Tab.AutoScroll  = true;
        shape1Tab.HorizontalScroll.Visible     = false;
        shape1Tab.HorizontalScroll.LargeChange = shape1Tab.HorizontalScroll.Maximum / 2;

        shape2Tab             = new TabPage();
        shape2Tab.Parent      = shapeTabs;
        shape2Tab.Text        = "Shape 2";
        shape2Tab.BackColor   = Color.Black;
        shape2Tab.ForeColor   = Color.White;
        shape2Tab.BorderStyle = BorderStyle.Fixed3D;
        shape2Tab.AutoScroll  = true;
        shape2Tab.HorizontalScroll.Visible     = false;
        shape2Tab.HorizontalScroll.LargeChange = shape2Tab.HorizontalScroll.Maximum / 2;

        shape3Tab             = new TabPage();
        shape3Tab.Parent      = shapeTabs;
        shape3Tab.Text        = "Shape 3";
        shape3Tab.BackColor   = Color.Black;
        shape3Tab.ForeColor   = Color.White;
        shape3Tab.BorderStyle = BorderStyle.Fixed3D;
        shape3Tab.AutoScroll  = true;
        shape3Tab.HorizontalScroll.Visible     = false;
        shape3Tab.HorizontalScroll.LargeChange = shape3Tab.HorizontalScroll.Maximum / 2;

        shape4Tab             = new TabPage();
        shape4Tab.Parent      = shapeTabs;
        shape4Tab.Text        = "Shape 4";
        shape4Tab.BackColor   = Color.Black;
        shape4Tab.ForeColor   = Color.White;
        shape4Tab.BorderStyle = BorderStyle.Fixed3D;
        shape4Tab.AutoScroll  = true;
        shape4Tab.HorizontalScroll.Visible     = false;
        shape4Tab.HorizontalScroll.LargeChange = shape4Tab.HorizontalScroll.Maximum / 2;


        // Create Shapes Inside Tab Pages
        shape1 = new Shape(milkForm, shape1Tab, this, "0", (float)0.2, (float)0.5);
        shape2 = new Shape(milkForm, shape2Tab, this, "1", (float)0.4, (float)0.5);
        shape3 = new Shape(milkForm, shape3Tab, this, "2", (float)0.6, (float)0.5);
        shape4 = new Shape(milkForm, shape4Tab, this, "3", (float)0.8, (float)0.5);
    }
Exemple #2
0
    public WaveTabs(MilkForm milkForm)
    {
        // Configure wave TabControl
        waveTabs          = new TabControl();
        waveTabs.Parent   = milkForm;
        waveTabs.Size     = new Size(340, 450);
        waveTabs.Location = new Point(345, 110);

        // Create wave tabs
        wave1Tab             = new TabPage();
        wave1Tab.Parent      = waveTabs;
        wave1Tab.Text        = "Wave 1";
        wave1Tab.BackColor   = Color.Black;
        wave1Tab.BorderStyle = BorderStyle.Fixed3D;
        wave1Tab.AutoScroll  = true;
        wave1Tab.HorizontalScroll.Visible     = false;
        wave1Tab.HorizontalScroll.LargeChange = wave1Tab.HorizontalScroll.Maximum;

        wave2Tab             = new TabPage();
        wave2Tab.Parent      = waveTabs;
        wave2Tab.Text        = "Wave 2";
        wave2Tab.BackColor   = Color.Black;
        wave2Tab.BorderStyle = BorderStyle.Fixed3D;
        wave2Tab.AutoScroll  = true;
        wave2Tab.HorizontalScroll.Visible     = false;
        wave2Tab.HorizontalScroll.LargeChange = wave2Tab.HorizontalScroll.Maximum;

        wave3Tab             = new TabPage();
        wave3Tab.Parent      = waveTabs;
        wave3Tab.Text        = "Wave 3";
        wave3Tab.BackColor   = Color.Black;
        wave3Tab.BorderStyle = BorderStyle.Fixed3D;
        wave3Tab.AutoScroll  = true;
        wave3Tab.HorizontalScroll.Visible     = false;
        wave3Tab.HorizontalScroll.LargeChange = wave3Tab.HorizontalScroll.Maximum;

        wave4Tab             = new TabPage();
        wave4Tab.Parent      = waveTabs;
        wave4Tab.Text        = "Wave 4";
        wave4Tab.BackColor   = Color.Black;
        wave4Tab.BorderStyle = BorderStyle.Fixed3D;
        wave4Tab.AutoScroll  = true;
        wave4Tab.HorizontalScroll.Visible     = false;
        wave4Tab.HorizontalScroll.LargeChange = wave4Tab.HorizontalScroll.Maximum;

        wave1 = new Wave(milkForm, wave1Tab, this, "0");
        wave2 = new Wave(milkForm, wave2Tab, this, "1");
        wave3 = new Wave(milkForm, wave3Tab, this, "2");
        wave4 = new Wave(milkForm, wave4Tab, this, "3");
    }
Exemple #3
0
    public static void Main()
    {
        // Setup MilkForm
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        MilkForm milkForm = new MilkForm();

        milkForm.DoubleBuffered = true;

        try
        {
            Application.Run(milkForm);
        }
        catch (Exception eX)
        {
            Console.WriteLine(eX.Message);
        }
    }
Exemple #4
0
    /////////////////////////////


    // Constructor
    // Parameters: Shape Tabs and Main Form
    public Shape(MilkForm m, TabPage t, ShapeTabs tC, string num, float x, float y)
    {
        tab        = t;
        mForm      = m;
        tabControl = tC;
        shapeNum   = num;

        perFrameNum = 1;

        // Create Settings
        settings = new Setting[20];

        // X Position Setting
        settings[0] = new Setting("x", x, 10);
        // Y Position Setting
        settings[1] = new Setting("y", y, 10);
        // Sides Setting
        settings[2] = new Setting("sides", 3, (float)0.25);
        // Size Setting
        settings[3] = new Setting("rad", (float)0.2, 10);
        // Angle Setting
        settings[4] = new Setting("ang", 0, (float)0.25);
        // Inner Red Setting
        settings[5] = new Setting("r", 0, 10);
        // Outer Red Setting
        settings[6] = new Setting("r2", 0, 10);
        // Inner Green Setting
        settings[7] = new Setting("g", 0, 10);
        // Outer Green Setting
        settings[8] = new Setting("g2", 0, 10);
        // Inner Blue Setting
        settings[9] = new Setting("b", 1, 10);
        // Outer Blue Setting
        settings[10] = new Setting("b2", 1, 10);
        // Border Red Setting
        settings[11] = new Setting("border_r", 0, 10);
        // Border Green Setting
        settings[12] = new Setting("border_g", 0, 10);
        // Border Blue Setting
        settings[13] = new Setting("border_b", 0, 10);
        // Border Opacity Setting
        settings[14] = new Setting("border_a", 0, 10);
        // Inner Opacity Setting
        settings[15] = new Setting("a", 0, 10);
        // Outer Opacity Setting
        settings[16] = new Setting("a2", 0, 10);
        // Border Thick Setting
        settings[17] = new Setting("thick", 0, 0);
        // Additive Setting
        settings[18] = new Setting("additive", 0, 0);
        // Textured Setting
        settings[19] = new Setting("textured", 0, 0);


        // Shape Font;
        Font shapeFont = new Font("Arial", 10, FontStyle.Bold);

        // Create Enable CheckBox
        enable                 = new CheckBox();
        enabled                = false;
        enable.Location        = new Point(10, 4);
        enable.Text            = "Enabled";
        enable.Parent          = tab;
        enable.Font            = shapeFont;
        enable.CheckedChanged += new EventHandler(enableChk);

        // Create SettingStrip For Various Settings
        ////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////
        //
        // X Position SettingStrip
        Separator sep0 = new Separator(new Point(0, 35), "tab", tab);

        xSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 55), "X Position", 0, 100, 50, 0);
        Separator sep1 = new Separator(new Point(0, 95), "tab", tab);

        // Y Position SettingStrip
        ySS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 115), "Y Position", 0, 100, 50, 1);
        Separator sep2 = new Separator(new Point(0, 155), "tab", tab);

        // Sides SettingStrip
        sidesSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 175), "Sides", 3, 40, 3, 2);
        Separator sep3 = new Separator(new Point(0, 215), "tab", tab);

        // Size SettingStrip
        sizeSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 235), "Size", 0, 100, 20, 3);
        Separator sep4 = new Separator(new Point(0, 275), "tab", tab);

        // Angle SettingStrip
        angleSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 295), "Angle", 0, 628, 0, 4);
        Separator sep5 = new Separator(new Point(0, 335), "tab", tab);

        // Inner Red SettingStrip
        iRedSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 355), "Inner Red", 0, 100, 0, 5);
        Separator sep6 = new Separator(new Point(0, 395), "tab", tab);

        // Outer Red SettingStrip
        oRedSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 415), "Outer Red", 0, 100, 0, 6);
        Separator sep7 = new Separator(new Point(0, 455), "tab", tab);

        // Inner Green SettingStrip
        iGreenSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 475), "Inner Green", 0, 100, 0, 7);
        Separator sep8 = new Separator(new Point(0, 515), "tab", tab);

        // Outer Green SettingStrip
        oGreenSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 535), "Outer Green", 0, 100, 0, 8);
        Separator sep9 = new Separator(new Point(0, 575), "tab", tab);

        // Inner Blue SettingStrip
        iBlueSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 595), "Inner Blue", 0, 100, 100, 9);
        Separator sep10 = new Separator(new Point(0, 635), "tab", tab);

        // Outer Blue SettingStrip
        oBlueSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 655), "Outer Blue", 0, 100, 100, 10);
        Separator sep11 = new Separator(new Point(0, 695), "tab", tab);

        // Border Red SettingStrip
        bRedSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 715), "Border Red", 0, 100, 0, 11);
        Separator sep12 = new Separator(new Point(0, 755), "tab", tab);

        // Border Green SettingStrip
        bGreenSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 775), "Border Green", 0, 100, 0, 12);
        Separator sep13 = new Separator(new Point(0, 815), "tab", tab);

        // Border Blue SettingStrip
        bBlueSS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 835), "Border Blue", 0, 100, 100, 13);
        Separator sep14 = new Separator(new Point(0, 875), "tab", tab);

        // Border Opacity SettingStrip
        bOpacitySS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 895), "Border Opacity", 0, 100, 0, 14);
        Separator sep15 = new Separator(new Point(0, 935), "tab", tab);

        // Inner Opacity SettingStrip
        iOpacitySS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 955), "Inner Opacity", 0, 100, 100, 15);
        Separator sep16 = new Separator(new Point(0, 995), "tab", tab);

        oOpacitySS = new SettingStrip(mForm, tab, 0, tC, null, this, null, new Point(100, 1015), "Outer Opacity", 0, 100, 100, 16);
    }
Exemple #5
0
    public ReactBox(MilkForm m, TabPage t, ShapeTabs sTabs, WaveTabs wTabs, Shape s, Wave w, int sIndx, string setL)
    {
        mForm        = m;
        tab          = t;
        shapeTabs    = sTabs;
        shape        = s;
        settingIndx  = sIndx;
        this.Visible = false;


        // Create Reaction Label Font
        Font rFont = new Font("Courier New", 15, FontStyle.Bold);

        // React Label
        Label rLabel = new Label();

        rLabel.Text     = setL + " Reaction";
        rLabel.Location = new Point(10, 10);
        rLabel.AutoSize = true;
        rLabel.Font     = rFont;
        this.Controls.Add(rLabel);


        // Quit Button
        Button quitButton = new Button();

        quitButton.Image      = new Bitmap("C:\\Users\\User\\Desktop\\Dev\\Milkdrop\\back.jpg");
        quitButton.ImageAlign = ContentAlignment.MiddleCenter;
        quitButton.UseVisualStyleBackColor = true;
        quitButton.Location  = new Point(265, 5);
        quitButton.Size      = new Size(17, 17);
        quitButton.FlatStyle = FlatStyle.Flat;
        quitButton.FlatAppearance.BorderSize = 0;
        quitButton.Click += quitClicked;
        this.Controls.Add(quitButton);


        // Reaction Selection
        rCmBx          = new ComboBox();
        rCmBx.Parent   = this;
        rCmBx.Location = new Point(110, 50);
        rCmBx.Items.Add("Increase");
        rCmBx.Items.Add("Decrease");
        rCmBx.Items.Add("Do Nothing");
        rCmBx.SelectedValue = "Do Nothing";


        // Bass Reaction RadioButton;
        bassRButton                 = new RadioButton();
        bassRButton.Location        = new Point(10, 95);
        bassRButton.Text            = "Bass Reactive";
        bassRButton.CheckedChanged += new System.EventHandler(this.reactionChecked);
        this.Controls.Add(bassRButton);

        // Mid Reaction RadioButton;
        midRButton                 = new RadioButton();
        midRButton.Location        = new Point(10, 114);
        midRButton.Text            = "Mid Reactive";
        midRButton.CheckedChanged += new System.EventHandler(this.reactionChecked);
        this.Controls.Add(midRButton);

        // Treb Reaction RadioButton
        trebRButton                 = new RadioButton();
        trebRButton.Location        = new Point(10, 133);
        trebRButton.Text            = "Treb Reactive";
        trebRButton.CheckedChanged += new System.EventHandler(this.reactionChecked);
        this.Controls.Add(trebRButton);

        // Oscillation Reaction RadioButton
        oscRButton                 = new RadioButton();
        oscRButton.Location        = new Point(10, 152);
        oscRButton.Text            = "Oscillation";
        oscRButton.CheckedChanged += new System.EventHandler(this.reactionChecked);
        this.Controls.Add(oscRButton);

        // Beat Detection RadioButton
        beatRButton                 = new RadioButton();
        beatRButton.Location        = new Point(10, 171);
        beatRButton.Text            = "Beat Detection";
        beatRButton.CheckedChanged += new System.EventHandler(this.reactionChecked);
        this.Controls.Add(beatRButton);


        // Reaction Intensity TrackBar
        intensity               = new TrackBar();
        intensity.Orientation   = Orientation.Horizontal;
        intensity.Location      = new Point(120, 130);
        intensity.Size          = new Size(100, 10);
        intensity.TickStyle     = TickStyle.None;
        intensity.BackColor     = Color.Black;
        intensity.Padding       = new Padding(2, 2, 2, 2);
        intensity.Margin        = new Padding(0, 5, 0, 5);
        intensity.TickFrequency = 10;
        intensity.Maximum       = 0;
        intensity.Minimum       = -30;
        intensity.Value         = -10;
        intensity.ValueChanged += new EventHandler(intensityChanged);
        this.Controls.Add(intensity);


        // Separator Bevel Line
        Label sepLine = new Label();

        sepLine.Location    = new Point(0, 90);
        sepLine.AutoSize    = false;
        sepLine.Height      = 2;
        sepLine.Width       = 300;
        sepLine.BorderStyle = BorderStyle.Fixed3D;
        this.Controls.Add(sepLine);


        // Intensity Label
        Label intensityL = new Label();

        intensityL.Text     = "INTENSITY";
        intensityL.Location = new Point(130, 110);
        this.Controls.Add(intensityL);


        // React Button
        Button reactButton = new Button();

        reactButton.Text     = "REACT";
        reactButton.Location = new Point(230, 165);
        reactButton.Size     = new Size(60, 24);
        reactButton.Click   += reactClicked;
        reactButton.BringToFront();
        this.Controls.Add(reactButton);


        // ReactBox Settings
        this.Size        = new Size(300, 200);
        this.Location    = new Point(6, 40);
        this.BackColor   = Color.Black;
        this.ForeColor   = Color.White;
        this.BorderStyle = BorderStyle.Fixed3D;
        this.Parent      = tab;
        this.BringToFront();
    }
Exemple #6
0
    //////////////////////////////////////


    // Constructor
    public Wave(MilkForm m, TabPage t, WaveTabs tC, string num)
    {
        tab        = t;
        mForm      = m;
        tabControl = tC;
        waveNum    = num;

        perFrameNum = 1;

        // Create Settings
        settings = new Setting[7];

        // X Position Setting
        settings[0] = new Setting("x", (float)0.5, 10);

        // Y Position Setting
        settings[1] = new Setting("y", (float)0.5, 10);

        // Red Setting
        settings[2] = new Setting("red", 1, 10);

        // Green Setting
        settings[3] = new Setting("green", 0, 10);

        // Blue Setting
        settings[4] = new Setting("blue", 0, 10);

        // Opacity Setting
        settings[5] = new Setting("opacity", 1, 10);

        // Sample Setting
        settings[6] = new Setting("samples", 256, 1);


        // Wave Font;
        Font waveFont = new Font("Arial", 10, FontStyle.Bold);

        // Create Enable CheckBox
        enable                 = new CheckBox();
        enabled                = false;
        enable.Location        = new Point(10, 4);
        enable.Text            = "Enabled";
        enable.Parent          = tab;
        enable.Font            = waveFont;
        enable.CheckedChanged += new EventHandler(enableChk);

        // Create SettingStrip For Various Settings

        // X Position SettingStrip
        Separator sep0 = new Separator(new Point(0, 35), "tab", tab);

        xSS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 55), "X Position", 0, 100, 50, 0);
        Separator sep1 = new Separator(new Point(0, 95), "tab", tab);

        // Y Position SettingStrip
        ySS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 115), "Y Position", 0, 100, 50, 1);
        Separator sep2 = new Separator(new Point(0, 155), "tab", tab);

        // Red SettingStrip
        redSS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 175), "Red", 0, 100, 100, 2);
        Separator sep3 = new Separator(new Point(0, 215), "tab", tab);

        // Green SettingStrip
        greenSS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 235), "Green", 0, 100, 0, 3);
        Separator sep4 = new Separator(new Point(0, 275), "tab", tab);

        // Blue SettingStrip
        blueSS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 295), "Blue", 0, 100, 0, 4);
        Separator sep5 = new Separator(new Point(0, 335), "tab", tab);

        // Opacity SettingStrip
        opacitySS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 355), "Opacity", 0, 100, 100, 5);
        Separator sep6 = new Separator(new Point(0, 395), "tab", tab);

        // Sample SettingStrip
        sampleSS = new SettingStrip(mForm, tab, 1, null, tC, null, this, new Point(100, 415), "Samples", 0, 512000, 256000, 6);
    }
Exemple #7
0
    // Constructor
    public SettingStrip(MilkForm m, TabPage t, int swT, ShapeTabs sTabs, WaveTabs wTabs, Shape s, Wave w, Point tL, string tt, int tMin, int tMax, int tVal, int indx)
    {
        mForm     = m;
        tab       = t;
        shape     = s;
        tBarTxt   = "   " + tt;
        shapeTabs = sTabs;
        waveTabs  = wTabs;
        shape     = s;
        wave      = w;
        stripIndx = indx;
        swType    = swT;

        Font tblFont = new Font("Arial", 8, FontStyle.Bold);

        // Initialize TrackBar
        tBar               = new TrackBar();
        tBar.Parent        = tab;
        tBar.Text          = tt;
        tBar.Orientation   = Orientation.Horizontal;
        tBar.Size          = new Size(84, 16);
        tBar.TickStyle     = TickStyle.None;
        tBar.BackColor     = Color.Black;
        tBar.ForeColor     = Color.Black;
        tBar.Padding       = new Padding(2, 2, 2, 2);
        tBar.Margin        = new Padding(0, 5, 0, 5);
        tBar.Left          = 1;
        tBar.TickFrequency = 10;
        tBar.Minimum       = tMin;
        tBar.Maximum       = tMax;
        tBar.Value         = tVal;
        tBar.ValueChanged += new EventHandler(tick);

        // Create TrackBar Setting Label
        tBarSetL          = new Label();
        tBarSetL.Text     = tBarTxt;
        tBarSetL.Location = new Point(tL.X - 105, tL.Y + 2);
        tBarSetL.Size     = new Size(100, 20);
        tBarSetL.Font     = tblFont;
        tBarSetL.Parent   = tab;

        // Create TrackBar Value Label
        tBarValL = new Label();
        if (tBarTxt.Contains("Sides"))
        {
            tBarValL.Text = tVal.ToString();
        }
        else
        {
            tBarValL.Text = ((float)tVal / (float)100.0).ToString();
        }
        tBarValL.Location    = new Point(tL.X + 103, tL.Y + 3);
        tBarValL.Parent      = tab;
        tBarValL.Size        = new Size(28, 17);
        tBarValL.BorderStyle = BorderStyle.Fixed3D;

        // Ceate UserControl
        uControl             = new UserControl();
        uControl.Size        = new Size(93, 27);
        uControl.BackColor   = Color.Black;
        uControl.Location    = new Point(tL.X + 5, tL.Y);
        uControl.Parent      = tab;
        uControl.BorderStyle = BorderStyle.Fixed3D;
        uControl.Controls.Add(tBar);

        // Set TrackBar Location Inside UserControl
        tBar.Location = new Point(3, 0);

        // Create Reaction Button
        react            = new Button();
        react.Image      = new Bitmap("C:\\Users\\User\\Desktop\\Dev\\Milkdrop\\react.jpg");
        react.ImageAlign = ContentAlignment.MiddleCenter;
        react.UseVisualStyleBackColor = true;
        react.Width     = 65;
        react.Height    = 12;
        react.Location  = new Point(tL.X + 139, tL.Y + 5);
        react.Parent    = tab;
        react.Font      = tblFont;
        react.TabStop   = false;
        react.FlatStyle = FlatStyle.Flat;
        react.FlatAppearance.BorderSize = 0;
        react.Click += reactClick;

        // Create Reaction Box
        rBox = new ReactBox(mForm, tab, sTabs, wTabs, shape, wave, stripIndx, tt);
    }
Exemple #8
0
    public GSettingBox(MilkForm m, GroupBox bb, int x, int y, string name, int min, int max, int val)
    {
        // Set Main Form
        mForm = m;

        // Create Setting Modification Button
        settingButton          = new Button();
        settingButton.Location = new Point(x, y);
        settingButton.Text     = name;
        settingButton.Parent   = bb;
        settingButton.Click   += showBox;

        // Create General Setting Modification Panel
        panel             = new Panel();
        panel.Size        = new Size(200, 70);
        panel.Location    = new Point(230, 17);
        panel.BackColor   = Color.White;
        panel.ForeColor   = Color.Black;
        panel.BorderStyle = BorderStyle.Fixed3D;
        panel.Parent      = mForm;
        panel.Visible     = false;
        panel.BringToFront();

        // Set Panel Font
        Font pFont = new Font("Arial", 10, FontStyle.Bold);

        // Add Setting Label To Panel
        settingLabel          = new Label();
        settingLabel.Text     = name;
        settingLabel.Font     = pFont;
        settingLabel.Location = new Point(18, 7);
        settingLabel.Parent   = panel;


        // Add TrackBar To Panel
        settingBar               = new TrackBar();
        settingBar.Orientation   = Orientation.Horizontal;
        settingBar.Size          = new Size(147, 16);
        settingBar.Location      = new Point(14, 40);
        settingBar.TickStyle     = TickStyle.None;
        settingBar.BackColor     = Color.White;
        settingBar.ForeColor     = Color.Black;
        settingBar.TickFrequency = 10;
        settingBar.Minimum       = min;
        settingBar.Maximum       = max;
        settingBar.Value         = val;
        settingBar.Parent        = panel;
        settingBar.ValueChanged += new EventHandler(settingChange);


        // Add Value TextBox
        valueLabel          = new Label();
        valueLabel.Location = new Point(160, 40);
        valueLabel.Text     = ((float)val / (float)100).ToString();
        valueLabel.Font     = pFont;
        valueLabel.Parent   = panel;


        // Add React Button



        // Add Quit Button
        Button quitButton = new Button();

        quitButton.Location   = new Point(178, 6);
        quitButton.Size       = new Size(16, 16);
        quitButton.Image      = new Bitmap("C:\\Users\\User\\Desktop\\Dev\\Milkdrop\\close2.jpg");
        quitButton.ImageAlign = ContentAlignment.MiddleCenter;
        quitButton.UseVisualStyleBackColor   = true;
        quitButton.FlatAppearance.BorderSize = 0;
        quitButton.Parent = panel;
        quitButton.Click += exitPanel;


        // Modify GSettingBox For "Warp" Setting
        if (settingButton.Text.Contains("warp"))
        {
            // Reset Panel Size
            panel.Size = new Size(330, 170);
            // Reset Main TrackBar Values
            settingBar.Orientation = Orientation.Vertical;
            settingBar.Height      = 100;
            settingBar.Width       = 5;
            settingBar.Location    = new Point(25, 25);
            settingBar.BringToFront();
            // Relocate Main Setting Label
            settingLabel.Size = new Size(50, 25);
            // Relocate Main Value Label
            valueLabel.Location = new Point(23, 135);
            valueLabel.Size     = new Size(28, 25);
            // Relocate Quit Button
            quitButton.Location = new Point(306, 6);

            // Create Warp X Label
            Label warpXLabel = new Label();
            warpXLabel.Location = new Point(93, 8);
            warpXLabel.Text     = "X";
            warpXLabel.Size     = new Size(19, 25);
            warpXLabel.Parent   = panel;

            // Create Warp X TrackBar
            warpXTB               = new TrackBar();
            warpXTB.Location      = new Point(91, 25);
            warpXTB.Height        = 100;
            warpXTB.Orientation   = Orientation.Vertical;
            warpXTB.TickStyle     = TickStyle.None;
            warpXTB.TickFrequency = 10;
            warpXTB.Minimum       = 0;
            warpXTB.Maximum       = 100;
            warpXTB.Value         = 50;
            warpXTB.ValueChanged += new EventHandler(xChanged);
            warpXTB.Parent        = panel;

            // Create Warp X Value Label
            warpXValL          = new Label();
            warpXValL.Location = new Point(90, 135);
            warpXValL.Size     = new Size(25, 25);
            warpXValL.Text     = "0.5";
            warpXValL.Parent   = panel;

            // Create Warp Y Position Label
            Label warpYLabel = new Label();
            warpYLabel.Location = new Point(148, 8);
            warpYLabel.Text     = "Y";
            warpYLabel.Size     = new Size(19, 25);
            warpYLabel.Parent   = panel;

            // Create Warp Y TrackBar
            warpYTB               = new TrackBar();
            warpYTB.Location      = new Point(146, 25);
            warpYTB.Height        = 100;
            warpYTB.Orientation   = Orientation.Vertical;
            warpYTB.TickStyle     = TickStyle.None;
            warpYTB.TickFrequency = 10;
            warpYTB.Minimum       = 0;
            warpYTB.Maximum       = 100;
            warpYTB.Value         = 50;
            warpYTB.ValueChanged += new EventHandler(yChanged);
            warpYTB.Parent        = panel;

            // Create Warp Y Value Label
            warpYValL          = new Label();
            warpYValL.Location = new Point(146, 135);
            warpYValL.Size     = new Size(25, 25);
            warpYValL.Text     = "0.5";
            warpYValL.Parent   = panel;

            // Create Warp Speed Label
            Label warpSpeedLabel = new Label();
            warpSpeedLabel.Location = new Point(193, 8);
            warpSpeedLabel.Text     = "Speed";
            warpSpeedLabel.Size     = new Size(40, 25);
            warpSpeedLabel.Parent   = panel;

            // Create Warp Speed TrackBar
            warpSpeedTB               = new TrackBar();
            warpSpeedTB.Location      = new Point(201, 25);
            warpSpeedTB.Height        = 100;
            warpSpeedTB.Orientation   = Orientation.Vertical;
            warpSpeedTB.TickStyle     = TickStyle.None;
            warpSpeedTB.TickFrequency = 10;
            warpSpeedTB.Minimum       = 0;
            warpSpeedTB.Maximum       = 200;
            warpSpeedTB.Value         = 100;
            warpSpeedTB.ValueChanged += new EventHandler(speedChanged);
            warpSpeedTB.Parent        = panel;

            // Create Warp Speed Value Label
            warpSpeedValL          = new Label();
            warpSpeedValL.Location = new Point(200, 135);
            warpSpeedValL.Size     = new Size(25, 25);
            warpSpeedValL.Text     = ("1.0");
            warpSpeedValL.Parent   = panel;

            // Create Warp Scale Label
            Label warpScaleLabel = new Label();
            warpScaleLabel.Location = new Point(250, 8);
            warpScaleLabel.Text     = "Scale";
            warpScaleLabel.Size     = new Size(40, 25);
            warpScaleLabel.Parent   = panel;

            // Create Warp Scale TrackBar
            warpScaleTB               = new TrackBar();
            warpScaleTB.Location      = new Point(255, 25);
            warpScaleTB.Height        = 100;
            warpScaleTB.Orientation   = Orientation.Vertical;
            warpScaleTB.TickStyle     = TickStyle.None;
            warpScaleTB.TickFrequency = 10;
            warpScaleTB.Minimum       = 0;
            warpScaleTB.Maximum       = 200;
            warpScaleTB.Value         = 100;
            warpScaleTB.ValueChanged += new EventHandler(scaleChanged);
            warpScaleTB.Parent        = panel;

            // Create Warp Scale Value Label
            warpScaleValL          = new Label();
            warpScaleValL.Location = new Point(254, 135);
            warpScaleValL.Size     = new Size(25, 25);
            warpScaleValL.Text     = "1.0";
            warpScaleValL.Parent   = panel;
        }

        // Modify GSettingBox For "Motion" Setting
        if (settingButton.Text.Contains("motion"))
        {
            // Resize Main Panel
            panel.Size = new Size(220, 170);
            // Hide Old Setting Label
            settingLabel.Visible = false;
            valueLabel.Visible   = false;
            // Relocate Quit Button
            quitButton.Location = new Point(196, 6);

            // Create New Motion X Label
            Label mXL = new Label();
            mXL.Location = new Point(15, 13);
            mXL.Text     = "Motion X";
            mXL.Size     = new Size(55, 25);
            mXL.Parent   = panel;

            // Modify Motion X TrackBar
            settingBar.Orientation   = Orientation.Vertical;
            settingBar.Location      = new Point(24, 30);
            settingBar.Height        = 100;
            settingBar.Width         = 5;
            settingBar.ValueChanged += new EventHandler(mXChanged);

            // Create Motion X Value Label
            mXValL          = new Label();
            mXValL.Location = new Point(23, 135);
            mXValL.Text     = "0.0";
            mXValL.Size     = new Size(25, 25);
            mXValL.Parent   = panel;

            // Create New Motion Y Label
            Label mYL = new Label();
            mYL.Location = new Point(101, 13);
            mYL.Text     = "Motion Y";
            mYL.Size     = new Size(55, 25);
            mYL.Parent   = panel;

            // Create Motion Y TrackBar
            mYTB               = new TrackBar();
            mYTB.Location      = new Point(109, 35);
            mYTB.Height        = 100;
            mYTB.Orientation   = Orientation.Vertical;
            mYTB.TickStyle     = TickStyle.None;
            mYTB.TickFrequency = 10;
            mYTB.Minimum       = 0;
            mYTB.Maximum       = 200;
            mYTB.Value         = 100;
            mYTB.ValueChanged += new EventHandler(mYChanged);
            mYTB.Parent        = panel;

            // Create Motion Y Value Label
            mYValL          = new Label();
            mYValL.Location = new Point(108, 135);
            mYValL.Text     = "0.0";
            mYValL.Size     = new Size(25, 25);
            mYValL.Parent   = panel;
        }


        // Modify GSettingBox For "Stretch" Settingz
        if (settingButton.Text.Contains("stretch"))
        {
            // Resize Main Panel
            panel.Size = new Size(220, 170);
            // Hide Old Setting Label
            settingLabel.Visible = false;
            valueLabel.Visible   = false;
            // Relocate Quit Button
            quitButton.Location = new Point(196, 6);

            // Create New Stretch X Label
            Label sXL = new Label();
            sXL.Location = new Point(15, 13);
            sXL.Text     = "stretch X";
            sXL.Size     = new Size(55, 25);
            sXL.Parent   = panel;

            // Modify Stretch X TrackBar
            settingBar.Orientation   = Orientation.Vertical;
            settingBar.Location      = new Point(24, 30);
            settingBar.Height        = 100;
            settingBar.Width         = 5;
            settingBar.ValueChanged += new EventHandler(sXChanged);

            // Create Stretch X Value Label
            sXValL          = new Label();
            sXValL.Location = new Point(23, 135);
            sXValL.Text     = "1.0";
            sXValL.Size     = new Size(25, 25);
            sXValL.Parent   = panel;

            // Create New Stretch Y Label
            Label sYL = new Label();
            sYL.Location = new Point(101, 13);
            sYL.Text     = "stretch Y";
            sYL.Size     = new Size(55, 25);
            sYL.Parent   = panel;

            // Create Motion Y TrackBar
            sYTB               = new TrackBar();
            sYTB.Location      = new Point(109, 35);
            sYTB.Height        = 100;
            sYTB.Orientation   = Orientation.Vertical;
            sYTB.TickStyle     = TickStyle.None;
            sYTB.TickFrequency = 10;
            sYTB.Minimum       = 0;
            sYTB.Maximum       = 200;
            sYTB.Value         = 100;
            sYTB.ValueChanged += new EventHandler(sYChanged);
            sYTB.Parent        = panel;

            // Create Motion Y Value Label
            sYValL          = new Label();
            sYValL.Location = new Point(108, 135);
            sYValL.Text     = "1.0";
            sYValL.Size     = new Size(25, 25);
            sYValL.Parent   = panel;
        }


        //##################################################################################

        // Modify GSettingBox For "Wave" Setting
        if (settingButton.Text.Contains("wave"))
        {
            // Reset Panel Size
            panel.Size = new Size(423, 325);
            // Reset Main TrackBar Values
            settingBar.Orientation = Orientation.Vertical;
            settingBar.Height      = 100;
            settingBar.Width       = 5;
            settingBar.Minimum     = 0;
            settingBar.Maximum     = 7;
            settingBar.Value       = 0;
            settingBar.Location    = new Point(25, 25);
            settingBar.BringToFront();
            settingBar.ValueChanged += new EventHandler(modeWaveChanged);
            // Relocate Main Setting Label
            settingLabel.Size = new Size(50, 25);
            settingLabel.Text = "Mode";
            // Relocate Main Value Label
            valueLabel.Location = new Point(25, 135);
            valueLabel.Size     = new Size(28, 25);
            // Relocate Quit Button
            quitButton.Location = new Point(400, 6);

            // Create Wave X Label
            Label waveXLabel = new Label();
            waveXLabel.Location = new Point(93, 8);
            waveXLabel.Text     = "X";
            waveXLabel.Size     = new Size(19, 25);
            waveXLabel.Parent   = panel;

            // Create Wave X TrackBar
            waveXTB               = new TrackBar();
            waveXTB.Location      = new Point(91, 25);
            waveXTB.Height        = 100;
            waveXTB.Orientation   = Orientation.Vertical;
            waveXTB.TickStyle     = TickStyle.None;
            waveXTB.TickFrequency = 10;
            waveXTB.Minimum       = 0;
            waveXTB.Maximum       = 100;
            waveXTB.Value         = 50;
            waveXTB.ValueChanged += new EventHandler(xWaveChanged);
            waveXTB.Parent        = panel;

            // Create Wave X Value Label
            waveXValL          = new Label();
            waveXValL.Location = new Point(90, 135);
            waveXValL.Size     = new Size(25, 25);
            waveXValL.Text     = "0.5";
            waveXValL.Parent   = panel;

            // Create Wave Y Position Label
            Label waveYLabel = new Label();
            waveYLabel.Location = new Point(148, 8);
            waveYLabel.Text     = "Y";
            waveYLabel.Size     = new Size(19, 25);
            waveYLabel.Parent   = panel;

            // Create Wave Y TrackBar
            waveYTB               = new TrackBar();
            waveYTB.Location      = new Point(146, 25);
            waveYTB.Height        = 100;
            waveYTB.Orientation   = Orientation.Vertical;
            waveYTB.TickStyle     = TickStyle.None;
            waveYTB.TickFrequency = 10;
            waveYTB.Minimum       = 0;
            waveYTB.Maximum       = 100;
            waveYTB.Value         = 50;
            waveYTB.ValueChanged += new EventHandler(yWaveChanged);
            waveYTB.Parent        = panel;

            // Create Wave Y Value Label
            waveYValL          = new Label();
            waveYValL.Location = new Point(146, 135);
            waveYValL.Size     = new Size(25, 25);
            waveYValL.Text     = "0.5";
            waveYValL.Parent   = panel;

            // Create Wave Speed Label
            Label waveSpeedLabel = new Label();
            waveSpeedLabel.Location = new Point(193, 8);
            waveSpeedLabel.Text     = "Speed";
            waveSpeedLabel.Size     = new Size(40, 25);
            waveSpeedLabel.Parent   = panel;

            // Create Wave Speed TrackBar
            waveSpeedTB               = new TrackBar();
            waveSpeedTB.Location      = new Point(201, 25);
            waveSpeedTB.Height        = 100;
            waveSpeedTB.Orientation   = Orientation.Vertical;
            waveSpeedTB.TickStyle     = TickStyle.None;
            waveSpeedTB.TickFrequency = 10;
            waveSpeedTB.Minimum       = 0;
            waveSpeedTB.Maximum       = 200;
            waveSpeedTB.Value         = 100;
            waveSpeedTB.ValueChanged += new EventHandler(speedWaveChanged);
            waveSpeedTB.Parent        = panel;

            // Create Wave Speed Value Label
            waveSpeedValL          = new Label();
            waveSpeedValL.Location = new Point(200, 135);
            waveSpeedValL.Size     = new Size(25, 25);
            waveSpeedValL.Text     = ("1.0");
            waveSpeedValL.Parent   = panel;

            // Create Wave Scale Label
            Label waveScaleLabel = new Label();
            waveScaleLabel.Location = new Point(250, 8);
            waveScaleLabel.Text     = "Scale";
            waveScaleLabel.Size     = new Size(40, 25);
            waveScaleLabel.Parent   = panel;

            // Create Wave Scale TrackBar
            waveScaleTB               = new TrackBar();
            waveScaleTB.Location      = new Point(255, 25);
            waveScaleTB.Height        = 100;
            waveScaleTB.Orientation   = Orientation.Vertical;
            waveScaleTB.TickStyle     = TickStyle.None;
            waveScaleTB.TickFrequency = 10;
            waveScaleTB.Minimum       = 0;
            waveScaleTB.Maximum       = 200;
            waveScaleTB.Value         = 100;
            waveScaleTB.ValueChanged += new EventHandler(scaleWaveChanged);
            waveScaleTB.Parent        = panel;

            // Create Wave Scale Value Label
            waveScaleValL          = new Label();
            waveScaleValL.Location = new Point(254, 135);
            waveScaleValL.Size     = new Size(25, 25);
            waveScaleValL.Text     = "1.0";
            waveScaleValL.Parent   = panel;

            // Create Wave Red Label
            Label waveRL = new Label();
            waveRL.Location = new Point(297, 8);
            waveRL.Text     = "Red";
            waveRL.Size     = new Size(40, 25);
            waveRL.Parent   = panel;

            // Create Wave Red TrackBar;
            waveRTB               = new TrackBar();
            waveRTB.Location      = new Point(305, 25);
            waveRTB.Height        = 100;
            waveRTB.Orientation   = Orientation.Vertical;
            waveRTB.TickStyle     = TickStyle.None;
            waveRTB.TickFrequency = 10;
            waveRTB.Minimum       = 0;
            waveRTB.Maximum       = 100;
            waveRTB.Value         = 0;
            waveRTB.ValueChanged += new EventHandler(waveRChanged);
            waveRTB.Parent        = panel;

            // Create Wave Red Value Label
            waveRValL          = new Label();
            waveRValL.Location = new Point(304, 135);
            waveRValL.Size     = new Size(25, 25);
            waveRValL.Text     = "0.0";
            waveRValL.Parent   = panel;

            // Create Wave Green Label
            Label waveGL = new Label();
            waveGL.Location = new Point(348, 8);
            waveGL.Text     = "Green";
            waveGL.Size     = new Size(45, 25);
            waveGL.Parent   = panel;

            // Create Wave Green TrackBar
            waveGTB               = new TrackBar();
            waveGTB.Location      = new Point(360, 25);
            waveGTB.Height        = 100;
            waveGTB.Orientation   = Orientation.Vertical;
            waveGTB.TickStyle     = TickStyle.None;
            waveGTB.Minimum       = 0;
            waveGTB.Maximum       = 100;
            waveGTB.Value         = 100;
            waveGTB.ValueChanged += new EventHandler(waveGChanged);
            waveGTB.Parent        = panel;

            // Create Wave Green Value Label
            waveGValL          = new Label();
            waveGValL.Location = new Point(357, 135);
            waveGValL.Size     = new Size(25, 25);
            waveGValL.Text     = "1.0";
            waveGValL.Parent   = panel;

            // Create Wave Blue Label
            Label waveBL = new Label();
            waveBL.Location = new Point(23, 165);
            waveBL.Text     = "Blue";
            waveBL.Size     = new Size(45, 25);
            waveBL.Parent   = panel;

            // Create Wave Blue TrackBar
            waveBTB               = new TrackBar();
            waveBTB.Location      = new Point(25, 182);
            waveBTB.Height        = 100;
            waveBTB.Orientation   = Orientation.Vertical;
            waveBTB.TickStyle     = TickStyle.None;
            waveBTB.Minimum       = 0;
            waveBTB.Maximum       = 100;
            waveBTB.Value         = 100;
            waveBTB.ValueChanged += new EventHandler(waveBChanged);
            waveBTB.Parent        = panel;

            // Create Wave Blue Value Label
            waveBValL          = new Label();
            waveBValL.Location = new Point(25, 287);
            waveBValL.Text     = "0.0";
            waveBValL.Size     = new Size(25, 25);
            waveBValL.Parent   = panel;

            // Create Wave Smoothing Label
            Label waveSmoothL = new Label();
            waveSmoothL.Location = new Point(78, 165);
            waveSmoothL.Text     = "Smooth";
            waveSmoothL.Size     = new Size(45, 25);
            waveSmoothL.Parent   = panel;

            // Create Wave Smoothing TrackBar
            waveSmoothTB               = new TrackBar();
            waveSmoothTB.Location      = new Point(87, 182);
            waveSmoothTB.Height        = 100;
            waveSmoothTB.Orientation   = Orientation.Vertical;
            waveSmoothTB.TickStyle     = TickStyle.None;
            waveSmoothTB.Minimum       = 0;
            waveSmoothTB.Maximum       = 100;
            waveSmoothTB.Value         = 100;
            waveSmoothTB.ValueChanged += new EventHandler(waveSmoothChanged);
            waveSmoothTB.Parent        = panel;

            // Create Wave Smoothing Value Label
            waveSmoothValL          = new Label();
            waveSmoothValL.Location = new Point(87, 287);
            waveSmoothValL.Text     = "0.0";
            waveSmoothValL.Size     = new Size(25, 25);
            waveSmoothValL.Parent   = panel;

            // Create WaveAlphaStart Label
            Label waveStartL = new Label();
            waveStartL.Location = new Point(145, 165);
            waveStartL.Text     = "Start";
            waveStartL.Size     = new Size(45, 25);
            waveStartL.Parent   = panel;

            // Create WaveAlphaStart TrackBar
            waveStartTB               = new TrackBar();
            waveStartTB.Location      = new Point(150, 182);
            waveStartTB.Height        = 100;
            waveStartTB.Orientation   = Orientation.Vertical;
            waveStartTB.TickStyle     = TickStyle.None;
            waveStartTB.Minimum       = 0;
            waveStartTB.Maximum       = 100;
            waveStartTB.Value         = 0;
            waveStartTB.ValueChanged += new EventHandler(waveStartChanged);
            waveStartTB.Parent        = panel;

            // Create WaveAlphaStart Value Label
            waveStartValL          = new Label();
            waveStartValL.Location = new Point(150, 287);
            waveStartValL.Text     = "0.0";
            waveStartValL.Size     = new Size(25, 25);
            waveStartValL.Parent   = panel;

            // Create WaveAlphaEnd Label
            Label waveEndL = new Label();
            waveEndL.Location = new Point(198, 165);
            waveEndL.Text     = "End";
            waveEndL.Size     = new Size(35, 25);
            waveEndL.Parent   = panel;

            // Create WaveAlphaEnd TrackBar
            waveEndTB               = new TrackBar();
            waveEndTB.Location      = new Point(200, 182);
            waveEndTB.Height        = 100;
            waveEndTB.Orientation   = Orientation.Vertical;
            waveEndTB.TickStyle     = TickStyle.None;
            waveEndTB.Minimum       = 0;
            waveEndTB.Maximum       = 100;
            waveEndTB.Value         = 0;
            waveEndTB.ValueChanged += new EventHandler(waveEndChanged);
            waveEndTB.Parent        = panel;

            // Create WaveAlphaEnd Value Label
            waveEndValL          = new Label();
            waveEndValL.Location = new Point(200, 287);
            waveEndValL.Text     = "0.0";
            waveEndValL.Size     = new Size(25, 25);
            waveEndValL.Parent   = panel;

            // Create Wave Parameter Label
            Label waveParamL = new Label();
            waveParamL.Location = new Point(247, 165);
            waveParamL.Text     = "Param";
            waveParamL.Size     = new Size(35, 25);
            waveParamL.Parent   = panel;

            // Create Wave Parameter TrackBar
            waveParamTB               = new TrackBar();
            waveParamTB.Location      = new Point(250, 182);
            waveParamTB.Height        = 100;
            waveParamTB.Orientation   = Orientation.Vertical;
            waveParamTB.TickStyle     = TickStyle.None;
            waveParamTB.Minimum       = 0;
            waveParamTB.Maximum       = 100;
            waveParamTB.Value         = 0;
            waveParamTB.ValueChanged += new EventHandler(waveParamChanged);
            waveParamTB.Parent        = panel;

            // Create Wave Parameter Value Label
            waveParamValL          = new Label();
            waveParamValL.Location = new Point(250, 287);
            waveParamValL.Text     = "0.0";
            waveParamValL.Size     = new Size(25, 25);
            waveParamValL.Parent   = panel;
        }

        //##################################################################
    }