fix(dmr): normalize voice audio and lock bandwidth

This commit is contained in:
2026-07-14 20:14:50 +03:00
parent bac0b7612e
commit 9755378586
5 changed files with 27 additions and 15 deletions
+7 -3
View File
@@ -418,7 +418,7 @@ begin
case ModeIdx of
5: Result := 2; // FM: NFM/FM
10: Result := 3; // WFM: 200K/160K/120K
11: Result := 1; // DMR: fixed 12.5 kHz channel
11: Result := 0; // DMR: fixed 12.5 kHz, no redundant selector
else Result := 6;
end;
end;
@@ -579,7 +579,10 @@ end;
function TVfoOverlay.PanelContentH: Integer;
begin
case FPanel of
fpMode: Result := OVL_MODE_ROWS*(ROW_H + IGAP) + ROW_H; // ряды режимов + ряд фильтров
fpMode: begin
Result := OVL_MODE_ROWS*(ROW_H + IGAP);
if GetFilterCountForMode(FMode) > 0 then Inc(Result, ROW_H);
end;
fpDsp: begin
Result := ROW_H + IGAP + ROW_H; // toggles + AGC
if IsFM then Inc(Result, IGAP + ROW_H); // + ряд SQL (только FM)
@@ -1221,7 +1224,8 @@ begin
begin
FModeFilter[FMode] := FFilterBW;
FMode := NewMode;
FFilterBW := FModeFilter[FMode];
if FMode = 11 then FFilterBW := 12500
else FFilterBW := FModeFilter[FMode];
Height := ComputeHeight; // число фильтров могло смениться (FM=2, WFM=3)
RequestInvalidate;
if Assigned(FOnSelect) then FOnSelect(FMode, FFilterBW);