Commit Graph

214 Commits

Author SHA1 Message Date
Robin Davies 3f6e4e2834 Merge pull request #364 from jardous/midi-dialogs
UI: MIDI dialogs
2025-08-10 12:39:56 -04:00
Robin E. R. Davies 2ef2523a5d Merge branch 'dev' of https://github.com/rerdavies/pipedal into dev 2025-08-06 17:36:41 -04:00
Robin E. R. Davies 92f5187d86 Display of empty filenames in ModGui plugins. 2025-08-06 17:34:17 -04:00
Robin E. R. Davies 00307737ee Empty filenames in ModGuiHost dropdowns. 2025-08-06 17:28:19 -04:00
Jiri Popek 51786b9235 Update MidiBindingView.tsx
remove unnecessary ()

Signed-off-by: Jiri Popek <jiri.popek@gmail.com>
2025-08-04 13:31:41 +02:00
Jiri Popek 5fafcabf82 MidiBindingsDialog: Plugin name and note value
- Plugin name to show the title set
 - MIDI note to show the number and the note
2025-08-02 22:34:19 +02:00
Jiri Popek ae02131fe9 RenameDialog: focus the input box 2025-08-02 22:34:11 +02:00
Robin E. R. Davies aa13301b84 Checkpoint 2025-08-01 18:24:54 -04:00
Extremesecrecy ea34e834dd Removed cpu/memory
Removed cpu/memory display on JackServerSettingsDialog
2025-07-28 13:40:33 -07:00
Extremesecrecy 0532193647 Commit Request - Step 1 Restore Files
Restored files.
2025-07-28 12:31:16 -07:00
Extremesecrecy 8f6ca67583 Update JackServerSettingsDialog.tsx
Fire and forget websocket on apply
2025-07-27 19:16:26 -07:00
Extremesecrecy 2eb8c29e16 Handlers settings change.
Fixing handlers. Great progress!
2025-07-27 18:05:21 -07:00
Extremesecrecy fd7319cec0 Update JackServerSettingsDialog.tsx
Removing release and dummy variable.
2025-07-27 17:17:34 -07:00
Extremesecrecy 71a6d40c75 Favoring Dialog persistence only.
Favoring Dialog persistence only.
2025-07-27 16:30:53 -07:00
Extremesecrecy 9353503833 Revert 2025-07-27 16:08:10 -07:00
Extremesecrecy 3396907782 Revert to original
Revert to original
2025-07-27 15:52:52 -07:00
Extremesecrecy a753b04b63 Update PiPedalModel.tsx
Reverting logging to console and persist here.
2025-07-27 15:33:05 -07:00
Extremesecrecy fb4d26a2f4 TEMPORARY Logging
console.error login so we can see why this is failing TEMPORARY
2025-07-27 15:03:38 -07:00
Extremesecrecy 1cbeebd03f Wrong assumption
CORRECTED IMPORT PATH for IconButtonEx
2025-07-27 14:19:56 -07:00
Extremesecrecy a207aa0b63 Update JackServerSettingsDialog.tsx
Trying again + Fire & Forget.
2025-07-27 14:01:50 -07:00
Extremesecrecy d46f77bb61 Update JackServerSettingsDialog.tsx
Persistence change so that we can actually go on with OK
2025-07-27 13:51:42 -07:00
Extremesecrecy 70ba1b7fe1 Update JackServerSettingsDialog.tsx
More time on trying to make sure that Ok behaves correctly.
2025-07-27 13:30:45 -07:00
Extremesecrecy c82c465620 Update JackServerSettingsDialog.tsx
Added an explicit reset for the dialog’s close guard when the dialog mounts or reopens, preventing saved settings from reverting after pressing OK

Modified the close handler to skip reverting settings whenever the dialog was closed via the OK path
2025-07-27 13:05:18 -07:00
Extremesecrecy 13a8b47658 Update JackServerSettingsDialog.tsx
On close modified to have an ignore.
2025-07-27 12:48:57 -07:00
Extremesecrecy 3576f1c7cf handling with ease
Wrote api to manage events easier and easier to parse. Added dummy when releasing devices.
2025-07-27 11:58:33 -07:00
Extremesecrecy 42c03a9c19 Update JackServerSettingsDialog.tsx
Simplified code to one function instead of having the same code twice. Making sure close event does not revert a second time.
2025-07-27 11:35:52 -07:00
Extremesecrecy 10a2ae96b8 Warning Fix, added comments 2
Warning handler was causing the ok not to function correctly.
2025-07-27 10:36:42 -07:00
Extremesecrecy ec520cdbf5 Ok handler
Set settings before closing the page.
2025-07-27 08:46:25 -07:00
Extremesecrecy 8b4bd76be1 Persist
Pressing OK in the JACK server dialog now clears the stored original settings so the close handler doesn’t revert them, ensuring the new devices remain active
2025-07-27 07:43:01 -07:00
Extremesecrecy 871f4c2d58 Persist fix
Revert any applied settings by restoring the
persisted configuration and re-applying it.
2025-07-26 14:49:02 -07:00
Extremesecrecy c7bcc7c240 Reverting waits
Waits are still overlapping. Will discuss with Robin for advice on how he wants to manage them. My attempt stopped the over lap but broke the loading.
2025-07-26 12:56:30 -07:00
Extremesecrecy c9e5e97b00 persistence again
Clean start worked but now the persisted is not working. Patching persistence.
2025-07-26 10:01:24 -07:00
Extremesecrecy 389ba70540 Settings sometime don't start fix
Apply immediately so the audio driver is
restarted with the chosen devices before
saving the settings.
2025-07-25 20:46:11 -07:00
Extremesecrecy c33c69899c Adding persist - T2
Adding model persist so that the apply can be used for testing. Previous did not  persist as intented.
2025-07-25 19:58:43 -07:00
Extremesecrecy bce2e68ee3 Update JackServerSettingsDialog.tsx
Apply button does not save settings, it is only used for testing. As per Robin on git. Ok button will save settings only. If the box is closed/cancelled, the settings revert to what they were before.
2025-07-25 18:42:50 -07:00
Extremesecrecy ccaadf1e38 Retain settings
When reopening the JACK server settings dialog, the selected settings now remain intact. The dialog only applies device defaults after ALSA information has loaded, preserving current values otherwise
2025-07-25 17:08:23 -07:00
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 82e923486c Update JackServerSettingsDialog.tsx
No background on labels.
2025-07-25 13:33:35 -07:00
Extremesecrecy 1f8ee4bfd6 Update JackServerSettingsDialog.tsx
Only the capture/playback device information to display on Jack config file.
2025-07-25 13:07:04 -07:00
Extremesecrecy 5b09df0a0a Update PiPedalModel.tsx
vite/src/pipedal/PiPedalModel.tsx - For this file only!

Expected outcome is that the server may (or may not) reboot). The purpose of the catch handler (which would happen in the case of a socket disconnect) is to make sure that an error or abort does not get reported, since it is expected.

Changes to wifi configuration, where the handler code MUST NOT PROPAGATE AN EXCEPTION.

(1) just leave this function to rot in its shameful state of decay, but do NOT relay the error.
(2) Write the audio properties (specifically) without waiting for a response. The settings are propagated to other clients (and ourselves) with a on...changed notifications from the server, so there's no actual response from the server required.

Audio properties specified:
        const audioProps = [
            "http://two-play.com/plugins/toob-player#audioFile",
            "http://two-play.com/plugins/toob-player#loop",
            "http://two-play.com/plugins/toob-player#seek",
        ];
2025-07-25 12:52:58 -07:00
Extremesecrecy 1f6efd4da3 Update JackServerSettingsDialog.tsx
Changed the Apply action so that pressing “Apply” immediately sets and loads the selected devices, allowing the status display to confirm whether the configuration worked
2025-07-25 12:27:16 -07:00
Extremesecrecy b3534e0d1e Trying to follow the rest of the ui look
Added “whiteSpace: 'nowrap'” to input label styles so audio device labels remain on a single line without awkward wrapping

Removed the “Please select all audio settings.” warning and now show only the device status in the dialog footer.
2025-07-25 11:46:11 -07:00
Extremesecrecy 7ae6647b62 Device Info on configuration
Display device info only on configuration.
2025-07-25 11:19:45 -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 2fa19f6462 Update JackServerSettingsDialog.tsx
Not used...keep forgetting warning will stop build. Removing.
2025-07-24 19:44:02 -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 53282d11c9 Update JackServerSettingsDialog.tsx
only clear the ALSA device fields when you uncheck the box,

still refresh the device list (via requestAlsaInfo()) but

preserve the checkbox state (so it doesn’t get recalculated back to true)
2025-07-24 12:25:09 -07:00
Extremesecrecy de7b905ca2 Update JackServerSettingsDialog.tsx
Import warning caused build stop. Commenting it out.

Removed an unused import from the top of the JackServerSettingsDialog component to resolve the TypeScript build error
2025-07-24 11:07:18 -07:00
Extremesecrecy 77342f95fe Update AlsaDeviceInfo.tsx
Assumed the id was a number. Changed the interface ID to string
2025-07-24 10:47:11 -07:00
Extremesecrecy c112553766 Handling devices upon selection change and full screen on dialog to accommodate phone size.
Added responsive logic using ResizeResponsiveComponent so the device configuration dialog can switch to full screen on displays narrower than 420 px or shorter than 700 px

When toggling “use same device,” the previous device choices are cleared and device information is refreshed to reset the dropdowns

Buffer and sample‑rate options now remain disabled until the appropriate number of devices has been selected
2025-07-24 10:40:42 -07:00