Browse Source

Update changelog.

tags/v2.0.0
Andrew Belt 3 years ago
parent
commit
f9431ad874
1 changed files with 25 additions and 4 deletions
  1. +25
    -4
      CHANGELOG.md

+ 25
- 4
CHANGELOG.md View File

@@ -4,28 +4,30 @@ In this document, Mod is Ctrl on Windows/Linux and Cmd on Mac.


### 2.0.0 (in development) ### 2.0.0 (in development)
- Redesign Module Browser with compact layout, adjustable zoom levels, sorting options, intelligent searching, and multiple tag selection. - Redesign Module Browser with compact layout, adjustable zoom levels, sorting options, intelligent searching, and multiple tag selection.
- Redesign component graphics by [Pyer](https://www.pyer.be/).
- Add port tooltips with name, voltage, and list of connected ports. - Add port tooltips with name, voltage, and list of connected ports.
- Evaluate mathematical expressions (such as `1+2*3`) in parameter context menu fields. - Evaluate mathematical expressions (such as `1+2*3`) in parameter context menu fields.
- Add multiple module selection by highlighting a rectangle or Shift-clicking on a module panel.
- Add module whitelist to Module Browser which synchronizes individual modules chosen in the VCV Library. - Add module whitelist to Module Browser which synchronizes individual modules chosen in the VCV Library.
- Restructure engine to no longer use an "engine thread". - Restructure engine to no longer use an "engine thread".
- Improve engine performance and latency by no longer requiring thread synchronization between the engine thread and audio thread. The engine now runs directly on the audio thread. - Improve engine performance and latency by no longer requiring thread synchronization between the engine thread and audio thread. The engine now runs directly on the audio thread.
- Add support for multiple simultaneous audio devices. - Add support for multiple simultaneous audio devices.
- Add "Primary module" context menu item to VCV Audio modules to select which audio device clocks the engine. - Add "Primary module" context menu item to VCV Audio modules to select which audio device clocks the engine.
- Allow other modules such as VCV Recorder to be the primary module, to render audio faster than real-time.
- Allow other modules to be the primary module, such as VCV Recorder for rendering audio faster than real-time.
- Remove "Real-time priority" menu item, since the thread priority is now managed elsewhere (RtAudio, etc). - Remove "Real-time priority" menu item, since the thread priority is now managed elsewhere (RtAudio, etc).
- Remove engine pausing as it no longer makes sense with the new engine architecture. - Remove engine pausing as it no longer makes sense with the new engine architecture.
- Replace module disabling with bypassing, which directly routes certain inputs to outputs if specified by the plugin. - Replace module disabling with bypassing, which directly routes certain inputs to outputs if specified by the plugin.
- Duplicate cables patched to inputs when a module is duplicated. - Duplicate cables patched to inputs when a module is duplicated.
- Add module tags to module context menu. - Add module tags to module context menu.
- Add module manual URL (if plugin developer supplies it) to module context menu item. - Add module manual URL (if plugin developer supplies it) to module context menu item.
- Add quick access to user module patches from `<Rack user dir>/presets/<plugin slug>/<module slug>` to module context menu.
- Add quick access to user module patches from `<Rack user dir>/presets/<plugin slug>/<module slug>` to module context menu. Supports subdirectories.
- Add infinity and NaN protection to cables, so they won't propagate non-finite values from badly behaving modules. - Add infinity and NaN protection to cables, so they won't propagate non-finite values from badly behaving modules.
- Add basic headless support with the `-h` flag. - Add basic headless support with the `-h` flag.
- Add multiple parameter dragging modes: scaled linear, absolute rotary, and relative rotary. - Add multiple parameter dragging modes: scaled linear, absolute rotary, and relative rotary.
- Add "knobLinearSensitivity" property to settings. - Add "knobLinearSensitivity" property to settings.
- Add timestamps to MIDI messages. - Add timestamps to MIDI messages.
- Allow sending and receiving SysEx messages through MIDI drivers. - Allow sending and receiving SysEx messages through MIDI drivers.
- Add ability to scroll the rack and other scroll containers using the left mouse button. This allows touch devices to scroll by dragging.
- Allow scrolling with Alt-click and drag.
- Add "File > Open recent" menu item for opening recent patches. - Add "File > Open recent" menu item for opening recent patches.
- Add "Preset > Save template" to module context menu which saves the default module preset to load when a new instance is added to the rack. - Add "Preset > Save template" to module context menu which saves the default module preset to load when a new instance is added to the rack.
- Break Rack executable into libRack shared library and lightweight standalone Rack executable. - Break Rack executable into libRack shared library and lightweight standalone Rack executable.
@@ -43,6 +45,12 @@ In this document, Mod is Ctrl on Windows/Linux and Cmd on Mac.
- Check for Library updates every few seconds to avoid needing to restart Rack to check for updates. - Check for Library updates every few seconds to avoid needing to restart Rack to check for updates.
- When clicking on a module in the Module Browser and immediately releasing, place the module in the last cursor position in the rack, rather than the current cursor position. - When clicking on a module in the Module Browser and immediately releasing, place the module in the last cursor position in the rack, rather than the current cursor position.
- When clicking and dragging a module from the Module Browser, fix the mouse handle offset to the center of the module. - When clicking and dragging a module from the Module Browser, fix the mouse handle offset to the center of the module.
- Allow adjusting rack brightness for "Lights Off" mode.
- Improve light rendering with a more physical blending algorithm.
- Move interaction settings from View menu to Edit menu.
- Add engine CPU meter and framerate meter to menu bar.
- Allow zooming rack with extra mouse buttons 4 and 5.
- Add `"pixelRatio"` to settings for forcing the UI pixel scale.


- Core - Core
- Add Audio-2 module with stereo input/output, a level knob, and VU meters. - Add Audio-2 module with stereo input/output, a level knob, and VU meters.
@@ -68,9 +76,22 @@ In this document, Mod is Ctrl on Windows/Linux and Cmd on Mac.
- Add `event::KeyBase::keyName`. Plugins should use this instead of `key` for alphanumeric keys in order to support all keyboard layouts. - Add `event::KeyBase::keyName`. Plugins should use this instead of `key` for alphanumeric keys in order to support all keyboard layouts.
- Improve thread safety of `dsp::RingBuffer`. - Improve thread safety of `dsp::RingBuffer`.
- Add several convenient filesystem routines to `system::`. - Add several convenient filesystem routines to `system::`.
- Add `system::getTime()` and `getUnixTime()`.
- Add `system::readFile()` and `writeFile()`.
- Move all `string::` functions dealing with filesystem paths to `system::`. - Move all `string::` functions dealing with filesystem paths to `system::`.
- Change type of `Module::id` and `Cable::id` from `int` to `int64_t`. - Change type of `Module::id` and `Cable::id` from `int` to `int64_t`.
- Add `system::getTime()` and `getUnixTime()`.
- Move event classes to inside `widget::Widget` class.
- Deprecate `Window::loadSvg()`. Un-deprecate `Svg::load()`.
- `Font` and `Image` can no longer be stored across UI frames. Load them with `APP->window->loadFont()` and `loadImage()` each `draw()` method.
- Add `Widget::hasChild()`, `addChildBottom()`, `addChildBelow()`, `addChildAbove()`, and `drawChild()`.
- Add `Module::createPatchStorageDirectory()` and `getPatchStorageDirectory()`.
- Add `createMenuLabel()`, `createMenuItem()`, `createCheckMenuItem()`, `createBoolMenuItem()`, `createBoolPtrMenuItem()`, `createSubmenuItem()`, `createIndexSubmenuItem()`, and `createIndexPtrSubmenuItem()` to helpers.
- Add `Module::onReset()` and `onRandomize()`. Overrides default param resetting and randomization behavior if overridden, unless super methods are called.
- Add `Module::SaveEvent`.
- Add operator overloads for `Vec`.
- Add `string::join()`, `split()`, `formatTime()`, and `formatTimeISO()`.
- Add `random::Xoroshiro128Plus` which can be used like C++ `<random>` classes.
- Add `Port::getVoltageRMS()`.


### 1.1.6 (2019-11-04) ### 1.1.6 (2019-11-04)
- Add ability for plugins to use LuaJIT on Mac. - Add ability for plugins to use LuaJIT on Mac.


Loading…
Cancel
Save