Rigdio is an automated goalhorn/anthem player designed to ease the burden on streamers during cup events, and increase the options available to managers/caretakers for the team's music exports.
RigDJ is the GUI editor for .4ccm files, released along with Rigdio. It allows for graphical editing of anthem and player songs as well as the various conditions you can set for them. If you intend to use more complex instructions for your music, it is recommended you use RigDJ to avoid needing to know the .4ccm formatting for every condition type.
If you're just looking for the program, you can find it here. Information on how to use Rigdio/RigDJ themselves can also be found here.
If you're interested in building Rigdio/RigDJ yourself, here's some info that'll help.
- Python 3.13 - Programming language required to run and build the code. You must use the Windows 7-compatible Python 3.13 builds from PythonVista, not the official Python releases. The official Python 3.9+ releases dropped Windows 7 support, but PythonVista provides backported builds that work on Windows 7 while giving you access to modern Python features. Any 3.13.x version from PythonVista will do.
- libmpv (64-bit) - The mpv media library DLL required to play songs on Rigdio. You must use a Windows 7-compatible build — recent mpv builds from the official source require Windows 8.1+ or 10+. Download
git-libmpv.7zfrom the last Win7-compatible release (April 2024, mpv v0.38.0), extractlibmpv-2.dllfrom it, and place it in the project and release folders. - python-mpv - Python module used for utilising the mpv media library functions to play songs on Rigdio.
- PyYAML - Python module used for parsing the default settings used in Rigdio.
- pyinstaller - Python module used for building the executable files.
- ffmpeg - Multimedia framework required for loudness analysis. A minimal
ffmpeg.exe(~1.8 MB) is included in the repository. If you need to rebuild it, see the instructions below.
If you've made any changes to the code and wish to test them out without having to build the whole program, you can run it directly through Command Prompt. Open up Command Prompt in your project folder and enter python (name of code file). This also allows you to see whatever messages/errors Rigdio/RigDJ spits out while it's running, making it easier to debug.
For example, the command line to run Rigdio is
python rigdio.py
Similarly, the command line to run RigDJ is
python rigdj.py
Rigdio only uses ffmpeg for loudness analysis via the volumedetect filter. The full ffmpeg build is ~140 MB, but a minimal build with only the required components is ~1.8 MB. A build script is provided to automate this process.
Run the following batch file:
build-ffmpeg.bat
This will:
- Download and install MSYS2 automatically if not already present.
- Install the required MSYS2 packages (GCC, make, nasm, etc.) automatically.
- Clone the ffmpeg source (tag n4.4.1, for Windows 7 compatibility).
- Configure and build a minimal
ffmpeg.exewith only the decoders, demuxers, parsers, filters, and protocols that Rigdio needs. - Copy the built
ffmpeg.exeto the project folder.
Notes:
- On the first run with a fresh MSYS2 installation, the core system update may terminate the MSYS2 terminal. This is normal — just re-run
build-ffmpeg.batand it will continue from where it left off. - The build uses
--disable-asmto work around GCC 14 incompatibilities with ffmpeg n4.4.1's inline assembly. The performance impact is negligible for loudness analysis. - The resulting
ffmpeg.exeis statically linked and has no external DLL dependencies beyond standard Windows system libraries. - You can pass
--jobs Nto control parallelism:python build-ffmpeg.py --jobs 4.
Once you've fully made and tested out your code changes, you can start building the executables. Simply run the batch file for whichever executable you wish to build (compile-rigdio.bat for Rigdio, compile-rigdj.bat for RigDJ) and wait for the process to finish. Assuming the build process went smoothly and without error, you will see a couple new files and folders. The built executable will be stored in the dist folder for you to test out yourself.
TIP: Replace the executable in the Rigdio release folder with your own built executable before testing it out to have a more accurate runtime environment.
If you're on Mac/Linux then you will need to run the command line manually; Fortunately it's short and only a single line.
The command line to build the Rigdio executable is
pyinstaller -F --noconsole --icon=rigdio.ico --add-data "rigdio.ico;." rigdio.py
And the command line to build the RigDJ executable is
pyinstaller -F --noconsole --icon=rigdj.ico --add-data "rigdj.ico;." rigdj.py
To create a complete Rigdio release package, you will need the following files in a single folder:
rigdio.exe- Built fromcompile-rigdio.batrigdj.exe- Built fromcompile-rigdj.batlibmpv-2.dll- The 64-bit mpv library DLLffmpeg.exe- Minimal ffmpeg build (included in the repo, or rebuild withbuild-ffmpeg.bat)config.yml- Default configuration file