Skip to content

Firmware Version: firmware-v2.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 16:56

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