v2.16.0-pre.9
Pre-release
Pre-release
- Playtime-related changes (details available for early-access testers only)
- Changed scripting language from Lua 5.4 to Luau (existing scripts should run in the same way as before because all Lua 5.4 functions that I have previously unlocked for usage are also available in Luau)
- First mention of the upcoming product name "Helgobox": The VST plug-in that we know as ReaLearn will soon be renamed to "Helgobox". ReaLearn will stay as the central part of Helgobox. The other parts will be "Playtime" and (in long-term future) "Sound Pot". In a nutshell: Helgobox = ReaLearn + Playtime + SoundPot = A collection of creative tools that turns REAPER into a powerful musical instrument ... you will see the big picture as soon as Playtime 2 is revealed.
- #906 Added new REAPER extension called "Helgobox", which is automatically loaded at REAPER startup and acts as a supplement to the actual VST plug-in. Provides a convenient top-level menu and other features right after start, which would otherwise only be available if at least one ReaLearn VST plug-in instance is loaded. This extension is currently shipped on Windows and macOS but in general it's optional, ReaLearn will also work without it!
- #870 Added ability to add additional units to one ReaLearn instance (= one ReaLearn instance can now deal with multiple controllers)
- #901 Added support for compartment presets written in the Luau language (including the ability to require other Luau modules in the same namespace)
- #908 Added extensive auto-generated Luau type definitions for building ReaLearn presets, ReaLearn MIDI script sources and Playtime matrices with auto-completion and error reporting (for code editors with Luau support, e.g. Visual Studio Code)
- #908 Added menu option to create a ready-made preset development workspace that can be opened in Visual Studio Code (see workspace README for details)
- Added possibility to reuse Luau code defined once within a compartment preset across all MIDI script sources used in that compartment (avoids having to duplicate device-specific code in hundreds of mapping, saving memory ... and it just makes sense)
- #902 Added support for factory presets (they are really built-in, not shipped separately ... presets currently distributed via ReaPack will disappear soon)
- #903 Added feedback logging to mapping panels (analogously to control logging)
- #900 Added "Auto units" feature (1. Globally define what controllers you have => 2. Choose which main preset you want to use for which controller => 3. Make one or several ReaLearn instances automatically load/unload those presets whenever the controllers are connected/disconnected ... controller manager is a part of the Helgobox App, which is currently only available to Playtime Early Access testers)
- #905 Added possibility to add metadata to Luau presets (displayed in the upcoming Helgobox App and used for the new "Auto units" feature as well as automatic creation of known controllers
- #905 Added auto-magical creation of known MIDI controllers (via MIDI device inquiry, used for the new "Auto units" features)
- #904 Improved target menu by distinguishing between different target sections
- #902 Improved preset sharing by introducing the concept of preset namespaces (each sub folder of the main/controller preset folder is now a namespace, that means it's completely self-contained and can be easily shared, each namespace shows up in a different sub menu when browsing presets)
- #788 Improved shutdown behavior by switching all device LEDs/screens off and tearing all motor faders down when quitting REAPER
- #914 Improved input/output pickers by distinguishing between available and not available devices
- #913 Improved OSC performance by processing more OSC messages per cycle
- #913 Improved general performance by introducing lots of small-scale boosts after profiling hot code (non-crypto hash functions, unnecessary allocation and processing)
- #915 Improved robustness and usability by not participating in REAPER's undo anymore (this can prevent potentially fatal but in any case surprising scenarios in which doing an undo in REAPER sets back ReaLearn and Playtime to a very old state, requires REAPER >= v7.09+dev0202)
- Improved dummy target by making it work just like most other targets (generating pseudo feedback, value changes observable in mapping panel etc.)
- #916 Improved user interface by adding colors
- #916 Fixed scaling issue on Linux (colors are now also available on Linux but still looks a bit funny, hopefully the dark mode detection for SWELL customizations works now)
- Internal change: Use Rust 1.75.0