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; } }