AppImage: bundle a SoundFont file

In order to sdl_mixer being able to synthetise MIDI.
This commit is contained in:
Martin Pulec
2023-04-27 17:06:36 +02:00
parent 2c38bb76ce
commit 30e9484ff7
3 changed files with 18 additions and 2 deletions

View File

@@ -51,6 +51,10 @@ sudo apt install libva-dev libdrm-dev libx11-dev libx11-xcb-dev libxcb-present-d
sudo apt install qtbase5-dev
sf=TimGM6mb_but_fixed__piano_.sf2 # https://musical-artifacts.com/artifacts/2642
curl http://frakira.fi.muni.cz/~xpulec/$sf -o "$HOME/$sf"
printf '%b' "SDL_SOUNDFONTS=$HOME/$sf\n" >> "$GITHUB_ENV"
# Install cross-platform deps
"$GITHUB_WORKSPACE/.github/scripts/install-common-deps.sh"

View File

@@ -26,6 +26,13 @@ QT_PLUGIN_PATH=$(set -- "$DIR"/usr/lib/qt?/plugins; echo "$1")
export QT_PLUGIN_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms"
if [ -z "${SDL_SOUNDFONTS-}" ] && [ -d "$DIR/usr/share/soundfonts" ]; then
SDL_SOUNDFONTS=$(find "$DIR/usr/share/soundfonts" -mindepth 1 | head -n 1)
export SDL_SOUNDFONTS
export SDL_FORCE_SOUNDFONTS=1
fj_env="--env=SDL_SOUNDFONTS=${SDL_SOUNDFONTS} --env=SDL_FORCE_SOUNDFONTS=1"
fi
get_tools() {(
LD_LIBRARY_PATH=$orig_ld_library_path
find "$DIR/usr/bin" -mindepth 1 -exec basename {} \; | tr '\n' ' '
@@ -246,7 +253,7 @@ if [ -n "${ULTRAGRID_USE_FIREJAIL-}" ] && [ "$ULTRAGRID_USE_FIREJAIL" != 0 ] &&
if firejail --help | grep -q -- --keep-var-tmp; then
FIREJAIL_OPTS="$FIREJAIL_OPTS --keep-var-tmp"
fi
RUN="firejail --env=LD_PRELOAD=${LD_PRELOAD} --env=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${FJ_TMPDIR+ --env=TMPDIR=${FJ_TMPDIR}} --env=UG_FONT_DIR=${UG_FONT_DIR} $FIREJAIL_OPTS "
RUN="firejail --env=LD_PRELOAD=${LD_PRELOAD} --env=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${FJ_TMPDIR+ --env=TMPDIR=${FJ_TMPDIR}} --env=UG_FONT_DIR=${UG_FONT_DIR} ${fj_env-} $FIREJAIL_OPTS "
if [ "${FIREJAIL_DEBUG:-}" ]; then
printf "Firejail arguments:\n\t$RUN\n\n"
fi

View File

@@ -56,8 +56,11 @@ add_fonts() { # for GUI+testcard2
cp "$FONT_PATH" $APPPREFIX/share/fonts
done
done
if ls $APPPREFIX/lib/*mixer* >/dev/null 2>&1 && [ -f "${SDL_SOUNDFONTS-nonexistent}" ]; then
mkdir -p $APPPREFIX/share/soundfonts
cp "$SDL_SOUNDFONTS" $APPPREFIX/share/soundfonts
fi
}
add_fonts
# copy dependencies
mkdir -p $APPPREFIX/lib
@@ -76,6 +79,8 @@ if ls $APPPREFIX/lib/libwayland-* >/dev/null 2>&1; then
mv $APPPREFIX/lib/libwayland-* $APPPREFIX/lib/wayland
fi
add_fonts
if command wget >/dev/null && wget -V | grep -q https; then
dl() {
wget -O - ${GITHUB_TOKEN+--header "Authorization: token $GITHUB_TOKEN"} "$1"