Rack is the engine for the VCV open-source virtual modular synthesizer.
This README includes instructions for building Rack from source. For information about the software, go to https://vcvrack.com/.
The Issue Tracker is the official developer's forum
Bug reports, feature requests, and even questions/discussions are welcome on the GitHub Issue Tracker for all VCVRack repos. However, please search before posting to avoid duplicates, and limit to one issue per post.
Please vote on feature requests by using the Thumbs Up/Down reaction on the first post.
I rarely accept code contributions to Rack itself, so please notify me in advance if you wish to send a pull request.
Rack's dependencies (GLEW, glfw, etc) do not need to be installed on your system, since specific versions are compiled locally during the build process. However, you need proper tools to build these dependencies.
Install Xcode. Install CMake (for some of Rack's dependencies).
Install MSYS2 and launch the mingw64 shell (not the default msys2 shell). Install build dependencies with the pacman package manger.
pacman -S git make tar unzip mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake autoconf automake mingw-w64-x86_64-libtool
With your distro's package manager, make sure you have installed git
, gcc
, make
, cmake
, tar
, unzip
, and curl
.
If the build fails for you, please report the issue with a detailed error message to help the portability of Rack.
Clone this repository with git clone https://github.com/VCVRack/Rack.git
and cd Rack
.
The master
branch contains the latest public code and breaks its plugin API and ABI frequently.
If you wish to build a previous version of Rack which is API/ABI-compatible with an official Rack release, check out the desired branch with git checkout v0.5
for example.
Clone submodules.
git submodule update --init --recursive
Build dependencies locally.
You may use make's -j$(nproc)
flag to parallelize builds across all your CPU cores.
make dep
You may use make dep RTAUDIO_ALL_APIS=1
to attempt to build with all audio driver APIs enabled for your operating system, although this is unsupported.
You should see a message that all dependencies built successfully.
Build Rack.
make
Run Rack.
make run
Be sure to check out and build the version of Rack you wish to build your plugins against.
You must clone the plugin in Rack's plugins/
directory, e.g.
cd plugins
git clone https://github.com/VCVRack/Fundamental.git
Clone submodules.
cd Fundamental
git submodule update --init --recursive
Build plugin.
make
All source code in this repository is licensed under BSD-3-Clause by Andrew Belt.
Component Library graphics in res/ComponentLibrary
are licensed under CC BY-NC 4.0 by Grayscale. Commercial plugins must request a commercial license to use Component Library graphics by emailing contact@vcvrack.com.
Core panel graphics in res/Core
are copyright © 2017 Grayscale. You may not create derivative works of Core panels.
The VCV logo and icon are copyright © 2017 Andrew Belt and may not be used in derivative works.
The "VCV" name is trademarked and may not be used for unofficial products. However, it is acceptable to use the phrase "for VCV Rack" for promotion of your plugin. For all other purposes, email contact@vcvrack.com.