diff --git a/README.md b/README.md index a223483..027e424 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# reforger-surround +# ReforgerEQ PipeWire/PulseAudio helper for exposing Arma Reforger's 5.1 output on Linux. @@ -30,9 +30,11 @@ sudo pacman -S carla lsp-plugins-vst >### Optional - Install script as a callable service > > ```bash ->install -Dm755 reforger-surround ~/.local/bin/reforger-surround +>install -Dm755 reforger-eq ~/.local/bin/reforger-eq >``` ->If you choose not to install it, you can refer to it by running like a standard bash script ie. `cd` to the project directory and use `./reforger-surround` to run. +>`~/.local/bin` must be on your `PATH`. If the command is not found after installing, open a new terminal or reload your shell config. +> +>If you choose not to install it, you can refer to it by running like a standard bash script ie. `cd` to the project directory and use `./reforger-eq` to run. --- @@ -45,11 +47,11 @@ Due to program restrictions on both Arma and Carla, there is a three part proces ### First time install ```bash -reforger-surround up +reforger-eq up # launch Arma Reforger manually -reforger-surround expose -reforger-surround restore -reforger-surround check +reforger-eq expose +reforger-eq restore +reforger-eq check ``` @@ -58,13 +60,13 @@ This creates the 5.1 sink, makes it default, launches Reforger, waits for the ga ### After installing ```bash -reforger-surround launch +reforger-eq launch ``` If `launch` errors or times out, use the manual flow from first time install. ->If Reforger negotiates only `2ch`, restart the game and investigate manually with `qpwgraph`, `reforger-surround status`, and `pactl list sink-inputs`. +>If Reforger negotiates only `2ch`, restart the game and investigate manually with `qpwgraph`, `reforger-eq status`, and `pactl list sink-inputs`. Expected final QPWGraph wiring: @@ -74,11 +76,11 @@ Expected final QPWGraph wiring: ## Part 2. Open ReforgerEQ Carla -Open `reforger-audio.carxp` through Carla: +Open `reforger-eq.carxp` through Carla: - Launch Carla - Click on Open -- Open `reforger-audio.carxp` +- Open `reforger-eq.carxp` >Recommended (optional) KDE one-click launcher for start menu: > @@ -87,7 +89,7 @@ Open `reforger-audio.carxp` through Carla: >- Create a new item. >- Name: `Reforger EQ Carla` >- Program: `carla` ->- Command line arguments: `/path/to/reforger-audio.carxp` +>- Command line arguments: `/path/to/reforger-eq.carxp` --- @@ -114,22 +116,22 @@ Carla patchbay example: ## Useful Commands ```bash -reforger-surround up # create sink, save default, make 5.1 default -reforger-surround launch # up, launch Steam app, wait for stream, restore -reforger-surround restore # restore previous default, then expose Reforger -reforger-surround expose # move running Reforger stream to the 5.1 sink -reforger-surround check # report whether Reforger is 2ch or 6ch -reforger-surround down # restore default and unload the 5.1 sink +reforger-eq up # create sink, save default, make 5.1 default +reforger-eq launch # up, launch Steam app, wait for stream, restore +reforger-eq restore # restore previous default, then expose Reforger +reforger-eq expose # move running Reforger stream to the 5.1 sink +reforger-eq check # report whether Reforger is 2ch or 6ch +reforger-eq down # restore default and unload the 5.1 sink ``` ## Configuration ```bash -REFORGER_SURROUND_SINK_NAME=reforger_surround_51 -REFORGER_SURROUND_DESCRIPTION="Reforger Surround 5.1" -REFORGER_SURROUND_APP_NAME="Arma Reforger" -REFORGER_SURROUND_STEAM_URI=steam://rungameid/1874880 -REFORGER_SURROUND_WAIT_SECONDS=90 +REFORGER_EQ_SINK_NAME=reforger_eq_51 +REFORGER_EQ_DESCRIPTION="ReforgerEQ 5.1" +REFORGER_EQ_APP_NAME="Arma Reforger" +REFORGER_EQ_STEAM_URI=steam://rungameid/1874880 +REFORGER_EQ_WAIT_SECONDS=90 ``` LFE is silent even when Reforger is outputting 6ch. diff --git a/reforger-surround b/reforger-eq similarity index 89% rename from reforger-surround rename to reforger-eq index 9f84f68..d6e6ae7 100755 --- a/reforger-surround +++ b/reforger-eq @@ -2,27 +2,27 @@ set -euo pipefail -sink_name="${REFORGER_SURROUND_SINK_NAME:-reforger_surround_51}" -sink_description="${REFORGER_SURROUND_DESCRIPTION:-Reforger Surround 5.1}" -app_name="${REFORGER_SURROUND_APP_NAME:-Arma Reforger}" -steam_uri="${REFORGER_SURROUND_STEAM_URI:-steam://rungameid/1874880}" -wait_seconds="${REFORGER_SURROUND_WAIT_SECONDS:-90}" -state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/reforger-surround" +sink_name="${REFORGER_EQ_SINK_NAME:-${REFORGER_SURROUND_SINK_NAME:-reforger_eq_51}}" +sink_description="${REFORGER_EQ_DESCRIPTION:-${REFORGER_SURROUND_DESCRIPTION:-ReforgerEQ 5.1}}" +app_name="${REFORGER_EQ_APP_NAME:-${REFORGER_SURROUND_APP_NAME:-Arma Reforger}}" +steam_uri="${REFORGER_EQ_STEAM_URI:-${REFORGER_SURROUND_STEAM_URI:-steam://rungameid/1874880}}" +wait_seconds="${REFORGER_EQ_WAIT_SECONDS:-${REFORGER_SURROUND_WAIT_SECONDS:-90}}" +state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/reforger-eq" module_id_file="${state_dir}/module-id" previous_default_sink_file="${state_dir}/previous-default-sink" usage() { cat <<'EOF' Usage: - reforger-surround create - reforger-surround up - reforger-surround launch [command...] - reforger-surround expose - reforger-surround pin - reforger-surround restore - reforger-surround down - reforger-surround status - reforger-surround check + reforger-eq create + reforger-eq up + reforger-eq launch [command...] + reforger-eq expose + reforger-eq pin + reforger-eq restore + reforger-eq down + reforger-eq status + reforger-eq check Commands: create Create the temporary 5.1 sink without changing the default sink. @@ -36,11 +36,13 @@ Commands: check Report whether a running Reforger stream negotiated stereo or surround. Environment: - REFORGER_SURROUND_SINK_NAME Override sink name. Default: reforger_surround_51 - REFORGER_SURROUND_DESCRIPTION Override visible sink name. Default: Reforger Surround 5.1 - REFORGER_SURROUND_APP_NAME Override app name. Default: Arma Reforger - REFORGER_SURROUND_STEAM_URI Override Steam URI. Default: steam://rungameid/1874880 - REFORGER_SURROUND_WAIT_SECONDS Override launch wait. Default: 90 + REFORGER_EQ_SINK_NAME Override sink name. Default: reforger_eq_51 + REFORGER_EQ_DESCRIPTION Override visible sink name. Default: ReforgerEQ 5.1 + REFORGER_EQ_APP_NAME Override app name. Default: Arma Reforger + REFORGER_EQ_STEAM_URI Override Steam URI. Default: steam://rungameid/1874880 + REFORGER_EQ_WAIT_SECONDS Override launch wait. Default: 90 + +Legacy REFORGER_SURROUND_* variables are still honored as fallbacks. EOF } @@ -146,8 +148,8 @@ up() { cat </tmp/reforger-surround-steam.log 2>&1 & + steam "${steam_uri}" >/tmp/reforger-eq-steam.log 2>&1 & printf 'Requested Steam launch: %s\n' "${steam_uri}" } @@ -187,7 +189,7 @@ launch_game() { if ! input_id="$(wait_for_app_stream)"; then printf 'Timed out waiting for application.name="%s".\n' "${app_name}" >&2 printf 'Leaving %s as default so late stream creation can still negotiate 5.1.\n' "${sink_name}" >&2 - printf 'Run `reforger-surround restore` after the game audio stream appears.\n' >&2 + printf 'Run `reforger-eq restore` after the game audio stream appears.\n' >&2 return 1 fi @@ -221,7 +223,7 @@ expose_app() { printf 'Warning: stream is already stereo-only. Pinning will not make Reforger renegotiate surround.\n' >&2 ;; *) - printf 'Warning: unknown stream channel count; run reforger-surround check.\n' >&2 + printf 'Warning: unknown stream channel count; run reforger-eq check.\n' >&2 ;; esac } diff --git a/reforger-audio.carxp b/reforger-eq.carxp similarity index 100% rename from reforger-audio.carxp rename to reforger-eq.carxp