Add audio buffer setting and optimize overlays

This commit is contained in:
2026-05-22 18:07:05 +03:00
parent 26aa55ddde
commit c5f225332b
6 changed files with 327 additions and 38 deletions
+23
View File
@@ -286,6 +286,8 @@ type
procedure LoadWindowBounds(out L, T, W, H: Integer);
procedure SaveStartupPreview(VfoA, VfoB: Double; SampleRate: Integer);
function LoadStartupPreview(out VfoA, VfoB: Double; out SampleRate: Integer): Boolean;
procedure SaveAudioBufferSize(BufferSize: Integer);
function LoadAudioBufferSize: Integer;
// CAT settings — не привязаны к MAC, хранятся в корне JSON (доступны до подключения)
procedure SaveCATSettings(const G: TGlobalSettings);
procedure LoadCATSettings(var G: TGlobalSettings);
@@ -798,6 +800,27 @@ begin
SampleRate := JI(O, 'sample_rate', 192000);
end;
procedure TSettingsManager.SaveAudioBufferSize(BufferSize: Integer);
var O: TJSONObject;
begin
if BufferSize <= 128 then BufferSize := 128
else if BufferSize <= 256 then BufferSize := 256
else BufferSize := 512;
O := EnsureObj(FRoot, 'audio');
JW(O, 'output_buffer_size', BufferSize);
end;
function TSettingsManager.LoadAudioBufferSize: Integer;
var O: TJSONObject;
begin
if FRoot.Find('audio') = nil then Exit(128);
O := EnsureObj(FRoot, 'audio');
Result := JI(O, 'output_buffer_size', 128);
if Result <= 128 then Result := 128
else if Result <= 256 then Result := 256
else Result := 512;
end;
procedure TSettingsManager.SaveCATSettings(const G: TGlobalSettings);
var O: TJSONObject; i: Integer;
begin