Commit Graph

284 Commits

Author SHA1 Message Date
Extremesecrecy 703e517baf RAM usage +
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
2025-07-25 14:24:10 -07:00
Extremesecrecy 56d66ef7db Tabs and check script and dependency
Removed tabs (tabs to spaces). Remove the check_deps.sh. removed libwebsocketpp-dev from dependencies. BTW, this is in cmake.yml.
2025-07-24 20:31:40 -07:00
Extremesecrecy 874d859916 Email Changes - Backwards Compatibility
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.
2025-07-24 19:27:39 -07:00
Extremesecrecy fb974f5af5 Legacy Modifications
Added legacy integration so that upon upgrade, the device does not fail.
2025-07-24 16:59:17 -07:00
Extremesecrecy b3853e1bdb CPU Usage Dive by Zero Issue (Chrome Console Error Reported)
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
2025-07-24 07:50:33 -07:00
Extremesecrecy 43cc758d18 Revise device configuration logic and settings
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
2025-07-24 07:45:02 -07:00
Extremesecrecy 059922f71f Update PiPedalAlsa.cpp
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
2025-07-23 22:48:22 -07:00
Extremesecrecy 2b5f614625 Update PiPedalSocket.cpp
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
2025-07-23 22:44:37 -07:00
Extremesecrecy dbeefe341f Update AlsaDriver.cpp
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
2025-07-23 20:04:09 -07:00
Robin Davies 7830b27bb2 Merge pull request #350 from extremesecrecy/SplitIO
Split IO
2025-07-23 17:09:30 -04:00
ExtremesecrecyOne 6ac8968583 Devices with only I or O Fix
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
2025-07-23 12:18:19 -07:00
Jiri Popek e22493b4ae add -ffast-math to speed up the execution
+ src/CMakeLists whitespace cleanup
2025-07-23 15:07:26 +02:00
ExtremesecrecyOne 7fc2ca7cdf Typos
Corrected typos.
2025-07-22 21:01:57 -07:00
ExtremesecrecyOne 1ca0973833 Fixes to Changes.
Added helper functions to combine and intersect ALSA device capabilities, ensuring validation works across separate input and output devices

Updated buffer handling logic to use both selected devices and compute min/max sizes appropriately

Revised validation to check both ALSA input and output devices when enabling the OK button

Simplified rendering logic to intersect sample rates and buffer options for the chosen devices

AlsaDriver single device err calls fixed.

Added guidance on using USB audio interfaces or Raspberry Pi audio HATs and choosing separate ALSA input and output devices during setup

Clarified that the Audio Device Settings dialog allows independent configuration of input and output devices, with updated instructions for selecting audio channels
2025-07-22 17:51:33 -07:00
ExtremesecrecyOne 54926871fc Uri Change
Summary

Ensured that checking for a query key now returns true when the key is found, allowing accurate existence checks

Added “&” separators when reconstructing query strings so that URIs are properly formatted with multiple parameters
2025-07-22 16:44:09 -07:00
ExtremesecrecyOne d8043d2041 Separate IO
Initial separation of input and output devices. Assisted by our super friend ChatGpt.
2025-07-22 16:20:30 -07:00
Robin E. R. Davies e0efced2f7 Crashguard: anticipate power-off resets on Pi 4. 2025-07-21 14:09:39 -04:00
Robin E. R. Davies 7f8b272504 Crash guard: prevent loading of preset if it has caused crashes. 2025-07-21 12:09:27 -04:00
Robin E. R. Davies 8bee485c9f Disable traces of experimental MIDI UI. 2025-07-20 11:52:26 -04:00
Robin E. R. Davies b261f98167 Experimental commit for issue #337; valgrind fixes. 2025-07-19 21:37:46 -04:00
Robin E. R. Davies 71fc534a78 Control Zooming disabled. 2025-07-19 13:26:53 -04:00
Robin E. R. Davies 6d7f79c6af MIDI CC-0 and MIDI LSB are ignored when listening for MIDI events. 2025-07-19 13:26:12 -04:00
Robin E. R. Davies 9b6798134d Screen orientation, Keep Display on (in Android Client) 2025-07-19 00:06:17 -04:00
Robin E. R. Davies 818a08824c Android Cilent Layout Issues 2025-07-14 18:13:09 -04:00
Robin E. R. Davies 890368352f MOD Gui support. 2025-07-10 11:37:02 -04:00
Robin E. R. Davies e7cdd38056 Checkpoint 2025-07-07 02:30:30 -04:00
Robin E. R. Davies e092aed47b Roll back TONE3000 direct download (not ready for prime time); add direct link to TONE3000 downloads from File Property dialog. 2025-06-30 23:54:25 -04:00
Robin E. R. Davies 3bf1a667c0 Pipewire aux in tests. 2025-06-30 02:33:40 -04:00
Robin E. R. Davies 79aa1441c3 Hotspot: no scanning if not required. 2025-06-29 20:27:43 -04:00
Robin E. R. Davies 03cb18e065 Midi handling in the Dummy Audio driver. 2025-06-29 08:30:26 -04:00
Robin E. R. Davies a81056a657 ALSA Sequencer connections. 2025-06-29 07:44:39 -04:00
Robin E. R. Davies 862d5b6315 ALSA Sequencer Interim checkin. 2025-06-28 18:41:44 -04:00
Robin E. R. Davies acb668853b Alsa Sequencer Tests 2025-06-27 14:24:58 -04:00
Robin E. R. Davies f0628c2cce GCC 12.2 portability issues 2025-06-27 06:09:41 -04:00
Robin E. R. Davies 96af9287ba Alsa Sequencer tests. 2025-06-27 04:49:52 -04:00
Robin E. R. Davies 07af383211 listen for midi binding control range. 2025-06-26 10:24:48 -04:00
Robin E. R. Davies 98ee16bb82 Handle permission denied errors. 2025-06-24 13:59:57 -04:00
Robin E. R. Davies 2dbb9d8c6d Guard against invalid UTF-8 in filenames. 2025-06-21 11:27:29 -04:00
Robin E. R. Davies 7474c2531d Bunding of media files contained in snapshots. 2025-06-20 15:52:51 -04:00
Robin E. R. Davies f35ee9330d ToobPlayer UI. .mdata file handling. 2025-06-19 16:04:32 -04:00
Robin E. R. Davies 5bf0c93d57 FileMetadata, websocket sync 2025-06-16 02:31:22 -04:00
Robin E. R. Davies e893e95325 Sync w/ build system 2025-06-16 02:21:54 -04:00
Robin E. R. Davies 13883f91ab Toob Player 2025-06-15 16:41:11 -04:00
Robin E. R. Davies 6ea45f46df Toob Player UI 2025-06-07 21:52:23 -04:00
Robin E. R. Davies c4e0b0ff46 Audio file metadata and thumbnails 2025-05-31 21:06:34 -04:00
Robin E. R. Davies 8a5ab7a8cf Suspend sqlite3 deps. 2025-05-26 23:50:50 -04:00
Robin E. R. Davies 8b480d2e58 Toob File Player checkpoint. 2025-05-26 23:49:03 -04:00
Robin E. R. Davies c69bec6dcf Graphic EQ controls; focus/click bugs. 2025-05-21 16:59:17 -04:00
Robin E. R. Davies 21e4b2864c Aux input test code. 2025-05-12 11:22:03 -04:00
Robin E. R. Davies 842fa68797 ToobAmp aarch64 1.1.58 2025-03-18 05:09:13 -04:00