1. Introduces option --script=<script to run instead of muxing>. 2. On Windows <script to run instead of muxing> should be a "bat"-file otherwise a shell script, e.g. root@root-pc MINGW32 ~/bs1770gain # cat script.bat @echo off ffmpeg -hide_banner -loglevel panic -i %BS1770GAIN_SOURCE% -filter:a "volume=%BS1770GAIN_INTEGRATED_RELATIVE%dB" -y %BS1770GAIN_TARGET% root@root-pc MINGW32 ~/bs1770gain # cat script.sh ffmpeg -hide_banner -loglevel panic -i ${BS1770GAIN_SOURCE} -filter:a "volume=${BS1770GAIN_INTEGRATED_RELATIVE}dB" -y ${BS1770GAIN_TARGET} root@root-pc MINGW32 ~/bs1770gain Please note that using "ffmpeg" is not mandatory. Here it serves as a mere example. 3. On Windows it is assumed that there is a command interpreter at "C:\Windows\system32\cmd.exe" otherwise a shell interpreter at "/bin/sh". 4. The following environment variables are provided (as long as their calculation is required due to parameterization): * BS1770GAIN_SOURCE, * BS1770GAIN_TARGET, * BS1770GAIN_LU, * BS1770GAIN_LRA, * BS1770GAIN_OVERWRITE, * BS1770GAIN_NORM, * BS1770GAIN_TRACK_INTEGRATED aka BS1770GAIN_INTEGRATED, * BS1770GAIN_TRACK_INTEGRATED_RELATIVE aka BS1770GAIN_INTEGRATED_RELATIVE, * BS1770GAIN_TRACK_MOMENTARY_MEAN aka BS1770GAIN_MOMENTARY_MEAN, * BS1770GAIN_TRACK_MOMENTARY_MEAN_RELATIVE aka BS1770GAIN_MOMENTARY_MEAN_RELATIVE, * BS1770GAIN_TRACK_MOMENTARY_MAXIMUM aka BS1770GAIN_MOMENTARY_MAXIMUM, * BS1770GAIN_TRACK_MOMENTARY_MAXIMUM_RELATIVE aka BS1770GAIN_MOMENTARY_MAXIMUM_RELATIVE, * BS1770GAIN_TRACK_MOMENTARY_RANGE aka BS1770GAIN_MOMENTARY_RANGE, * BS1770GAIN_TRACK_SHORTTERM aka BS1770GAIN_SHORTTERM, * BS1770GAIN_TRACK_SHORTTERM_RELATIVE aka BS1770GAIN_SHORTTERM_RELATIVE, * BS1770GAIN_TRACK_SHORTTERM_MEAN aka BS1770GAIN_SHORTTERM_MEAN, * BS1770GAIN_TRACK_SHORTTERM_MEAN_RELATIVE aka BS1770GAIN_SHORTTERM_MEAN_RELATIVE, * BS1770GAIN_TRACK_SHORTTERM_MAXIMUM aka BS1770GAIN_SHORTTERM_MAXIMUM, * BS1770GAIN_TRACK_SHORTTERM_MAXIMUM_RELATIVE aka BS1770GAIN_SHORTTERM_MAXIMUM_RELATIVE, * BS1770GAIN_TRACK_SHORTTERM_RANGE aka BS1770GAIN_SHORTTERM_RANGE, * BS1770GAIN_TRACK_SAMPLEPEAK_ABSOLUTE aka BS1770GAIN_SAMPLEPEAK_ABSOLUTE, * BS1770GAIN_TRACK_SAMPLEPEAK_RELATIVE aka BS1770GAIN_SAMPLEPEAK_RELATIVE, * BS1770GAIN_TRACK_TRUEPEAK_ABSOLUTE aka BS1770GAIN_TRUEPEAK_ABSOLUTE, * BS1770GAIN_TRACK_TRUEPEAK_RELATIVE aka BS1770GAIN_TRUEPEAK_RELATIVE, * BS1770GAIN_ALBUM_INTEGRATED, * BS1770GAIN_ALBUM_INTEGRATED_RELATIVE, * BS1770GAIN_ALBUM_MOMENTARY_MEAN, * BS1770GAIN_ALBUM_MOMENTARY_MEAN_RELATIVE, * BS1770GAIN_ALBUM_MOMENTARY_MAXIMUM, * BS1770GAIN_ALBUM_MOMENTARY_MAXIMUM_RELATIVE, * BS1770GAIN_ALBUM_MOMENTARY_RANGE, * BS1770GAIN_ALBUM_SHORTTERM, * BS1770GAIN_ALBUM_SHORTTERM_RELATIVE, * BS1770GAIN_ALBUM_SHORTTERM_MEAN, * BS1770GAIN_ALBUM_SHORTTERM_MEAN_RELATIVE, * BS1770GAIN_ALBUM_SHORTTERM_MAXIMUM, * BS1770GAIN_ALBUM_SHORTTERM_MAXIMUM_RELATIVE, * BS1770GAIN_ALBUM_SHORTTERM_RANGE, * BS1770GAIN_ALBUM_SAMPLEPEAK_ABSOLUTE, * BS1770GAIN_ALBUM_SAMPLEPEAK_RELATIVE, * BS1770GAIN_ALBUM_TRUEPEAK_ABSOLUTE, and * BS1770GAIN_ALBUM_TRUEPEAK_RELATIVE. 5. Option --script might be combined with option --threads, i.e. executing the script in parallel should be possible. 6. Introduces option --shell=<path to interpreter>. The interpreter is assumed to provide an option "-c" for executing scripts and to require POSIX path conventions. 7. Option --shell might come in handy especially when you're on Windows, using "msys2" and not very comfortable with the capabilties of "bat"-files and their syntax. Then you might prefer e.g. bs1770gain <path to input> -o <path to output directory> --script=./script.sh --shell=/bin/sh.exe or respectively from the Windows "cmd"-box bs1770gain <path to input> -o <path to output directory> --script=%cd%\script.sh --shell=<path to msys2 installation>\usr\bin\sh.exe Please note that a full path to the script as well as to the shell is required.