public TestControl()
        {
            locationChart = new Point[8];

            locationChart[0] = new Point(Screen.PrimaryScreen.WorkingArea.X + 10, Screen.PrimaryScreen.WorkingArea.Y + 10);
            // yourvoice_wave = new WaveViewerForm();
            refvoice_wave = new WaveViewerForm();

            yourvoice_freq   = new MfccChartForm();
            refvoice_freq    = new MfccChartForm();
            locationChart[1] = new Point(locationChart[0].X + yourvoice_freq.Width + 10, locationChart[0].Y);

            locationChart[2] = new Point(locationChart[0].X, locationChart[0].Y + yourvoice_freq.Height + 10);
            locationChart[3] = new Point(locationChart[0].X + yourvoice_freq.Width + 10, locationChart[0].Y + yourvoice_freq.Height + 10);

            yourvoice_mfcc = new MfccChartForm();
            refvoice_mfcc  = new MfccChartForm();

            locationChart[4] = new Point(locationChart[0].X, locationChart[0].Y + 2 * yourvoice_freq.Height + 20);
            locationChart[5] = new Point(locationChart[0].X + yourvoice_freq.Width + 10, locationChart[0].Y + 2 * yourvoice_freq.Height + 20);

            yourvoice_detal  = new MfccChartForm();
            refvoice_detal   = new MfccChartForm();
            locationChart[6] = new Point(locationChart[0].X, locationChart[0].Y + 2 * yourvoice_freq.Height + 20);
            locationChart[7] = new Point(locationChart[0].X + yourvoice_freq.Width + 10, locationChart[0].Y + 2 * yourvoice_freq.Height + 20);
            yourvoice_double = new MfccChartForm();
            refvoice_double  = new MfccChartForm();

            InitializeComponent();
            selectShowChart.ShowChartYourWave   += DisplayYourWaveChart;
            selectShowChart.ShowChartYourFreq   += DisplayYourFreqChart;
            selectShowChart.ShowChartYourMfcc   += DisplayYourMfccChart;
            selectShowChart.ShowChartYourDetal  += DisplayYourDetalChart;
            selectShowChart.ShowChartYourDouble += DisplayYourDoubleChart;

            selectShowChart.ShowChartRefWave   += DisplayRefWaveChart;
            selectShowChart.ShowChartRefFreq   += DisplayRefFreqChart;
            selectShowChart.ShowChartRefMfcc   += DisplayRefMfccChart;
            selectShowChart.ShowChartRefDetal  += DisplayRefDetalChart;
            selectShowChart.ShowChartRefDouble += DisplayRefDoubleChart;
            mfcc_setting = new MfccOptions();
        }
 private void SetDataRefDetalChart()
 {
     if (refvoice_detal.IsDisposed)
     {
         refvoice_detal = new MfccChartForm();
         if (refmfcc != null && refmfcc.IsProcessed == (int)State.SUCCESSED)
         {
             refvoice_detal.Title = "Ref File: " + Path.GetFileName(refNameFile);
             refvoice_detal.Data  = refmfcc.DetalMfccFrame;
         }
         refvoice_detal.Text = "Detal MFCC Chart";
     }
     if (changed_reffile)
     {
         if (refvoice_freq != null && refmfcc.ProcessDone)
         {
             refvoice_detal.Title = "Ref File: " + Path.GetFileName(refNameFile);
             //refvoice_detal.Data = refmfcc.DetalMfccFrame;
         }
         refvoice_detal.Text = "Detal MFCC Chart";
     }
 }
 private void SetDataRefMfccChart()
 {
     if (refvoice_mfcc.IsDisposed)
     {
         refvoice_mfcc = new MfccChartForm();
         if (refmfcc != null)
         {
             refvoice_mfcc.Title = "Ref File: " + Path.GetFileName(refNameFile);
             //refvoice_mfcc.Data = refmfcc.MfccFrame;
         }
         refvoice_mfcc.Text = "MFCC Chart";
     }
     if (changed_reffile)
     {
         if (refvoice_mfcc != null && refmfcc.ProcessDone)
         {
             refvoice_mfcc.Title = "Ref File: " + Path.GetFileName(refNameFile);
             //refvoice_mfcc.Data = refmfcc.MfccFrame;
         }
         refvoice_mfcc.Text = "MFCC Chart";
     }
 }
        private void SetDataRefDoubleChart()
        {
            if (refvoice_double.IsDisposed)
            {
                refvoice_double = new MfccChartForm();
                if (refmfcc != null && refmfcc.ProcessDone)
                {
                    refvoice_double.Title = "Ref File: " + Path.GetFileName(refNameFile);
                    //refvoice_double.Data = refmfcc.DoubleDetalMfccFrame;
                }
                refvoice_double.Text = "Detal MFCC Chart";
            }

            if (changed_reffile)
            {
                if (refvoice_double != null && refmfcc.ProcessDone)
                {
                    refvoice_double.Title = "Ref File: " + Path.GetFileName(refNameFile);
                    //refvoice_double.Data = refmfcc.DoubleDetalMfccFrame;
                }
                refvoice_detal.Text = "Detal MFCC Chart";
            }
        }
        private void SetDataRefFreqChart()
        {
            if (refvoice_freq.IsDisposed)
            {
                refvoice_freq       = new MfccChartForm();
                refvoice_freq.Title = "Your File: " + Path.GetFileName(yourNameFile);

                if (refmfcc != null && refmfcc.ProcessDone)
                {
                    //refvoice_freq.Data = refmfcc.FreqFrame;
                }
                refvoice_freq.Text = "Freq Chart";
            }
            if (changed_reffile)
            {
                if (refvoice_freq != null && refmfcc.ProcessDone)
                {
                    refvoice_freq.Title = "Ref File: " + Path.GetFileName(refNameFile);
                    //refvoice_freq.Data = refmfcc.FreqFrame;
                }
                refvoice_freq.Text = "Freq Chart";
            }
        }
 private void SetDataYourDoubleChart()
 {
     if (yourvoice_double.IsDisposed)
     {
         yourvoice_double = new MfccChartForm();
         yourvoice_double.Hide();
         yourvoice_double.Title = "Your File: " + Path.GetFileName(yourNameFile);
         if (yourmfcc != null && yourmfcc.IsProcessed == (int)State.SUCCESSED)
         {
             yourvoice_double.Data = yourmfcc.DoubleDetalMfccFrame;
         }
         yourvoice_double.Text = "Detal MFCC Chart";
     }
     if (changed_yourfile)
     {
         yourvoice_double.Title = "Your File: " + Path.GetFileName(yourNameFile);
         if (yourmfcc != null && yourmfcc.IsProcessed == (int)State.SUCCESSED)
         {
             yourvoice_double.Data = yourmfcc.DoubleDetalMfccFrame;
         }
         yourvoice_double.Text = "Detal MFCC Chart";
     }
 }
 private void SetDataYourFreqChart()
 {
     if (yourvoice_freq.IsDisposed)
     {
         yourvoice_freq = new MfccChartForm();
         yourvoice_freq.Hide();
         yourvoice_freq.Title = "Your File: " + Path.GetFileName(yourNameFile);
         if (yourmfcc != null && yourmfcc.IsProcessed == (int)State.SUCCESSED)
         {
             yourvoice_freq.Data = yourmfcc.FreqFrame;
         }
         yourvoice_freq.Text = "Freq Chart";
     }
     if (changed_yourfile)
     {
         yourvoice_freq.Title = "Your File: " + Path.GetFileName(yourNameFile);
         if (yourmfcc != null && yourmfcc.IsProcessed == (int)State.SUCCESSED)
         {
             yourvoice_freq.Data = yourmfcc.FreqFrame;
         }
         yourvoice_freq.Text = "Freq Chart";
     }
 }