pipewire/pw-uninstalled.sh
Wim Taymans 2e157f7248 filter-chain: make filter-graph SPA plugins
Make SPA plugins from all the filter-graph plugins and use the plugin
loader to load them.

Because they are not in the standard plugin path in development, add
the module dir to the plugin path for now.
2024-11-13 10:20:54 +01:00

66 lines
2.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
while getopts ":b:v:" opt; do
case ${opt} in
b)
BUILDDIR=${OPTARG}
;;
v)
VERSION=${OPTARG}
echo "Version: ${VERSION}"
;;
\?)
echo "Invalid option: -${OPTARG}"
exit 1
;;
:)
echo "Option -${OPTARG} requires an argument"
exit 1
;;
esac
done
if [ -z "${BUILDDIR}" ]; then
BUILDDIR=${SCRIPT_DIR}/builddir
echo "Using default build directory: ${BUILDDIR}"
fi
if [ ! -d "${BUILDDIR}" ]; then
echo "Invalid build directory: ${BUILDDIR}"
exit 1
fi
# the config file read by the daemon
export PIPEWIRE_CONFIG_DIR="${BUILDDIR}/src/daemon"
# the directory with SPA plugins
export SPA_PLUGIN_DIR="${BUILDDIR}/spa/plugins:${BUILDDIR}/src/modules"
export SPA_DATA_DIR="${SCRIPT_DIR}/spa/plugins"
# the directory with pipewire modules
export PIPEWIRE_MODULE_DIR="${BUILDDIR}/src/modules"
export PATH="${BUILDDIR}/src/daemon:${BUILDDIR}/src/tools:${BUILDDIR}/src/media-session:${BUILDDIR}/src/examples:${BUILDDIR}/pipewire-v4l2/src:${PATH}"
export LD_LIBRARY_PATH="${BUILDDIR}/src/pipewire/:${BUILDDIR}/pipewire-jack/src/${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}"
export GST_PLUGIN_PATH="${BUILDDIR}/src/gst/${GST_PLUGIN_PATH+":${GST_PLUGIN_PATH}"}"
# the directory with card profiles and paths
export ACP_PATHS_DIR="${SCRIPT_DIR}/spa/plugins/alsa/mixer/paths"
export ACP_PROFILES_DIR="${SCRIPT_DIR}/spa/plugins/alsa/mixer/profile-sets"
# ALSA plugin directory
export ALSA_PLUGIN_DIR="${BUILDDIR}/pipewire-alsa/alsa-plugins"
export PW_BUILDDIR=$BUILDDIR
export PW_UNINSTALLED=1
export PKG_CONFIG_PATH="${BUILDDIR}/meson-uninstalled/:${PKG_CONFIG_PATH}"
if [ -d "${BUILDDIR}/subprojects/wireplumber" ]; then
# FIXME: find a nice, shell-neutral way to specify a prompt
"${SCRIPT_DIR}"/subprojects/wireplumber/wp-uninstalled.sh -b"${BUILDDIR}"/subprojects/wireplumber "${SHELL}"
elif [ -d "${BUILDDIR}/subprojects/media-session" ]; then
# FIXME: find a nice, shell-neutral way to specify a prompt
"${SCRIPT_DIR}"/subprojects/media-session/media-session-uninstalled.sh -b"${BUILDDIR}"/subprojects/media-session "${SHELL}"
else
# FIXME: find a nice, shell-neutral way to specify a prompt
${SHELL}
fi