Recent Releases
2.4.126 Aug 2023 07:25
minor bugfix:
Improve module browser search order.
Library menu plugin update items not being re-enabled when downloading is completed.
Rack Pro.
- discarded MIDI input messages for all plugin adapters.
API.
- Add `LightButton` to component library.
- Use SSE4.1 intrinsics in `simd::trunc`, `floor`, `ceil`, `round`, and `fmod` to improve performance.
2.4.013 Aug 2023 22:24
major feature:
- Add "View Use dark panels if available" menu item.
- Show module ID in module's Info menu.
- Fix order of input MIDI messages having the same frame timestamp. This fixes *VCV MIDI to CV* from sometimes duplicating clock pulses when transport starts.
- Move plugins folder to `/plugins--`.
- Core
- Add dark panels.
- Rack Pro
- Add CLAP FX and Generator plugin adapters in addition to existing Instrument plugin.
- Fix file dialogs from sometimes loading/saving the wrong Rack plugin instance when multiple instances are running.
- Fix crash when using Mac VST3 and AU plugins simultaneously in a DAW.
- Fix crash when removing one of multiple running plugin instances in Studio One.
- Fix CLAP plugin discarding output MIDI messages.
- API
- Add `ThemedSvgPanel` and `ThemedSvgScrew` classes which automatically switch SVGs when dark panels are toggled.
- Add `"minRackVersion"` property to plugin manifest, which prevents Rack from downloading plugin if version is not compatible.
- Fix `ContextCreateEvent` and `ContextDestroyEvent` not defining `vg` NanoVG context.
1.1.616 Nov 2019 06:45
minor feature:
"Frame rate" typo in changelog.
.
screenshot flag -t.
.
Switch to dev version.
.
Core MIDI-Map: Only set param if CC is initialized.
.
Include rack:: namespace in APP and logger macros (DE, INFO, WARN, .
.
Disable crash warning dialog in dev mode.
.
Explicitly specify RTLD_LOCAL for plugin loading.
.
Nudge ParamTooltip inside parent.
.
Remove RACK_FLATTEN_NAMESPACES since it is not known to be used.
.
Delete ModelBox tooltips in a deferred way to avoid a use-after-free.
.
Remove recursive rack namespace.
.
Template-ize some math.hpp functions.
.
Add FrameRateWidget.
.
Don't use glfwGetOpenedFilename() when launched via command line on Mac.
.
Use GLFW's glfwGetOpenedFilename().
.
Don't include GLFW/glfw3native.h in window.hpp.
.
Add proper app bundle detection on Mac.
.
Refactor createLightParamCentered().
.
Merge branch 'v1' of github.com:VCVRack/Rack into v1.
.
Add system::getEntriesRecursive().
.
Add `EXTRA_FLAGS`, `EXTRA_CFLAGS`, `EXTRA_CXXFLAGS`, `EXTRA_LDFLAGS` .
.
Enable proxy in curl build.
.
Replace generic log2 with int.
.
Add inline to log2.
.
Remove quotes from SLUG and VERSION in plugin Makefile, but add them .
.
Clarify graphics licenses.
.
Add IIRFilter.
.
Add ability for plugins to use LuaJIT.
.
Add changelog entries.
.
Add json.hpp.
.
Revert "Add json.hpp.".
.
string namespace: Change base64 functions. Add compress/uncompress.
.
Update documentation for string::
.
Use zlib types for string::compress/uncompress implementation.
.
Add text editing in NoteChoice of MIDI-Gate and CC-Gate.
.
random::uniform() to not return 1.f.
.
Update changelog.
.
Bump version.
1.1.530 Sep 2019 03:15
minor feature:
Use dev version
.
MIDI-Map: Jump value for MIDI CC buttons.
.
Line-break descriptions for tags.
.
Add libsamplerate to deps. Reorder dep Makefile.
.
Add libsamplerate license to LICENSE-dist.
.
Add libsamplerate to Mac build.
.
Add libsamplerate to Windows build.
.
Delete ModuleWidget children before deleting Module.
.
Add Hardware tag.
.
Reorder tag and brand lists in Module Browser.
.
Accept backspace key command on key-repeat with Module Browser search .
.
Move plugin.cpp's extractZip to system::unzipToFolder().
.
Correct documentation for math::interpolateLinear.
.
Add changelog entry for 1.1.5.
.
Add automatic unzipping when updating on Mac.
.
Update formatting of code generated by helper script.
.
sustain pedal in polyphonic mode.
.
Add changelogUrl to helper script.
.
Update curl and OpenSSL.
.
Add network::init(). Add asset::bundlePath.
.
Don't use GLU header.
.
Don't use GLU in dep.cpp either.
.
Stop engine wprker threads when engine is paused.
.
Hide menu and scrollbars when fullscreen.
.
Add key command for engine CPU timer.
.
Add numpad key commands. Clean up Scene::onHoverKey().
.
Add sort-of-automatic updater on Linux.
.
Change screenshot flag to -t zoom . Re-enable on Mac.
.
Replace "frameRateLimit" and "frameRateSync" in settings with "frameS .
.
Add Engine Frame rate menu bar item.
.
Use actual monitor refresh rate instead of 60 Hz as frame rate refere .
.
Bump version.
.
Add LEDLightSlider and other component library classes.
.
Add SegmentDisplay to component library. huge light halo wi .
.
Update changelog.
1.1.423 Aug 2019 03:15
minor feature:
Clean up code and templates.
.
Slightly improve random::uniform() performance.
.
Update deps.
.
Module Browser: Sort modules by order they are added to plugins with .
.
Port sse_mathfun_extension to simd folder.
.
Add dsp::BiquadFilter.
.
Include complex.h. Reimplement dsp::TBiquadFilter::getFrequencyRespon .
.
Remove dsp::TBiquadFilter::type from state.
.
Add Artistic Style formatting script.
.
Rewrite CONTRIBUTING. Tweak templates.
.
Rename CPU meter to "module timer".
.
Use.astylerc options file rather than wrapper script for astyle.
.
Tweak.astylerc.
.
Revise astylerc.
.
Auto-format code with astyle.
.
MIDI-Map: re-enable filtering.
.
Refactor engine worker thread relaunching.
.
Move tag lists to tag.cpp.
.
Restructure the tag/alias data structure.
.
Add dsp/approx.hpp.
.
Update changelog.
.
Reorder tag.cpp. Clean up comments.
.
Use thread runtime rather than time of day for measuring module CPU.
.
Rename "Module timer" back to "CPU meter".
.
Add system::getThreadTime implementation on Windows.
.
Ignore mouseDelta (set to zero) after locking and unlocking cursor.
.
Merge branch 'v1' of github.com:VCVRack/Rack into v1.
.
Remove deging.
.
Change _mm_cvtps_epi32 (rounding conversion) to _mm_cvttps_epi32 (tru .
.
Add float_4 implementation of approxExp2Floor.
.
Measure CPU time every N frames instead of every frame. Measure overh .
.
Implement system::getThreadTime on Mac.
.
Port some of sse_mathfun to functions.hpp. Clean up SIMD headers.
.
Remove exception resetting.
.
Update tag list URL.
.
Check plugin version against Rack ABI version before plugin is loaded.
.
Make SchmittTrigger a template specialization instead of a separate c .
.
.
.
Add Base64 encoding/decoding to string.hpp.
.
Update changelog.
.
Bump version.
.
Use h
1.1.325 Jul 2019 18:45
minor feature:
Add note to libcurl build flags on Mac.
.
Merge branch 'v1' of github.com:VCVRack/Rack into v1.
.
Add date to changelog.
.
Make dev version.
.
Add "pragma once" to plugin.hpp generated by helper.py.
.
Use built-in certificate bundle for curl.
.
Use OpenSSL on Windows. Include cacert.pem in dist.
.
Allow included Fundamental plugin to be unsigned, which solves #1494.
.
Bump version.
.
Add changelog entry for 1.1.3. Remove verbose curl.
.
Refactor dist Makefile target.
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 github.com:VCVRack/Rack 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 github.com:VCVRack/Rack 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 helper.py to better parse illustrator-generated svg files.
.
indentation.
.
Add code of conduct, from https://www.contributor-covenant.org/.
.
Add email to CODE-OF-CONDUCT.
.
Reenable backtrace printing in log. Demangle symbols on Linux.
.
Clean up changelog and Makefile.
.
Merge branch 'v1' of github.com:VCVRack/Rack 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 /LICENSE.md .
.
Add string::filename() before computing string::filenameExtension().
.
Merge branch 'v1' of github.com:VCVRack/Rack 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 github.com:VCVRack/Rack 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 helper.py.
.
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 dep.mk.
.
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 https://github.com/VCVRack/Rack into v0.6.
.
Bump version for rebuild.
0.6.119 Jun 2018 18:45
minor feature:
Refactor OBJECTS in compile.mk
.
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 https://github.com/VCVRack/Rack 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 github.com:VCVRack/Rack 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 github.com:VCVRack/Rack 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 plugins.mk.
.
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 github.com:VCVRack/Rack.
.
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 github.com:VCVRack/Rack.
.
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 github.com:VCVRack/Rack 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 github.com:VCVRack/Rack 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 github.com:VCVRack/Rack.
.
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.