VCV Rack 1.1.2

VCV is a virtual Eurorack DAW. VCV Rack is the engine powering VCV modules. Add modules, connect cables, edit parameters, and save/load patches. Create generative patches with your mouse, perform with your MIDI keyboard controller, or connect it to your favorite DAW using the Rack Bridge VST/AU plugin (coming soon). In Rack, control voltages and audio signals are equivalent, so you can modulate parameters with sonic-range VCOs to create customizable FM synths or chaotic wave-shaping oscillators. If you already own a modular synthesizer, you can enhance your setup with an audio interface supporting CV signals or a CV-MIDI-CV interface module with Rack's CV Interface (coming soon).

Tags artistic-software multimedia audio mixers daw
License BSDL
State development

Recent Releases

1.1.221 Jul 2019 03:25 minor feature: Add date to changelog. . Assert that there are no duplicate PortWidgets added to a ModuleWidget. . Add changelog entry. . Don't deserialize left/rightModuleIds. . Decrease scroll speed on Mac for all mice. . Add JACK support to RtMidi. . Merge branch 'v1' of into v1. . Add PatchManager::loadPathDialog() for dragging a file to the Rack wi . . Add working notarization target and Entitlements file for Mac. . Clarify license. . Merge branch 'v1' of into v1. . Disable RtMidi JACK on Mac. . Re-enable ALSA MIDI on Linux. . crash in RackWidget::pastePresetClipboardAction(). . Update osdialog. Update CHANGELOG. . Hide CPU meter when module is disabled. . Adjust to better parse illustrator-generated svg files. . indentation. . Add code of conduct, from . Add email to CODE-OF-CONDUCT. . Reenable backtrace printing in log. Demangle symbols on Linux. . Clean up changelog and Makefile. . Merge branch 'v1' of into v1. . Put tags above description in Module Browser tooltip. . Add fatal signal handling on Mac, with better stability in the handle . . Add log path to fatal signal handler dialog message. . Update CHANGELOG. . Clarify wording in license details. . Remove res/ license texts because they are redundant with / . . Add string::filename() before computing string::filenameExtension(). . Merge branch 'v1' of into v1. . Re-enable certificate checking in network:: . Add WhiteLight to component library. . Use native SSL implementation instead of local OpenSSL. Untested on. . Merge branch 'v1' of into v1. . Remove OpenSSL from dependencies. . Revert "Remove OpenSSL from dependencies.". . Re-add OpenSSL in libcurl build. . Use schannel on Win instead of OpenSSL. . Remove OpenSSL header. . Remove OpenSSL from deps on Win. . Write stack trace to log.txt on Windows. .
1.1.102 Jul 2019 03:15 minor feature: list formatting in changelog. . Revert to case insensitive sorting of brands in Module Browser. . Don't flip scroll coordinates of ScrollWidget when shift is held on Mac. . Clean up unused Mac build targets. Separate dep/Makefile targets into . . Update osdialog dep. . Add entry for 1.1.1 in changelog. . Add updater.hpp/cpp and more advanced app updating functionality. . Finish auto-updater on Windows. Add network::urlPath(). Reimplement. . Update changelog. . expander assignment when force-dragging modules. . Inkscape labels not being read from . Oversample screenshots by 2. . mixup of documentation of plugin::Plugin members. . Bump version to 1.1.1.
1.1.028 Jun 2019 03:15 minor feature: F1 key command for opening manual in a web browser. . Disable -p flag on Mac for now since App Translocation interferes wit . . Add `make notarize` target to Makefile. . Revise templates. . Add `make staple` target, although for now this is useless. Prompt us . . Update osdialog, which loading/saving UTF-8 files on Windows. . Add changelog for 1.0.1. . Bridge MIDI receiving, thanks stoermelder. . Initialize simd::Vector to zero. . Add plugin name to Module Browser search string. . Add deging for scancodes. . Make default constructor cause Vector to be uninitialized. . Make Tooltip fit inside parent. . Add system::getAbsoluteDirectory(). . Implement system::getAbsolutePath() on Mac. . Move system::getAbsolutePath() to string::absolutePath(). Implement on. . Add more keyboard key and scancode deging. . Remove line from old Mac dependency. . Make brand list case sensitive. . Wrap Core plugin in core:: namespace. . Update changelog. . in RackWidget::toJson() where cable ID was being set on the r . . Clear filters in Module Browser when backspace is pressed while the s . . Change upcoming version to 1.1.0. . Add Ctrl-0 key command for resetting zoom. . Emulate middle-click with Ctrl-shift-click. . Update CHANGELOG. . Add error message to stderr if cannot open log.txt file. . Unset ID of newly cloned modules because serializing them sets the ID. . Delete keyCallback deging. . Bump version.
1.0.020 Jun 2019 21:05 minor feature: Move all metadata from Param to ParamQuantity. . Change origin offset of RackScrollWidget. . RackWidget_updateAdjacent not disconnecting modules. . Only serialize left/rightModuleId if valid ID. . Assert ModuleWidget height when added to RackWidget. Round ModuleWidg . . Log OS version on launch. . GetVersion function call. . Add partial Unicode handling of filenames on Windows. . Add stringwstring conversion functions. . Change helper and rack0.hpp to use new configParam method. Add dsp::C . . syntax. . Clarify license on Core panels. . where only one expander could be set. . Change dsp::Counter to dsp::ClockDivider. . Add string::ellipsizePre. Use kHz instead of Hz for sample rate di . . Initialize OpenGL context before calling scene- draw(). . Add shadows to SvgButton and SvgSwitch. Rearrange ModuleWidget contex . . Reorder glClear and nanovg drawing. Rename CPU meter to CPU timer. . Add SED to . Rename CPU meter. . string::basename() on Mac (and possibly Windows). Rename stri . . Improve documentation of Module. . Offset modules to origin of rack when saving patch. . Replace `Event::consumed` with `target` and `propogating`. . Rename `widget::*Event` to `event::*`. . Add `event::Context::consumed`. . Consume onDragHover in OpaqueWidget. . Add middle-click-drag to ScrollWidget. numerous introduced b . . Call onAction when clicking ParamWidgets. . Disable middle-click triggering HoverScroll event. . Handle HoverScroll only if scrollbars are visible. . Allow TextField to be dragged. . Update event documentation. . Add Ctrl-- and Ctrl-= for zooming in and out. . Add assertions for 0-width ModuleWidgets. Add warning if framebuffer . . Create Action event when Knob is pressed but not moved. . Make RackRails positioned correctly to prevent blank frames. . Add bus board to rack. . rack rail when resizing. Decrease size of rack rail framebuffer. . Reset nanovg context before calling event handlers and step(). . Add some Inf
0.6.2b15 Jul 2018 07:45 minor feature: Add Bridge fx VST plugin to windows dist . Tweak license text. . Add ::reset() to TriggerGenerator. . Add -g and -l command line arguments. . Disable drawing of power meter on Core AUDIO. . Re-add power meter for Audio, add Rect::shrink. . Reorganize DSP headers, rewrite Decimator, rewrite some FIR functions. . Added Upsampler. . Change API of dsp/ode.hpp. . Change variable names, add example to documentation. . More documentation. . Revert renaming of PulseGenerator to TriggerGenerator. . Un-deprecate helper functions, move to helpers.hpp. . mistakes in helper functions. . Bump version, add changelog entry. . Merge branch 'v0.6' of into v0.6. . Bump version for rebuild.
0.6.119 Jun 2018 18:45 minor feature: Refactor OBJECTS in . Update changelog. . Update CHANGELOG, strip flags in dist. . Update CHANGELOG. . Update CHANGELOG. . Update CHANGELOG. . Condense Module Browser module list item, don't persist filters. . Use generic strip in Makefiles. . Full static build on Linux. . Add JACK driver to Linux rtaudio, forcing Linux users to have JACK. . link for libcurl and libopenssl on Mac. . Merge branch 'v0.6' of into v0.6. . Full static build on Mac. . Update make run, de, and perf. . WIP Windows static build. . Windows static build. . Include a couple.dlls for plugins to link to on Windows. . Switch from curl to wget for building deps. . Merge branch 'v0.6' of into v0.6. . Switch to Cmake build for GLEW. . Update openssl and curl. . Bump version. . Update nanosvg. . Set default pitch to 0V for MIDI-1, add RGBLight. . Header file tweaks. . Add Vec::flip(). . manage plugins URL. . Add VCVRack as the name of the RtAudio client. . Forgot a space. . . . RtMidi Clients are named VCV Rack. . . . Merge branch 'master' of into v0.6. . Use pkgconfig for finding openssl version. . Restructure midi for multiplexing, add gamepad midi driver, add CPU. . Further restructure to midi.hpp. . Added more verbose logging. . More MIDI restructuring, changed driver - driverId, device - deviceId. . Generate MIDI with Gamepad driver, allow negative CC values in MIDI-CC. . Added colors to logger (terminal mode only), use notes for gamepad. . Added preliminary computer keyboard MIDI support. . Massive refactor to MIDI API, re-enable Bridge. . Clean up temporary code, properly handle unsubscribing from rtmidi. . blank MIDI driver. Open patch with command-line argument, set Windows global directory to. . Add keypad Enter key command for module browser. . Added Ubuntu build dependencies. . Use hex strings for colors in patch file instead of object. . Merge branch
0.6.006 Apr 2018 06:45 minor feature: Implement single message per step for all midi modules and quad m . rtaudio link. . Merge branch 'v0.5'. . Update CHANGELOG for v0.5.1. . Update samplerate.hpp API. . quad midi pedal handling. . merge conflict. . Add `make dist` to . Remove interactive mode from dep `make clean`. . Build system. Added support for continuous encoders, aka Knob widgets with infinite. . pedal gate release. . . Add AudioWidget. . Merge branch 'master' of . Remove request URL from log.txt. . Use AudioIO in AudioInterface. . Stop audio instead of abort, use requested sample rate instead of. . Return specialized type in rack.hpp helper functions. . Use t sample rate in AudioIO::openStream(). . Add midi.cpp with MidiIO class. . Refactor plugin sync code. . stream upon destructing AudioInterface. . Last commit doesn't do anything, reverted. . Un-reverting last commit. . Use RELEASE=1 to build release version. VERSION is automatically set . . Use Module::params/inputs/outputs indices instead of. . Serialize wire color. . ModuleWidget serializes pos in rack grid coordinates instead of pixel. . Draw opaque wire if one of its ports is hovered. . Reorganize midi.hpp and audio.hpp, add prompt before clearing patch a . . error message in RackWidget::fromJson. . . . Re-LightWidget drawing. . Merge branch 'master' of . Enable denormals-are-zero (DAZ) mode in engine. . Added active light indicators to AudioInterface and MIDItoCVInterface. . Add absf() to math.hpp. . scrolling menus again. . Rename randomSeedTime to randomInit and assert that it's called only. . Use curl instead of wget for make dep. . Define SLUG macro from Makefile for plugins. . Refactor math.hpp. . Refactor util.hpp. . Rename util.hpp to common.hpp, include paths. . for menu clamping. . eucmod typos. . Replace github release of speexdsp with pre-autogen'd package hosted on. . Added clock modulator tag. . Merge branch 'ma
0.5.120 Dec 2017 03:15 minor feature: RtAudio include path . Update changelog. . Update LICENSE. . Add SSL support to curl build. . note off velocity. . Add Rack version to plugin request. . Update plugin manager to new online Rack plugin manager API. . Add openssl to build system. . Add -lcrypto to Mac/Windows build. . Add CKSSThree switch, ENUMS macro. . Update Mac make dist. . Leave Add Module popup metadata window open after mouse leaves module. . Merge branch 'v0.5' of into v0.5. . Windows build. . Disable SSL cert verification, add openssl dlls to Windows build. . Add openssl to Linux build. . Add openssl to Linux dist. . Merge branch 'v0.5' of into v0.5. . Add -lssl to Linux build.
0.5.024 Nov 2017 03:15 minor feature: Restructure midi interface . Add trigger-to-cv module. . Added Quit to File menu. . WIP Implement rtMidi wrapper. . File New attempts to load template.vcv if exists. . Remove macro VERSION_0_4_0. There is no need for version checks, since. . Simplify midi splitting and implement proper handling. . Update midi modules accordingly. . Remove velocity dependent output from trigger for now (let trigger be . . segfault on closing rack (and variable naming). . minor. Copy correct librtmidi file to Linux dist. . Reduce Light radius. . use int. . Update midi clock implementation and minor for clock. . Change color of LightPanel to match Fundamental. . Added boolean parameter to make knobs snap, made them visually snap as. . Don't smooth snapped knobs. . Don't define VERSION in dev builds. . Add -Wsuggest-override to build system for Rack and plugins. . Remove gSampleRate, add engineGetSampleRate(). . Add override keyword everywhere. . Add message to build the correct version of Rack when building plugins. . Rename initialize() to reset(). . clock ratio selection. . Add midi learn to CC/Trigger module (hold down right mouse button on. . resetMidi when initialize is called. . handling for ignore types. . remove virtual from functions in modules (inherit from midiIO not from. . merge master. . Resolve after merging (initialisze - reset etc.). . Save lastPath in settings. . Merge branch 'bontric-2017-10-bontric-midi-interface-revamp'. . Mac, sleep GUI thread if framerate is too high. . . . . Added version metadata to plugin. . Merge branch 'master' of . Renamed Plugin to Manufacturer, added multiline to TextField, added. . (Also: add indicator lights which are ON as long as a knob is. . Merge branch 'master' of https://gith
0.4.020 Nov 2017 05:11 minor feature: Stackable Cables on output ports, sub-menus for each plugin and scrollable menus, MIDI CC-to-CV Interface, updated MIDI-to-CV Interface, resizable Blank Panel added to Core, added plug lights for monitoring voltages of cables.