REAPER v6.71rc1

v6.71rc1 - November 20 2022

* Includes feature branch: CLAP plugin support
* Includes feature branch: improve experimental silent-track CPU reduction option to include FX tail length
* Includes feature branch: internal pin management overhaul for future extension
+ API: get_action_context() returns more inforamtion when called via KBD_OnMainActionEx
+ API: hooks get processed for actions that are executed via WM_COMMAND or KBD_OnMainActionEx
+ Audio Units: support kAudioUnitProperty_TailTime
+ Batch converter: attempt to preserve image metadata if possible
+ Batch converter: do not override user-added metadata when preserving source metadata
+ Batch converter: use independent metadata state rather than project metadata
+ CLAP: fix UI positioning and artifacts for plugins that don't support resizing
+ CLAP: initial support for CLAP plugins
+ CLAP: support "cockos.reaper_extension", which returns a reaper_plugin_info_t structure (see reaper_plugin.h)
+ CLAP: support plugins that output MIDI
+ FLAC: display information about embedded images in media source properties dialog
+ FLAC: fix occasional fail when embedding image metadata in rendered FLAC file
+ FLAC: support displaying embedded metadata images (cover art, etc) in media source properties dialog
+ FX browser: allow configurating default per-plugin for auto-bypass silence
+ FX: add compatibility setting to VST/AU/LV2 to use automatic tail detection, allowing plug-ins to opt-in to project setting
+ FX: add compatibility setting to ignore tail length
+ FX: add per-instance option for auto-bypass on silence (auto-detects tail-length for synths and plug-ins that do not support tail length reporting)
+ FX: add project setting to auto-bypass all plug-ins that report tail length, with user-defined silence threshold
+ JSFX: add ext_tail_size
+ Localization: support UTF-8 in time-signature marker editor combo box
+ Localization: support localizing layout category names [p=2599980]
+ Localization: support localizing wiring diagram labels [p=2599980]
+ Localization: support longer action names in action dialog/custom actions editor
+ MIDI: fix recording of multiple takes via retroactive record [t=272770]
+ MP3: support displaying embedded metadata images (cover art, etc) in media source properties dialog
+ Media Explorer: improve search performance with very large databases [t=270722]
+ Media explorer: support zoom/scroll via mousewheel or horizontal mousewheel
+ Media items: arrange overlapping items by the order the items were added to the track [p=2613674]
+ Metadata: fix possible mislabeling of generic metadata in source properties dialog and media explorer
+ Metadata: render/batch converter presets can optionally include metadata
+ Metadata: support embedding ID3 tags in .aiff files
+ Preferences: add rendering option to disable auto-bypass when using offline render/apply FX/etc
+ Project bay: add FX menu item to toggle auto bypass
+ ReaPlugs: support silence-processing optimizations
+ ReaScript: add GetEnvelopeUIState()
+ ReaScript: add SetTrackUIPolarity
+ ReaScript: add SetTrackUI[Volume/Pan/Width/Mute/Solo/RecArm/InputMonitor] with grouping options and fewer side effects than their CSurf_ equivalents
+ ReaScript: add additional type information to get_action_context
+ ReaScript: add param.X.learn namedConfigParm capabilities
+ ReaScript: add support for numerous keyboard/action-related APIs
+ ReaScript: allow accessing envelopes for FX parameters that have modulation but no points
+ ReaScript: expose parameter modulation/MIDI link via TrackFX_SetNamedConfigParm
+ ReaScript: extend Take/TrackFX_Get/SetNamedConfigParm to support VST chunk saving/loading via vst_chunk/vst_chunk_program config values
+ ReaScript: support TrackFX_GetNamedConfigParm VIDEO_CODE
+ ReaScript: update InsertMedia/InsertMediaSection to support modifying RS5k on arbitrary track index, improve docs
+ ReaVerb: fix deconvolution tail trimming accuracy
+ ReaVerb: support deconvolution of more than 2 channels [t=272747] [p=2600567]
+ Render: do not automatically set render source to render matrix when opening region manager [t=272752]
+ Render: support rendering BW64 files
+ Sends: optimize processing when send muted and running muted tracks is enabled
+ Sends: optimize processing when sends do not send MIDI and have their volume to -inf
+ VST3: do not use VST3 bus silenceFlags if Buggy Compatibility mode is set
+ VST: activate/deactivate VST3 busses on the fly in response to pin mapper changes
+ VST: move more of PDC buffer initialization to playback start
+ VST: support effGetTailSize/getTailSamples
+ Video: fix leak in WMF colorspace conversion [t=269797]
+ Video: make action to clear cache/re-render frames asynchronous from decoding [p=2614512]
+ Video: restore 6.69 and earlier behavior of _0 in gfx_evalrect() [t=272800]
+ WAV/AIF: support displaying embedded metadata images (cover art, etc) in media source properties dialog
+ WAV: support importing BW64 files (ADM metadata is ignored)
+ Web interface: fix fancier.html record armed track detection with a single track [t=272428]
# API: fix setNamedConfigParm vst_chunk
# API: tweak/document return values for SetTrackUI*
# CLAP: add %CLAP_PATH% support for path list, default
# CLAP: add preferences menu option to re-scan all CLAP plugins
# CLAP: always show menu when clicking re-scan button, to allow clear cache+rescan
# CLAP: apply path changes when re-scanning plug-ins
# CLAP: call stop_processing/deactivate before destroying plug-ins
# CLAP: don't send 3-byte MIDI meta-messages to plugins as regular MIDI [p=2595436]
# CLAP: ensure plugin size persists after user resizes parent window and then closes the plugin UI
# CLAP: fix PDC support
# CLAP: fix display of parameters in generic UI [p=2583166]
# CLAP: fix envelope display for stepped FX parameters [p=2587565]
# CLAP: fix initialization with oversampling [p=2595191]
# CLAP: fix plug-ins incorrectly being categorized as instruments
# CLAP: fix potential zipper noise when adjusting surge UI
# CLAP: fix re-activation following note/audio port rescan
# CLAP: fix resizing on plug-in resize notification
# CLAP: fix sending MIDI CC events to plugins that prefer CLAP note events [p=2585111]
# CLAP: for consistency, send only MIDI events, not CLAP events, to plugins, including note-on/note-off events
# CLAP: fully deinitialize plugin factory on unload
# CLAP: if vst_scan=1 (or =3) in reaper.ini, use in-process scanning
# CLAP: implement request_restart
# CLAP: improve keyboard behavior on win32
# CLAP: linux posix-fd support
# CLAP: list only defined CLAP plug-in sub-categories in Add FX window
# CLAP: map plug-in exported feature strings to VST categories, sort of
# CLAP: prevent crash when passing sysex to plugins [p=2595417]
# CLAP: properly handle MIDI note-offs encoded as note-on with velocity zero
# CLAP: reduce threading contention due to clap threadpool implementation [t=272258]
# CLAP: reset plugin buffers from audio thread rather than main thread (per spec)
# CLAP: reset plugin buffers on playback start, seek
# CLAP: scan for new plug-ins on Add-FX action to do so
# CLAP: scan plug-ins in .clap subdirectories on platforms other than macOS
# CLAP: send CLAP musical events to plugin note ports that prefer it, MIDI events to note ports that prefer it
# CLAP: support CLAP plugins in FX folders and recent FX list
# CLAP: support CLAP plugins in project bay
# CLAP: support CLAP_PARAM_IS_BYPASS
# CLAP: support category and developer listing in Add FX dialog (requires re-scan, also the first exported "feature" is used as the category)
# CLAP: support multiple categories per plugin [p=2591700]
# CLAP: support sending MIDI sysex to plugins
# CLAP: update generic UI in response to parameter change events [p=2583184]
# CLAP: update generic UI when loading presets/default settings
# CLAP: use separate persistent configuration state for renamed plug-ins
# CLAP: when plug-in requests re-scan of parameters, update automation/parameter modulation/learn/TCP controls accordingly
# Clap: support clap_host::request_callback [p=2584761]
# Clap: thread pool support
# FX auto-bypass: do not use project silence threshold for 'mixing CPU of silent tracks' optimization option [p=2560858]
# FX auto-bypass: notify UAD plug-ins when they are being auto-bypassed
# FX silence detection: configurable silence threshold, raised default to -100dB
# FX: better handle PDC buffers when using auto-bypass
# FX: disable silence auto-bypass for ARA plug-ins
# FX: do not use new silence optimizations unless option is checked (was accidentally enabled during stop)
# FX: do not use silence optimizations on instruments
# FX: fix VST3 instrument output broken in previous build oops
# FX: fix bug when zero unconnected output pins is enabled [p=2548894]
# FX: fix displaying Cockos folder contents in Add FX window
# FX: fix silence tail behavior for DX/LV2
# FX: more silence optimizations, more granularity on VST3 silenceFlag setting
# FX: new silence optimizations set VST3 silenceFlags accordingly
# FX: new silence optimizations support take FX, input FX, FX-after-synth, and other cases
# FX: reorganize auto-bypass menu items slightly
# FX: silence detection now uses -160dB
# FX: update preference text for silence optimizations
# FX: when plug-ins report very short tails, validate output (fixes Valhalla plug-ins etc)
# MacOS: fix hang when closing metadata image window
# Media explorer/actions filtering: fix uppercase issues, more performance improvements
# ReaScript: change get_action_context() runcontext to contextstr
# ReaScript: imrpove TrackFX_GetNamedConfigParm docs
# ReaScript: mark FX dirty when using TrackFX_GetNamedConfigParm param.X etc [t=272617]
# ReaScript: re-fix setting of vst_chunk
# ReaScript: update get_action_context lua docs
# ReaSurround: internal changes to action to set input channel names/colors from sending tracks
# Searching: fix matching of uppercase characters
# VST3: more compatible bus activation due to pin mapper changes
# WAV: fix displaying embedded metadata image in source properties dialog