REAPER v6.44rc1

v6.44rc1 - January 1 2022

* Includes feature branch: media item normalization
* Includes feature branch: JSFX internals overhaul/cleanup/modernization
* Includes feature branch: Windows very long pathname support
+ Actions: add "erase" as a default synonym for delete/clear/remove
+ Actions: do not warn on program startup if too many custom actions exist
+ Actions: if glue format supports BWF, write start offset when exploding multichannel audio to new files [t=261219]
+ Control surfaces: fix CSURF_EXT_SETSENDVOLUME notifications when in write mode and fader-scaled envelopes
+ Custom actions: fix certain characters being entered on macOS [t=249471]
+ JSFX: add options:gfx_idle to allow @gfx section to run when UI is closed (detectable via gfx_ext_flags having 2 set)
+ JSFX: add options:gfx_idle_only to allow UI-less plug-ins to run @gfx code at idle
+ JSFX: allow override of refresh rate using options:gfx_hz=60 etc
+ JSFX: do not allow export_buffer_to_project() to be called from @slider [t=260428]
+ JSFX: fix memory bounds checking on arm [t=261271]
+ JSFX: fix possible deadlock when an undo state point is added while gfx_showmenu() is open
+ JSFX: if REAPER has a .jsfx external editor configured, use for open in external editor
+ JSFX: improve 32-bit x86 implementation (using SSE3 when available)
+ JSFX: scripts can write to #dbg_desc to write debug messages visible on main plug-in UI [t=260727]
+ JSFX: show code sections in right-click menu
+ JSFX: show context information about built-in variables in IDE
+ Keyboard: fix various cross-platform key aliasing corner cases
+ Media explorer: improve selection behavior on Windows after navigating with arrow keys
+ Media items: add option to close item notes window on enter key
+ Media items: add support for various loudness measurements (LUFS, etc) when normalizing media items
+ Media items: save item notes when closing item notes window via action
+ Media items: when normalizing multiple items to an integrated loudness value, support either normalizing each item separately or normalizing the combined (sequential) output of all items
+ Pan: fix manual entry of pan values when preference is set to display pan in dB [t=260722]
+ Project notes: improve behavior relating to project notes flags and loading projects in REAPER 6.38 and earlier [t=261242]
+ Projects: on new project without saved project settings, set recording/render format to 24-bit wav
+ Razor edits: do not delete/cut/copy razor edits when cursor focus is on track control panels
+ ReaEQ: add Parallel Band Pass filter mode [t=231105]
+ ReaScript: add NormalizeItems function
+ ReaScript: do not apply render-config changes when calling GetSetProjectInfo in get mode on rendering configuration [t=261085]
+ ReaScript: do not defer indefinitely when calling reaper.defer() with no parameters from Lua [t=261323]
+ ReaScript: properly support passing binary-safe strings to extension-registered functions [t=261079]
+ ReaSurroundPan: correct 9.1.4 speaker arrangement, add 9.1.6 [t=261134]
+ ReaSynth: fix extra sine oscillator when portamento is used [t=253793]
+ ReaSynth: fix stuck note when portamento is used in certain instances
+ Render: ensure final master render peaks are displayed after normalizing
+ Render: fix files left open when normalization/limiting is interrupted [t=261118]
+ Render: fix render peaks display when normalizing and negative project start time offset exists [t=261325]
+ Super8: fix recording glitches that could occur during looped project-synchronized playback [t=261147]
+ Super8: support exporting media into project via MIDI CC when UI is not open
+ VST: scan %LOCALAPPDATA%\Programs\Common\VST3 on Windows
+ Windows: support very long pathnames (note: for shell browsing/etc to work with these, the LongPathsEnabled registry key must be set)
+ Windows: update progress bars more frequently in general
+ macOS: add per-theme option to not use themed windows when in dark-mode (enabled by default theme)
+ macOS: improve appearance of various windows when in dark mode
+ macOS: improve performance of Live FX multiprocessing
+ macOS: increase worker thread priority if Time Critical priority is set
+ macOS: live FX multiprocessing threads join the CoreAudio workgroup if available
+ macOS: use THREAD_TIME_CONSTRAINT_POLICY for Live FX multiprocessing threads on Big Sur and later
# API: correct GetSet_ArrangeView2() definition
# JSFX: improve #dbg_desc in watch list
# JSFX: remove gfx_is_idle and use gfx_ext_flags&2 instead
# Keyboard: improve default shortcut definitions for MIDI editor channel selection
# Keyboard: restore default shortcut definitions for MIDI editor channel selection
# Media items: calculate normalization based on exact start/end of source media within project
# Media items: fix action to reset take gain to +0dB
# Media items: normalize all takes in a media item if "play all takes" is enabled
# Media items: only display normalization progress dialog if the process takes more than about 1 second
# Media items: restore behavior of previously existing +0dB peak normalize actions, add new actions to normalize to most recent settings
# Preferences: correct help text for undo hints [t=261244]
# Preferences: reword preferences for importing media with embedded tempo information
# Projects: fix secondary format being set on new projects [p=2509662]
# ReaEQ: fix parallel band pass selection via menu
# ReaEQ: ignore gain in UI for parallel band pass
# ReaScript: remove higher-level NormalizeItems(), add lower-level NormalizeItem() to calculate the normalization adjustment for a single media source
# ReaScript: rename NormalizeItem function to CalculateNormalization
# ReaSynth: expose broken portamento extra-sine behavior as hidden parameter, old projects will load with it enabled
# Theme tweak window: fix clipped status text [p=2510767]
# macOS: automatically limit live FX multiprocessing threads to workgroup size
# macOS: untweak arm64 worker thread synchronization timings