Phase 5 (D2): move spectrum/waterfall raw frames into the controller

OnSpectrumReady/OnWaterfallReady move into TRadioController. The controller now
owns the last spectrum/waterfall frame (FSpectrumBuf/FWaterfallBuf) for the web
mirror and emits raw pixels via OnSpectrumData/OnWaterfallData. MainForm
subscribes for FSpecView rendering (+ waterfall scroll decimation, a UI concern).
TWebAdapter.PushState now reads the frame from the controller (no buffer params).
Behavior-preserving; removes the last spectrum/waterfall data-path coupling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Uladzimir Karpenka
2026-06-09 14:46:39 +03:00
co-authored by Claude Opus 4.8
parent 7c8fd298ae
commit f122079b83
6 changed files with 620 additions and 36 deletions
+30 -4
View File
@@ -17,14 +17,40 @@
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<MinorVersionNr Value="9"/>
<BuildNr Value="165"/>
<BuildNr Value="192"/>
</VersionInfo>
<MacroValues Count="27">
<Macro1 Name="LCLWidgetType" Value="cocoa"/>
<Macro2 Name="LCLWidgetType" Value="cocoa"/>
<Macro3 Name="LCLWidgetType" Value="cocoa"/>
<Macro4 Name="LCLWidgetType" Value="cocoa"/>
<Macro5 Name="LCLWidgetType" Value="cocoa"/>
<Macro6 Name="LCLWidgetType" Value="cocoa"/>
<Macro7 Name="LCLWidgetType" Value="cocoa"/>
<Macro8 Name="LCLWidgetType" Value="cocoa"/>
<Macro9 Name="LCLWidgetType" Value="cocoa"/>
<Macro10 Name="LCLWidgetType" Value="cocoa"/>
<Macro11 Name="LCLWidgetType" Value="cocoa"/>
<Macro12 Name="LCLWidgetType" Value="cocoa"/>
<Macro13 Name="LCLWidgetType" Value="cocoa"/>
<Macro14 Name="LCLWidgetType" Value="cocoa"/>
<Macro15 Name="LCLWidgetType" Value="cocoa"/>
<Macro16 Name="LCLWidgetType" Value="cocoa"/>
<Macro17 Name="LCLWidgetType" Value="cocoa"/>
<Macro18 Name="LCLWidgetType" Value="cocoa"/>
<Macro19 Name="LCLWidgetType" Value="cocoa"/>
<Macro20 Name="LCLWidgetType" Value="cocoa"/>
<Macro21 Name="LCLWidgetType" Value="cocoa"/>
<Macro22 Name="LCLWidgetType" Value="cocoa"/>
<Macro23 Name="LCLWidgetType" Value="cocoa"/>
<Macro24 Name="LCLWidgetType" Value="cocoa"/>
<Macro25 Name="LCLWidgetType" Value="cocoa"/>
<Macro26 Name="LCLWidgetType" Value="cocoa"/>
<Macro27 Name="LCLWidgetType" Value="cocoa"/>
</MacroValues>
<BuildModes>
<Item Name="Debug" Default="True"/>
<Item Name="Release">
<MacroValues Count="1">
<Macro1 Name="LCLWidgetType" Value="qt6"/>
</MacroValues>
<CompilerOptions>
<Version Value="11"/>
<Target>