874d859916
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.
30 lines
695 B
Bash
30 lines
695 B
Bash
#!/usr/bin/env bash
|
|
# Check for required system packages for building PiPedal.
|
|
|
|
set -e
|
|
|
|
packages=(\
|
|
liblilv-dev libboost-dev libsystemd-dev catch libasound2-dev uuid-dev \
|
|
authbind libavahi-client-dev libnm-dev libicu-dev \
|
|
libsdbus-c++-dev libzip-dev google-perftools \
|
|
libgoogle-perftools-dev libpipewire-0.3-dev \
|
|
libwebsocketpp-dev
|
|
)
|
|
|
|
missing=()
|
|
|
|
for pkg in "${packages[@]}"; do
|
|
if ! dpkg -s "$pkg" >/dev/null 2>&1; then
|
|
missing+=("$pkg")
|
|
fi
|
|
done
|
|
|
|
if [ ${#missing[@]} -ne 0 ]; then
|
|
echo "Missing packages:" >&2
|
|
for pkg in "${missing[@]}"; do
|
|
echo " $pkg" >&2
|
|
done
|
|
exit 1
|
|
else
|
|
echo "All required packages are installed." >&2
|
|
fi |