diff --git a/MainForm.pas b/MainForm.pas index 8dc854a..36ec917 100644 --- a/MainForm.pas +++ b/MainForm.pas @@ -884,6 +884,7 @@ begin FDSPEngine.SetAGCTop(FAGCTop); FDSPEngine.SetAGC(TWDSPAGCMode(FAGCMode), 50.0); end; + FSpecView.AGCTop := FAGCTop; // --- CTUN --- FCTun := B.CTun; @@ -2140,9 +2141,12 @@ begin if FWDSPReady then begin FLastSMeter := FDSPEngine.GetSMeterDBm; - FDSPEngine.SetSpectrumWidth(FSpectrumWidth); // актуальная ширина для SetAGC/SetAGCTop + FDSPEngine.SetSpectrumWidth(FSpectrumWidth); FDSPEngine.UpdateAGCLines(FSpectrumWidth); + FSpecView.AGCThresh := FDSPEngine.AGCThresh; + FSpecView.AGCHangLevel := FDSPEngine.AGCHangLevel; end; + FSpecView.WDSPReady := FWDSPReady; // Обновляем оверлей если видим if Assigned(FVfoOverlay) and FVfoOverlay.Visible then begin @@ -2815,8 +2819,8 @@ begin // ChangeSampleRate пересоздаёт WDSP-канал — восстанавливаем все настройки FDSPEngine.SetAGCTop(FAGCTop); FDSPEngine.SetAGC(TWDSPAGCMode(FAGCMode), 50.0); - // SetAGC вызывает UpdateAGCLines внутри — линии на спектре обновятся end; + FSpecView.AGCTop := FAGCTop; // DUC specific FillChar(DUCPkt, SizeOf(DUCPkt), 0); @@ -4415,8 +4419,8 @@ begin FDSPEngine.SetAGCTop(FAGCTop); FDSPEngine.SetAGC(TWDSPAGCMode(FAGCMode), 50.0); end; - // Обновляем кэш диапазона FBandCache[FCurrentBand].AGCTop := FAGCTop; + FSpecView.AGCTop := FAGCTop; FSpecView.DrawSpectrum; PbSpectrum.Invalidate; end;