Firmware Version: firmware-v2.2.0
New Features
- Support polyphonic cables, with a maximum of 4 voices per cable
- Modules derived from rack::engine::Module (i.e. plugins ported from VCV Rack) will usually "just work" with a max of 4 voices.
- New helper classes CoreProcessorPoly and SmartCoreProcessorPoly for native plugins
- API is backwards compatible with all v2.x plugins (original CoreProcessor base class is untouched -- only new types are added)
- Full support for cables with summed input nodes, splits, poly->mono conversions, etc with poly cables.
- Poly cables are drawn thicker in the Patch View
- Add built-in MIDI support for 4-voice polyphony per cable
- Max 8 voices using 2 poly cables (each poly MIDI cable can be voices 1-4 or voices 5-8)
- Can set the MIDI poly number directly in the Patch Info dialog box (default is Auto = auto-detect based on cables in the patch)
Modules
4ms CoreModules:
- Update most 4ms modules to use polyphony. Some modules that aren't updated will likely never be made poly (because they are inherently a mono module, or due to memory usage concerns)
RackCore:
- Add RackCore Sum, Merge, and Split modules for poly support.
- Remaining VCV Core MIDI modules added (Gate_MIDI, MIDI_Gate, MIDICC_CV
Improvements and Fixes
- Build simulator DSP at -O2 so the audio callback meets its real-time deadline by @gabriel-roth in #585
- Default simulator LOG_LEVEL to WARN so errors are visible with plain cmake by @gabriel-roth in #584
- Define no-op
plugintarget in simulator's create_plugin() to match real SDK by @gabriel-roth in #586 - Fix New Panel Cable showing outputs for a connected module input by @gabriel-roth in #590
- Fix cable node list on ModuleView page and Jack Maps page by @danngreen in #591
- Fix MIDI voice allocations
- Fix MIDI SysEx tx and rx (and all large transfers)
- Fix potential crash due to under-aligned SIMD structures being allocated
- Simulator has command-line arguments to process a series of encoder/button motions and then take a screenshot, and/or start at a particular page and patch
- Fixed a small memory leak with SvgScrews
- Add additional memory leak testing in cpu load tests
Full Changelog: firmware-v2.1.17...firmware-v2.2.0