示例#1
0
        void Timer_Tick(object sender, EventArgs e)
        {
            this.Topmost = cfg.TomMost;
            switch (AudioDevice.IsWorking())
            {
            case true:
                if (j.isUpdateFile())
                {
                    if (windNotify.IsActive)
                    {
                        return;
                    }
                    //Debug.WriteLine("Обновление настроек...");
                    Thread.Sleep(100);
                    j.OpenJson();
                    cfg = j.Config;
                    Setting();
                }
                if (audio.GetStatus == false)
                {
                    ControlsLib.IsMinAll = true;
                }

                audio.StartRecording();
                double inc = ControlsLib.MinAllDouble();

                for (int i = 0; i < ControlsLib.Count(); i++)
                {
                    double size_h      = audio.list_array[i];
                    double last_size_h = ControlsLib.GetElementByID(i).SizeHeight;
                    double len_double  = last_size_h;

                    size_h = size_h > 5 ? this.Height - size_h  : 5;


                    if (size_h > last_size_h)
                    {
                        switch (cfg.isSmoothness)
                        {
                        case true:
                            len_double += size_h * cfg.SmoothnessLine;
                            break;

                        case false:
                            len_double = size_h;
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        len_double -= cfg.Increment;
                    }
                    ControlsLib.GetElementByID(i).SizeHeight = len_double - inc * 0.98;
                }

                ControlsLib.SmoothHistogram(ControlsLib.Lines);

                break;

            case false:
                #region Не трогай блять Оно и так зАибись робит!
                int Csi = ControlsLib.Count() * 5;
                int si  = 0;
                if (ControlsLib.IsMinAll)
                {
                    for (int i = 0; i < ControlsLib.Count(); i++)
                    {
                        double d = ControlsLib.GetElementByID(i).SizeHeight -= cfg.Increment;

                        si += d < 5? 5 : (int)d;
                    }
                    if (Csi == si)
                    {
                        ControlsLib.IsMinAll = false;
                    }
                }
                else
                {
                    audio.StopRecording();
                }
                #endregion
                break;

            default:
                break;
            }
        }