Declared Equals as a const method in JackServerSettings so it can be called on const instances without compiler errors
SetJackServerSettings now checks for changes before restarting audio, preventing redundant restarts
Added better fallback logic when computing the optimal sample rate. If no common sample rate is found, the code now defaults to 48 kHz or the desired rate when provided. The intersection list is sorted before evaluating the best match
Pressing ok/apply/refresh all were starting a cascade o waits. A restart request now cleans up any previous restart thread so multiple restarts cannot overlap
Introduced a new field to track memory usage in the backend status structure, allowing the server to report memory utilization as a percentage
Implemented a Linux-specific routine to read /proc/meminfo and calculate the memory usage percentage, and integrated this into the status query
Added serialization for the memory usage field so it is included in JSON responses
Updated the frontend class to deserialize and display memory usage alongside CPU usage on the status readout
Introduce legacy alsaDevice_ field in JackServerSettings to preserve compatibility with older configs. Include this field in serialization to allow old config files to load. Add migration logic in Storage::GetJackServerSettings to copy the legacy device value to new separate input/output fields and clear the legacy value after migration.
Update frontend validation so that device selections are only validated when the user presses OK. Improve buffer selection logic to prioritize 32×4, then other x4, x3, or x2 options, falling back to 64×3 if none match.
Use standard MUI styling for device selectors. Labels stay above the field and no longer animate. Dropdown labels now use background padding to prevent underline overlap.
Add a compactWidth flag to adjust layout on narrow screens. Stack device selectors vertically in compact mode while keeping the refresh button on the right. Refreshing ALSA info sets unknown device IDs to a blank value.
Add real-time status updates with a polling timer. Separate Apply and OK handlers so settings can be tested without closing the dialog. Add an Apply button alongside Cancel and OK.
Update the UI summary logic to show “Input → Output” when devices differ and “Not selected” when config is incomplete. Filter out internal devices like HDMI and bcm2835 from the device list.
Retain the legacy alsaDevice_ field in the JSON for backward compatibility, with helper accessors and documentation for legacy constructor behavior. Update latency text calculation to show when sample rate and buffer size are defined, even if the config is invalid.
Removed libsdl2-dev from dependency checking and dependencies.
Added explicit checks in “CpuUse::UpdateCpuUse” to avoid division by zero; CPU usage and overhead are forced to 0 when times are zero
Validated audio driver CPU usage in “AudioHost::getJackStatus”, replacing non‑finite results with 0
The ALSA device scanner no longer inserts default sample rates when it cannot read them, preventing invalid frequency choices
Jack server settings now accept independent input and output devices during construction
The latency test utility was updated to handle separate input and output device parameters and display them accordingly
The help text for the latency tool documents the new usage with optional output device specification
Device lists in the configuration dialog are sorted to prefer devices supporting capture and playback, then USB devices, while refresh preserves existing selections
Added error checks around ALSA rate queries so that if querying the minimum rate fails, a warning is logged and 48 kHz is used as a default
When querying the maximum rate fails, the code now warns and falls back to 48 kHz; otherwise it populates valid rates and ensures a fallback if none are found
Buffer size retrieval now occurs after handling rate queries, maintaining previous behavior while supporting the new fallback logic
ntroduced helper functions to verify required fields in configuration structures, ensuring missing property names trigger a descriptive exception
Applied these checks when handling the “setJackServerSettings,” “setWifiConfigSettings,” and “setWifiDirectConfigSettings” messages to validate incoming data
Set alsa_device_name according to the capture and playback device when configuring streams so error messages reference the correct device
Ensure the device name is assigned before opening each stream to accurately report any ALSA errors
Added new fields to track ALSA device capabilities, letting the application know whether a device supports capture or playback
Updated serialization to include the new flags in the JSON data exchanged with the UI
Modified the dummy driver so test devices always indicate capture and playback support
Adjusted the TypeScript model and dialog to filter device choices based on the new flags, ensuring only valid options appear in selectors