StoneyDSP modules for VCV Rack 2.
Complete the Setting up your development environment section of the VCV Rack Plugin Development guide.
StoneyVCV can be built in three ways:
-
Download VCV Rack and the Rack SDK (Windows x64 / Mac x64+ARM64 / Linux x64), and build StoneyVCV from any location. (Easiest/fastest.)
-
Build Rack from source and build StoneyVCV in the
plugins/
folder. (Recommended for advanced developers.) -
Build for all architectures with one command using the VCV Rack Plugin Toolchain. Native (Linux) or Docker (Linux, Mac, Windows). Recommended 15 GB disk space, 8 GB RAM.
Download or clone the StoneyVCV source code, e.g.
git clone https://github.com/StoneyDSP/StoneyVCV.git
cd StoneyVCV
If using the Rack SDK, unzip it and set the RACK_DIR
environment variable by running export RACK_DIR=<Rack SDK dir>
.
Build StoneyVCV.
make
Create the distributable plugin package.
make dist
The StoneyVCV package is created at dist/<slug>-<version>-<os>-<cpu>.vcvplugin
.
Or you may build, package, and install StoneyVCV to your Rack user folder in one step.
make install
Note: I recommend using vcpkg to acquire some headers and libraries for developing, testing, and debugging StoneyVCV for VCV Rack2. StoneyVCV is built and tested using the Rack 2.5.2 SDK for all platforms. We use vcpkg to fetch a fresh copy of the correct SDK files when you run the below commands; the files are parsed into CMake targets, which interface with our testing targets.
We recommend setting the VCPKG_ROOT
environment variable in your shell, and launching your IDE from that shell, to ensure the IDE runs in the correct environment. (NOTE: for Windows, use MSYS's 'mingw64' shell for these commands, and use unix-style transformed paths, such as '/c/Users/...')
We recommend not setting the RACK_DIR
environment variable when running the below commands, as it may interfere with vcpkg.
Download or clone the StoneyVCV source code, e.g.
git clone https://github.com/StoneyDSP/StoneyVCV.git
cd StoneyVCV
Configure the StoneyDSP C++ library, Rack SDK, and Catch2 unit tests, along with StoneyVCV, with CMake and vcpkg:
cmake \
-S . \
-B ./build \
-DCMAKE_TOOLCHAIN_FILE="${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_HOST_TRIPLET="x64-linux" # or "x64-osx" or "x64-mingw-dynamic" \
-DVCPKG_TARGET_TRIPLET="x64-linux" # or "x64-osx" or "x64-mingw-dynamic" \
-DSTONEYVCV_BUILD_TESTS=TRUE
To build the tests executable:
cmake \
--build ./build
--target Tests_StoneyVCV
To run unit tests with Catch2 and CTest:
cd build
ctest \
--rerun-failed \
--output-on-failure \
--verbose
cd ..
The unit tests executable should run in the terminal, and eventually indicate the success rate of all the tests combined.
The GitHub Workflows in our repository may be a useful reference, if any doubts.
Please feel welcome to submit pull requests of any changes you feel are useful, interesting, or appropriate, along with any technical notes and/or subjective reasoning; you may use one of our PR templates to help you get started - all community contributions are gratefully recieved.
- VCV Rack - Installing and Running
- VCV Rack - Getting Started
- VCV Rack - Plugin Development Tutorial
- VCV Rack - Plugin Guide