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 d5f7325ede Add pulse outputs to MIDI-1 6 years ago
.github Remove PulseAudio from default Linux rtaudio build, fix lastPath being overwritten when autosave is loaded, add List, replace AddModuleWindow with Sublime Text-like browser (partially complete) 6 years ago
dep Fixed typo which re-enables JACK for Linux when built with 6 years ago
include Add MIDI-TRIG panel, add sysex, time, and sense flags to MidiInput 6 years ago
plugins Add stub to plugins directory 7 years ago
res Add MIDI-TRIG panel, add sysex, time, and sense flags to MidiInput 6 years ago
src Add pulse outputs to MIDI-1 6 years ago
.gitignore Ignore libRack.a file. 7 years ago
.gitmodules Merge ext with dep, add Rack-SDK zip file to dist 6 years ago
CHANGELOG.md Update CHANGELOG for v0.5.1 6 years ago
Info.plist Remove version strings from Info.plist on Mac 7 years ago
LICENSE-dist.txt Remove portaudio from license, add RtAudio 7 years ago
LICENSE.txt Relicensed to BSD-3-Clause 7 years ago
Makefile Fix windows PATH for make run and make debug 6 years ago
README.md Add grouping to AudioInterface 6 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 Add buffer methods to ring buffer, change int types to size_t in ring buffer, add ScrollWidget::scrollTo() 6 years ago
icon.icns Fix icons 6 years ago
icon.ico Fix icons 6 years ago
installer-banner.bmp Finished Windows installer 7 years ago
installer.nsi Finished Windows installer 7 years ago
plugin.mk Use RACK_DIR in plugins Makefile framework 6 years ago

README.md

Rack

Rack is the engine for the VCV open-source virtual modular synthesizer.

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.

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.

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).

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 autoconf automake mingw-w64-x86_64-libtool

Linux

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

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 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

Building plugins

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

License

Source code licensed under BSD-3-Clause by Andrew Belt

Component Library graphics in res/ComponentLibrary licensed under CC BY-NC 4.0 by Grayscale

VCV logo is © 2017