Releases: helgoboss/helgobox
Releases · helgoboss/helgobox
v2.12.0-pre.4
- #509 Added fine-grained OSC feedback argument mapping
- #509 Added support for sending colors to TouchOSC (in RRGGBB string format)
- #504 Improved usability by automatically resending all feedback when MIDI device plugged in (probably works on macOS only at the moment)
- #150 Improved feedback latency of "FX: Navigate within presets" for plug-ins that report parameter changes when changing presets
- #464 Fixed unnecessary user prompt when changing preset if no mappings and groups present
- #512 Fixed display issue when using Mackie LCD source in combination with Mountain Utilities BCManager
- #513 Fixed feedback when writing send volume automation
- #486 Fixed "Invalid command ID" error if JSON contains invalid command ID but target type is not "Project: Invoke REAPER action"
- Fixed various errors when using FX parameter target
<This>
ReaLearn FX (pre-release regression)
v2.12.0-pre.3
- Internal change: Refactored and modernized HTTP server code, prepared addition of gRPC server (for communication with Playtime 2)
v2.12.0-pre.1
- #492 Improved memory consumption a lot (nobody seems to have noticed it but ReaLearn used enormous amounts of memory per mapping before)
- #505 Fixed borrow error when virtualizing mappings if that fails for some mappings
- #506 Fixed Lua import of Lua export of mapping with negative step factor
- #507 Fixed Lua import of FX chain (ReaLearn didn't respect the FX chain property before in many cases)
v2.11.1
- #448 Added support for textual feedback (usable with OSC String sources and MIDI hardware displays: Mackie, SiniCon)
- #393 Added comprehensive built-in support for import and export of the all-new ReaLearn Script = Build ReaLearn presets/mappings in Lua! (Attention: Small adjustments to the ReaLearn Script API data structure are to be expected during the 2.11 and 2.12 release cycles!)
- #394 Added completely new possibility to organize mappings - by tagging them (most new ReaLearn targets support tags to flexibly restrict the mapping scope, you can also search for them by prefixing a search term with a hash character
#
) - #449 Added new target "ReaLearn: Enable/disable instances" for flexibly enabling/disabling complete ReaLearn instances during a performance (great for paging)
- #438 Added target "ReaLearn: Enable/disable mappings" for flexibly enabling/disabling mappings during a performance (can be used as a more straightforward alternative to conditional activation, especially when it comes to bank/zone switching scenarios)
- #325 Added target "ReaLearn: Navigate within group" for cycling through mappings in a mapping group (for intuitively defining sequences e.g. for implementing pages, zones etc.; support sequences spanning completely different targets!)
- #376 Added possibility to control using system-exclusive MIDI messages (by using the existing very flexible "Raw MIDI" source, which only worked for feedback direction so far - now supports learning, value extraction using patterns and logging of incoming messages)
- #448 Added text and background color support for some MIDI controller displays that have color capabilities (at the moment SiniCon E24 and Launchpad Pro)
- #454 Added support for Raspberry Pi (Linux armv7 and Linux aarch64)
- #457 Added new variable 'y_last' in EEL control transformation, which can be used to implement a performance control mode typical for a synth modulation matrix (
y = y_last + x * (1 - y_last)
) - #470 Added variable 'selected_track_indexes' array variable to dynamic expressions (making it possible to e.g. control 1st selected track with fader one, 2nd selected track with fader two, etc.)
- #393 Added new "Track" target which is well-suited as neutral target for getting textual feedback for track properties (but will get more interesting functionality at a later stage, see #228)
- #62 Added JSON schema of the API data structure (in order to potentially support writing ReaLearn presets/mappings in other languages as well, especially typed ones, e.g. TypeScript)
- #131 Added header panel context menu action 'Make sources of all main mappings virtual'
- #178 Added optional track dropdown to "Project: Invoke REAPER action" target (The target makes sure that this track is selected before executing the action. This makes it possible to combine ReaLearn's flexible track selection capabilities with the plethora of REAPER actions that work on the currently selected track.)
- #280 Added target "Send: Automation mode"
- #280 Added target "Send: Mono/stereo"
- #280 Added target "Send: Phase invert/normal"
- #280 Added target "Track: Phase invert/normal"
- #382 Added target "Project: Any on (solo/mute/...)"
- #365 Added "exclusive (on only)" options wherever appropriate in order to easily support exclusive toggle buttons (group interaction "inverse target value", track exclusivity, mapping/instance enable/disable exclusivity)
- #385 Added support for (N)RPN data increment/decrement messages
- #437 Added source "ReaLearn instance started" in source category REAPER that fires when ReaLearn is started (can be used to execute an action, restore parameter states or whatever on REAPER startup or project load)
- #448 Added basic support for displaying scrollable text on the Launchpad Pro (also supports text color)
- #451 Added
<New group>
option to "Move to group" context menu actions - #475 Added place in Git repository for making unofficial 3rd-party presets available (added 2 unofficial controller presets for BCF2000 and Panorama P6)
- #479 Added header panel context menu action 'Make targets of listed mappings sticky'
- #393 Improved "DAW control" main preset (added support for timecode display, time mode cycling, track name and pan display, any-solo, track peak meter, many small improvements, easier to maintain because generated from ReaLearn Script)
- #393 Improved "Mackie Control" and "iCON Platform M+" controller presets (added support for LCD and timecode display, track peak meter and any-solo button, fixed encoder acceleration behavior, many small improvements, easier to maintain because generated from ReaLearn Script)
- #393 Improved performance, code complexity and serialization independence of preset dirty checking by using a much simpler method than before (before: comparison of JSON; now: setting dirty flag whenever e.g. a mapping changed)
- #393 Improved virtual control element naming by increasing maximum length from 16 to 32
- #393 Improved wording by renaming "Tuning" to "Glue"
- #394 Improved target "ReaLearn: Load mapping snapshot" by allowing to restrict snapshot loading to mappings with certain tags and activity state
- #432 Improved auto-load preset functionality to work better with shell plug-ins, e.g. Waves (now by default uses plug-in name instead of file name to distinguish between the single plug-in types; in order for this to take effect, you need to remove each problematic link and reestablish it or edit the link and fill out the FX ID name yourself)
- #435 Improved projection feedback by sending feedback initially, not just on value changes or on manual request via REAPER action
- #436 Improved target value entry by providing buttons for trigger- or switch-like targets
- #452 Improved "Toggle buttons" mode to support exclusive toggle button use cases (if target min is equal to target max, it now toggles between that specific value and zero)
- #477 Improved
<Dynamic>
track selector by allowing it to address the master track (if the expression returns value -1) - #481 Improved dynamic expressions by letting 'track_selected_index' evaluate to the special variable 'none' if no track is selected, allowing users to choose a suitable fallback in that case
- #481 Improved dynamic expressions by making 'selected_track_index' and 'this_track_index' support master track (value -1)
- #481 Improved dynamic expressions by making compartment parameters available as array variable 'p' (now you can write
p[0]
instead ofp1
]) - #481 Improved dynamic expressions by making target inactive if the expression fails (e.g. if an undefined variable is used)
- Improved Raw MIDI source to control and learn incoming short (non-sys-ex) messages as well
- Improved documentation of what's special about "MIDI: Send message" target and what limitations it has
- Improved performance of "MIDI: Send message" target when sending to feedback output by avoiding deallocation in audio thread
- Improved usability by disabling certain UI elements depending on the selected OSC argument type
- Improved user guide (structure, headings, table of contents, TouchOSC instructions)
- #407 Fixed bug that caused project to be marked dirty on load already
- #482 Fixed bug that caused changes to sometimes not be memorized if ReaLearn is on monitoring FX chain
- #459 Fixed bug that caused automation to shortly jump back when writing automation via fader touch
- #466 Fixed severe bug that could cause ReaLearn instances to receive ...
v2.11.0
- #393 Added comprehensive built-in support for import and export of the all-new ReaLearn Script = Build ReaLearn presets/mappings in Lua! (Attention: Small adjustments to the ReaLearn Script API data structure are to be expected during the 2.11 and 2.12 release cycles!)
- #393 Added new "Track" target which is well-suited as neutral target for getting textual feedback for track properties (but will get more interesting functionality at a later stage, see #228)
- #62 Added JSON schema of the API data structure (in order to potentially support writing ReaLearn presets/mappings in other languages as well, especially typed ones, e.g. TypeScript)
- #449 Added new target "ReaLearn: Enable/disable instances" for flexibly enabling/disabling complete ReaLearn instances during a performance (great for paging)
- #438 Added target "ReaLearn: Enable/disable mappings" for flexibly enabling/disabling mappings during a performance (can be used as a more straightforward alternative to conditional activation, especially when it comes to bank/zone switching scenarios)
- #325 Added target "ReaLearn: Navigate within group" for cycling through mappings in a mapping group (for intuitively defining sequences e.g. for implementing pages, zones etc.; support sequences spanning completely different targets!)
- #394 Added completely new possibility to organize mappings - by tagging them (most new ReaLearn targets support tags to flexibly restrict the mapping scope, you can also search for them by prefixing a search term with a hash character
#
) - #376 Added possibility to control using system-exclusive MIDI messages (by using the existing very flexible "Raw MIDI" source, which only worked for feedback direction so far - now supports learning, value extraction using patterns and logging of incoming messages)
- #131 Added header panel context menu action 'Make sources of all main mappings virtual'
- #178 Added optional track dropdown to "Project: Invoke REAPER action" target (The target makes sure that this track is selected before executing the action. This makes it possible to combine ReaLearn's flexible track selection capabilities with the plethora of REAPER actions that work on the currently selected track.)
- #280 Added target "Send: Automation mode"
- #280 Added target "Send: Mono/stereo"
- #280 Added target "Send: Phase invert/normal"
- #280 Added target "Track: Phase invert/normal"
- #382 Added target "Project: Any on (solo/mute/...)"
- #365 Added "exclusive (on only)" options wherever appropriate in order to easily support exclusive toggle buttons (group interaction "inverse target value", track exclusivity, mapping/instance enable/disable exclusivity)
- #385 Added support for (N)RPN data increment/decrement messages
- #437 Added source "ReaLearn instance started" in source category REAPER that fires when ReaLearn is started (can be used to execute an actions, restore parameter states or whatever on REAPER startup or project load)
- #448 Added text and background color support for some MIDI controller displays that have color capabilities (at the moment SiniCon E24 and Launchpad Pro)
- #448 Added basic support for displaying scrollable text on the Launchpad Pro (also supports text color)
- #451 Added
<New group>
option to "Move to group" context menu actions - #454 Added support for Raspberry Pi (Linux armv7 and Linux aarch64)
- #457 Added new variable 'y_last' in EEL control transformation, which can be used to implement a performance control mode typical for a synth modulation matrix (
y = y_last + x * (1 - y_last)
) - #470 Added variable 'selected_track_indexes' array variable to dynamic expressions (making it possible to e.g. control 1st selected track with fader one, 2nd selected track with fader two, etc.)
- #475 Added place in Git repository for making unofficial 3rd-party presets available (added 2 unofficial controller presets for BCF2000 and Panorama P6)
- #479 Added header panel context menu action 'Make targets of listed mappings sticky'
- #393 Improved "DAW control" main preset (added support for timecode display, time mode cycling, track name and pan display, any-solo, track peak meter, many small improvements, easier to maintain because generated from ReaLearn Script)
- #393 Improved "Mackie Control" and "iCON Platform M+" controller presets (added support for LCD and timecode display, track peak meter and any-solo button, fixed encoder acceleration behavior, many small improvements, easier to maintain because generated from ReaLearn Script)
- #393 Improved performance, code complexity and serialization independence of preset dirty checking by using a much simpler method than before (before: comparison of JSON; now: setting dirty flag whenever e.g. a mapping changed)
- #393 Improved virtual control element naming by increasing maximum length from 16 to 32
- #393 Improved wording by renaming "Tuning" to "Glue"
- #394 Improved target "ReaLearn: Load mapping snapshot" by allowing to restrict snapshot loading to mappings with certain tags and activity state
- #432 Improved auto-load preset functionality to work better with shell plug-ins, e.g. Waves (now by default uses plug-in name instead of file name to distinguish between the single plug-in types; in order for this to take effect, you need to remove each problematic link and reestablish it or edit the link and fill out the FX ID name yourself)
- #435 Improved projection feedback by sending feedback initially, not just on value changes or on manual request via REAPER action
- #436 Improved target value entry by providing buttons for trigger- or switch-like targets
- #452 Improved "Toggle buttons" mode to support exclusive toggle button use cases (if target min is equal to target max, it now toggles between that specific value and zero)
- #477 Improved
<Dynamic>
track selector by allowing it to address the master track (if the expression returns value -1) - #481 Improved dynamic expressions by letting 'track_selected_index' evaluate to the special variable 'none' if no track is selected, allowing users to choose a suitable fallback in that case
- #481 Improved dynamic expressions by making 'selected_track_index' and 'this_track_index' support master track (value -1)
- #481 Improved dynamic expressions by making compartment parameters available as array variable 'p' (now you can write
p[0]
instead ofp1
]) - #481 Improved dynamic expressions by making target inactive if the expression fails (e.g. if an undefined variable is used)
- Improved Raw MIDI source to control and learn incoming short (non-sys-ex) messages as well
- Improved documentation of what's special about "MIDI: Send message" target and what limitations it has
- Improved performance of "MIDI: Send message" target when sending to feedback output by avoiding deallocation in audio thread
- Improved usability by disabling certain UI elements depending on the selected OSC argument type
- Improved user guide (structure, headings, table of contents, TouchOSC instructions)
- #407 Fixed bug that caused project to be marked dirty on load already
- #482 Fixed bug that caused changes to sometimes not be memorized if ReaLearn is on monitoring FX chain
- #459 Fixed bug that caused automation to shortly jump back when writing automation via fader touch
- #466 Fixed severe bug that could cause ReaLearn instances to receive MIDI from wrong input device
- Fixed bug that caused source takeover between ReaLearn instances with different feedback output devices
v2.11.0-pre.15
- #457 Added new variable 'y_last' in EEL control transformation, which can be used to implement a performance control mode typical for a synth modulation matrix (
y = y_last + x * (1 - y_last)
) - #470 Added variable 'selected_track_indexes' array variable to dynamic expressions (making it possible to e.g. control 1st selected track with fader one, 2nd selected track with fader two, etc.)
- #131 Added header panel context menu action 'Make sources of all main mappings virtual'
- #479 Added header panel context menu action 'Make targets of listed mappings sticky'
- #481 Improved dynamic expressions by making target inactive if the expression fails (e.g. if an undefined variable is used)
- #481 Improved dynamic expressions by making 'selected_track_index' and 'this_track_index' support master track (value -1)
- #481 Improved dynamic expressions by letting 'track_selected_index' evaluate to the special variable 'none' if no track is selected, allowing users to choose a suitable fallback in that case
- #481 Improved dynamic expressions by making compartment parameters available as array variable 'p' (now you can write
p[0]
instead ofp1
]) - #62 Improved API by renaming 'feedback_foreground_color' to 'feedback_color'
- #62 Fixed API for new "Track" target
- #407 Fixed bug that caused project to be marked dirty on load already
- #482 Fixed bug that caused changes to sometimes not be memorized if ReaLearn is on monitoring FX chain
v2.11.0-pre.14
- #62 Added new "Track" target which is well-suited as neutral target for getting textual feedback for track properties (but will get more interesting functionality at a later stage, see #228)
- #62 Improved performance and correctness regarding textual feedback update for secondary target properties (internally, each property now defines its own set of need-update events and if it needs polling or not)
- #62 Fixed feedback update for secondary target properties (e.g. track name)
- #62 Fixed feedback update for property-based feedback style (e.g. color based on property 'target.track.color')
v2.11.0-pre.13
- #382 Added new "Project: Any on (solo/mute/...)" target
- #62 Added new "target.position.*.mcu" text feedback placeholders to seek target (uses timecode formatting tailored to MCU timecode display)
- #62 Added new "target.pan.mcu" text feedback placeholder to track pan target (uses pan formatting tailored to MCU LCD line)
- #475 Added place in Git repository for making unofficial 3rd-party presets available (added 2 unofficial controller presets for BCF2000 and Panorama P6)
- #477 Improved
<Dynamic>
track selector by allowing it to address the master track (if the expression returns value -1) - #62 Improved wording by renaming "Tuning" to "Glue"
- #62 Improved "Mackie Control" and "iCON Platform M+" controller presets (added support for LCD and timecode display, track peak meter and any-solo button, fixed encoder acceleration behavior, many small improvements, easier to maintain because generated from ReaLearn Script)
- #62 Improved "DAW control" main preset (added support for timecode display, time mode cycling, track name and pan display, any-solo, track peak meter, many small improvements, easier to maintain because generated from ReaLearn Script)
- #62 Improved ReaLearn Script and native ReaLearn JSON format by allowing arbitrary mapping and group IDs (not just UUIDs) and complaining if the import contains duplicate IDs
- #62 Improved performance, code complexity and serialization independence of preset dirty checking by using a much simpler method than before (before: comparison of JSON; now: setting dirty flag whenever e.g. a mapping changed)
- #62 Improved ReaLearn Script by renaming 'key' to 'id'
- #62 Improved virtual control element naming by increasing maximum length from 16 to 32
- Improved Raw MIDI source to control and learn incoming short (non-sys-ex) messages as well
- Fixed pre-release regression that made on/off track targets not work anymore on master track
- Fixed bug that caused source takeover between ReaLearn instances with different feedback output devices
v2.11.0-pre.12
- #466 Fixed severe bug that could cause ReaLearn instances to receive MIDI from wrong input device (existed in 2.10 already)
- #459 Fixed bug that caused automation to shortly jump back when writing automation via fader touch
- #448 Fixed error message about feedback address introduced in pre.9 duplicate feedback prevention