mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-07-21 12:22:34 +00:00
36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Download + verify the default General-MIDI soundfont into
|
|
# resources/soundfonts/. Used by both CI and local `npm run bundle` on
|
|
# all three platforms.
|
|
#
|
|
# URL + SHA256 are read from .build-config.json (external.soundfont_general_user).
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
CONFIG="$PROJECT_DIR/.build-config.json"
|
|
|
|
SF_URL=$(python3 "$SCRIPT_DIR/parse-build-config.py" "$CONFIG" .external.soundfont_general_user.url)
|
|
SF_SHA256=$(python3 "$SCRIPT_DIR/parse-build-config.py" "$CONFIG" .external.soundfont_general_user.sha256)
|
|
SF_DIR="$PROJECT_DIR/resources/soundfonts"
|
|
SF_FILE="$SF_DIR/GeneralUser-GS.sf2"
|
|
|
|
mkdir -p "$SF_DIR"
|
|
|
|
if [ -f "$SF_FILE" ]; then
|
|
echo " Existing soundfont found — verifying checksum"
|
|
else
|
|
echo " Downloading GeneralUser-GS.sf2 (~32 MB) from $SF_URL"
|
|
curl -sL --fail --retry 5 --retry-delay 5 --retry-all-errors "$SF_URL" -o "$SF_FILE"
|
|
fi
|
|
|
|
# macOS ships `shasum -a 256`; Linux / Windows-git-bash ship `sha256sum`.
|
|
if command -v sha256sum >/dev/null 2>&1; then
|
|
echo "${SF_SHA256} ${SF_FILE}" | sha256sum -c - >/dev/null
|
|
else
|
|
echo "${SF_SHA256} ${SF_FILE}" | shasum -a 256 -c - >/dev/null
|
|
fi
|
|
|
|
echo " Soundfont: $(ls -lh "$SF_FILE" | awk '{print $5}') (SHA256 verified)"
|