- Git
- Visual Studio 2017 (Community edition is fine)
- Vcpkg
- CMake (3.8 or higher)
- GStreamer (1.16 or higher)
- ProjectM (4.0 or higher)
- Download (or clone, if git installed) the repository
git clone https://github.com/projectM-visualizer/gst-projectm.git
- Set Environment Variables
- PROJECTM_ROOT - Path to built projectM directory
- VCPKG_ROOT - Path to vcpkg installtion directory
[Environment]::SetEnvironmentVariable("PROJECTM_ROOT", YOUR_PATH_HERE, "User")
[Environment]::SetEnvironmentVariable("VCPKG_ROOT", YOUR_PATH_HERE, "User")
- Run build script
.\build.ps1
.\build.ps1 --auto # Skips prompts by using default options
The build script will ask if you want to install the plugin.
- Create GStreamer plugins directory.
New-Item -Path "$Env:USERPROFILE\.gstreamer\1.0\plugins" -ItemType Directory | Out-Null
- Copy the built plugin to the plugins directory.
Copy-Item -Path "dist\gstprojectm.dll" -Destination "$Env:USERPROFILE\.gstreamer\1.0\plugins\gstprojectm.dll" -Force
- Set GST_PLUGIN_PATH environment variable to the plugins directory.
[Environment]::SetEnvironmentVariable("GST_PLUGIN_PATH", "$Env:USERPROFILE\.gstreamer\1.0\plugins", "User")
To utilize the plugin with the example, please install GStreamer
gst-launch-1.0 audiotestsrc ! queue ! audioconvert ! projectm ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! xvimagesink sync=false
./test.ps1 --inspect # Inspect the plugin
./test.ps1 --audio # Test the plugin with audio
./test.ps1 --preset # Test the plugin with a preset
./test.ps1 --properties # Test the plugin with properties
./test.ps1 --output-video # Test the plugin with video output (video only)
./test.ps1 --encode-output-video # Test the plugin with encoded video output (audio/video)