You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Belt a22aac6493 Added zoom slider, zoom to settings, finished Framebuffer scaling 7 years ago
.github Add Github issue template 7 years ago
dep Fix rtmidi build and linker flag on Windows 7 years ago
ext Cleanup, update nanovg 7 years ago
include Added zoom slider, zoom to settings, finished Framebuffer scaling 7 years ago
plugins Add stub to plugins directory 7 years ago
res Add RoundBlackKnob 7 years ago
src Added zoom slider, zoom to settings, finished Framebuffer scaling 7 years ago
.gitignore Autosave settings: opacity, tension, authentication token 7 years ago
.gitmodules Remove dr_libs submodule 7 years ago
CHANGELOG.md Add SearchModuleField to RackWidget 7 years ago
Info.plist Remove version strings from Info.plist on Mac 7 years ago
LICENSE-dist.txt Update LICENSE-dist 7 years ago
LICENSE.txt Relicensed to BSD-3-Clause 7 years ago
Makefile Clean up build system 7 years ago
README.md Renamed Plugin to Manufacturer, added multiline to TextField, added 7 years ago
Rack.rc Fix Windows build, use portaudio pre-builds, remove curl init/destroy 7 years ago
Rack.res Fix plugin and request.hpp bugs, add icon res file to Windows 7 years ago
Rack.sh Add Rack.sh Linux wrapper script 7 years ago
arch.mk Various tweaks and fixes 7 years ago
compile.mk Clean up build system 7 years ago
icon.icns Update Mac icns icon 7 years ago
icon.ico Tweak icons again 7 years ago
plugin.mk Clean up build system 7 years ago

README.md

Rack

Rack is the engine for the VCV open-source virtual Eurorack DAW.

Rack screenshot

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.

You may vote on feature requests by using the Thumbs Up/Down reaction on the first post.

Setting up your development environment

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.

Mac

Install Xcode. Install CMake (for some of Rack's dependencies) and wget, preferably from Homebrew.

Windows

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

Linux

With your distro's package manager, make sure you have installed gcc, make, cmake, tar, and unzip.

Building

If the build fails for you, please report the issue with a detailed error message to help the portability of Rack.

Clone this repository and cd into it. If you would like to build a previous version of Rack instead of the master branch, check out the desired tag with git checkout v0.4.0 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 should see a message that all dependencies built successfully.

Build Rack.

make

Run Rack.

make run

Building plugins

Be sure to check out and build the version of Rack you wish to build your plugins against.

Clone your favorite plugin in the 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

License

Rack source code by Andrew Belt licensed under BSD-3-Clause

Component Library graphics by Grayscale licensed under CC BY-NC 4.0