mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Fix FM step change from web UI; add FM grid to web spectrum/ruler
Web UI: stepSel.onchange now sends fm_step command to server when in FM mode; option values stay in Hz so tuneStep works unchanged. WebServer: add fm_step command handler and OnFMStep callback. MainForm: wire WebOnFMStep -> SyncWebFMStep -> SetFMStep + SaveCurrentBand. Web spectrum/ruler: vertical FM-step grid lines in drawSpec; FM-aligned ticks and labels in drawRuler with auto label-density (short ticks between labeled lines, measureText-based labelMult to prevent overlap). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -564,6 +564,7 @@ type
|
||||
procedure WebOnFreqA(Hz: Double);
|
||||
procedure WebOnAttn(Idx: Integer);
|
||||
procedure WebOnTun(On_: Boolean);
|
||||
procedure WebOnFMStep(Idx: Integer);
|
||||
procedure WebOnMic(Samples: PSingle; Count: Integer);
|
||||
procedure WebOnXvtrBand(Idx: Integer);
|
||||
// Synchronize-обёртки (выполняются в UI-потоке)
|
||||
@@ -593,6 +594,7 @@ type
|
||||
procedure SyncWebFreqA;
|
||||
procedure SyncWebAttn;
|
||||
procedure SyncWebTun;
|
||||
procedure SyncWebFMStep;
|
||||
// --- CAT callbacks -------------------------------------------------------
|
||||
function CATGetVfoA: Double;
|
||||
function CATGetVfoB: Double;
|
||||
@@ -1257,6 +1259,7 @@ begin
|
||||
FWebServer.OnFreqA := WebOnFreqA;
|
||||
FWebServer.OnAttn := WebOnAttn;
|
||||
FWebServer.OnTun := WebOnTun;
|
||||
FWebServer.OnFMStep := WebOnFMStep;
|
||||
FWebServer.OnWebMic := WebOnMic;
|
||||
FWebServer.OnXvtrBand := WebOnXvtrBand;
|
||||
if FWebEnabled then FWebServer.Start;
|
||||
@@ -5851,6 +5854,19 @@ begin
|
||||
FNetwork.SetStepAtten(FAtten * 10);
|
||||
end;
|
||||
|
||||
procedure TMainForm.WebOnFMStep(Idx: Integer);
|
||||
begin
|
||||
FWebSyncInt := Idx;
|
||||
FWebSyncM := SyncWebFMStep;
|
||||
TThread.Synchronize(nil, FWebSyncM);
|
||||
end;
|
||||
|
||||
procedure TMainForm.SyncWebFMStep;
|
||||
begin
|
||||
SetFMStep(Max(0, Min(FM_STEP_COUNT - 1, FWebSyncInt)));
|
||||
SaveCurrentBand;
|
||||
end;
|
||||
|
||||
procedure TMainForm.WebOnTun(On_: Boolean);
|
||||
begin
|
||||
FWebSyncBool := On_;
|
||||
|
||||
Reference in New Issue
Block a user