Commit ef5b0e9
committed
refactor(audio): replace Win32 waveOut/waveIn with QAudioSink (cross-platform)
Replace the Windows-only WaveOutWriter (waveOut API) and WaveInReader
(waveIn API) with cross-platform Qt6 equivalents so WFM demod works on
Windows, macOS, and Linux without platform guards in CMake.
Changes:
- WaveOutWriter: rewritten using QAudioSink; device selected by
QAudioDevice::id() (persistent opaque string) instead of a
human-readable name fragment
- WaveInReader: removed — the VITA-49 DaxIqModel::iqSamplesReady path
is cross-platform and already works; the Win32 DAX waveIn path is no
longer needed
- WfmDemodulator: simplified to use only the VITA-49 IQ path; updated
all debug output to qCDebug(lcAudio)
- WfmDeviceDialog: rewritten using QMediaDevices::audioOutputs() and
QAudioDevice::id() — works on all platforms
- WfmSettings: new header-only settings class following constitution
Principle V (nested JSON under 'WFM' key); migrates the legacy flat
'WfmAudioDevice' AppSettings key on first access
- CMakeLists: WFM sources moved back to unconditional CORE_SOURCES /
GUI_SOURCES — no WIN32 guard needed
- MainWindow: resolveAudioDevice() updated to use WfmSettings API1 parent e7bcb25 commit ef5b0e9
11 files changed
Lines changed: 303 additions & 609 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
577 | 577 | | |
578 | 578 | | |
579 | 579 | | |
| 580 | + | |
| 581 | + | |
580 | 582 | | |
581 | 583 | | |
582 | 584 | | |
| |||
634 | 636 | | |
635 | 637 | | |
636 | 638 | | |
| 639 | + | |
637 | 640 | | |
638 | 641 | | |
639 | 642 | | |
| |||
951 | 954 | | |
952 | 955 | | |
953 | 956 | | |
954 | | - | |
955 | | - | |
956 | | - | |
957 | | - | |
958 | | - | |
959 | | - | |
960 | | - | |
961 | | - | |
962 | | - | |
963 | | - | |
964 | 957 | | |
965 | 958 | | |
966 | 959 | | |
| |||
This file was deleted.
This file was deleted.
0 commit comments