mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
feat(waterfall): палитры Inferno/Turbo + gamma, разрешение до 4096, HiDPI
- SPECTRUM_PIXELS 1024→4096 + настройка display_pixels (лимит точек анализатора, SetDisplayResLimit); web-зеркало остаётся 1024 — max-децимация в SnapshotPixels - палитры водопада Classic/Inferno/Turbo + регулятор gamma (в LUT), настройки wf_palette/wf_gamma, страница Waterfall → группа Rendering - GL-водопад переведён на общий LUT/AGC-уровни базового класса (убраны дубли ColorForDB/UpdateLevels) - явные glViewport в GL-вьюхах умножаются на PixelScale (HiDPI), текстура водопада — в физической ширине Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -587,6 +587,8 @@ type
|
||||
SpecAvgTimeMS: Double);
|
||||
procedure ApplyWaterfallParams(WfDet, WfAvgMode: Integer;
|
||||
WfAvgTimeMS, WfHigh, WfLow, WfAGCOffset: Double);
|
||||
procedure ApplyWfRenderParams(Palette: Integer; Gamma: Double;
|
||||
ResLimit: Integer);
|
||||
procedure ApplyWfAGCNF(WfAGC, WfNF: Boolean);
|
||||
procedure ApplyADCSettings(Dither, Random: Boolean);
|
||||
procedure ApplyWebSettings(Enabled: Boolean; Port: Integer;
|
||||
@@ -1028,6 +1030,8 @@ begin
|
||||
FSpecView.WfManualHigh := FController.FWfManualHigh;
|
||||
FSpecView.WfManualLow := FController.FWfManualLow;
|
||||
FSpecView.WfAGCOffset := FController.FWfAGCOffset;
|
||||
FSpecView.WfPalette := FController.FWfPalette;
|
||||
FSpecView.WfGamma := FController.FWfGamma;
|
||||
FSpecView.SpecRefLevel := FController.FSpecRefLevel;
|
||||
FSpecView.SpecRange := FController.FSpecRange;
|
||||
FSpecView.SpecGridStep := FController.FSpecGridStep;
|
||||
@@ -1469,6 +1473,8 @@ begin
|
||||
FSpecView.WfManualHigh := FController.FWfManualHigh;
|
||||
FSpecView.WfManualLow := FController.FWfManualLow;
|
||||
FSpecView.WfAGCOffset := FController.FWfAGCOffset;
|
||||
FSpecView.WfPalette := FController.FWfPalette;
|
||||
FSpecView.WfGamma := FController.FWfGamma;
|
||||
FSpecView.ResetWfAvgBuf;
|
||||
if Assigned(FWidebandView) then
|
||||
FWidebandView.SetFillSpectrum(FController.FWidebandFill);
|
||||
@@ -6435,6 +6441,20 @@ begin
|
||||
FSpectrumDirty := True;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ApplyWfRenderParams(Palette: Integer; Gamma: Double;
|
||||
ResLimit: Integer);
|
||||
begin
|
||||
FController.FWfPalette := Palette;
|
||||
FController.FWfGamma := Gamma;
|
||||
FController.FDisplayPixels := ResLimit;
|
||||
FSpecView.WfPalette := Palette;
|
||||
FSpecView.WfGamma := Gamma;
|
||||
if FController.FWDSPReady then
|
||||
FController.FDSPEngine.SetDisplayResLimit(ResLimit);
|
||||
FWaterfallDirty := True;
|
||||
FSpectrumDirty := True;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ApplyGridParams(RefLevel, Range, GridStep: Double);
|
||||
begin
|
||||
FController.FSpecRefLevel := RefLevel;
|
||||
@@ -6602,6 +6622,7 @@ begin
|
||||
FSettingsForm := SF;
|
||||
SF.OnDisplayChange := ApplyDisplayParams;
|
||||
SF.OnWaterfallChange := ApplyWaterfallParams;
|
||||
SF.OnWfRenderChange := ApplyWfRenderParams;
|
||||
SF.OnGridChange := ApplyGridParams;
|
||||
SF.OnAudioDevChange := ApplyAudioDevice;
|
||||
SF.OnAudioInDevChange := ApplyAudioInputDevice;
|
||||
@@ -6646,6 +6667,8 @@ begin
|
||||
SF.LoadVisibility(FController.FShowSpectrum, FController.FShowWaterfall, FController.FShowWideband, FController.FWidebandFill,
|
||||
FController.FSpectrumFill);
|
||||
SF.LoadWfAGCNF(FController.FWfAGCEnabled, FController.FWfNFEnabled);
|
||||
SF.LoadWfRender(FController.FWfPalette, FController.FWfGamma,
|
||||
FController.FDisplayPixels);
|
||||
SF.LoadADCSettings(FController.FDitherEnabled, FController.FRandomEnabled);
|
||||
SF.LoadWebSettings(FWebEnabled, FWebPort, FWebBindAddr, FWebUser, FWebPass);
|
||||
SF.LoadFPS(FDisplayFPS);
|
||||
|
||||
Reference in New Issue
Block a user