v7.001 - October 16 2023
Code:
B U G F I X E S
API/ReaScript
fix gfx.drawstr() on multiline content drawing with negative Y offset [t=282702]
ARA
fix possible hang when ARA plugin analyzes media with negative start-in-source offset
CLAP Plugins
fix recording automation in touch mode [t=279975]
Click Source
fix glitch at start of playback with take FX that use PDC [t=277406]
FX
fix many last-touched-parameter actions to work with per-take, input FX
FX Oversampling
fix setting channel dropdown [t=283592]
fix slight errors in passthrough MIDI timing when using per-instance oversampling and latency compensation
MIDI Editor
fix deselecting CC events when clicking lane outside envelope, when preference enabled to draw/edit immediately on mouse click
Recording
fix aligning takes when recording pass starts in the middle of a looped section [p=2636585]
Render
fix persistence of preference to embed XMP markers [t=263105]
RX2
fix memory leak when exploding items
Theme
TCP margin fixes
Code:
N E W F E A T U R E S
Actions
actions to move items up/down/top/bottom will act on razor edit areas, if any exist
add action to color all takes that share the same source media with the same color
add action to select all media items that use the same source media
add action to paste tracks/items at mouse position
add actions to apply first track or take FX to items (can be used to render ARA FX)
Actions Window
add meta-actions to allow running (some) actions in background project tab contexts
add 'Options' button to action window
add menu items to import, export, reset, clear keyboard shortcuts for the current section
API/ReaScript
support ShowConsoleMsg() from multiple threads
add actions to toggle console window visiblity, clear console window; console window log persists when closing/reopening window
add CleanItemLanes(), to recalculate fixed lane arrangement and remove unused lanes at bottom of track after moving or editing media items
add FX_GetNamedConfigParm(container_count) for getting number of FX in container
add EnumInstalledFX()
add GetTouchedOrFocusedFX(), support addressing FX containers, deprecate GetFocusedFX2() and GetLastTouchedFX()
add MIDIEditorFlagsForTrack(), to get/set pitchwheel range and snap settings
add set/getNamedConfigParm container_map.add, param.X.container_map.*
add support for GetSetMediaTrackInfo() I_NUMFIXEDLANES, I_LANESCOLLAPSED, C_LANEPLAYS, I_SPACER
add support for GetSetMediaItemInfo() I_FIXEDLANE, B_FIXEDLANE_HIDDEN
support using full (unlocalized) action description in Get/SetMouseModifier(), example: SetMouseModifier('Media item left drag', 0, 'Move item')
add GetSetTrackGroupMembership() support for MEDIA_EDIT_LEAD, MEDIA_EDIT_FOLLOW
ARA
display pooled edit button for media items that share ARA edits (similar to pooled MIDI behavior)
list analyzed media files and pooled/unpooled count in FX + menu
support pooling edits by source media, so edits can automatically affect all media items that share the same source media
support pooling or not pooling ARA edits by default (old projects will always load with edits unpooled)
add actions to select media items with pooled ARA edits, remove items from edit pool, return items to edit pool
Backups
add configuration for path to auto-save unsaved projects
CLAP Plugins
automatically scan reaper_resource_path/UserPlugins/FX for .clap plug-ins
Color Theme
new Default 7.0 theme
add preference/theme element for small themed indicator on selected media items
add theme elements for various fixed lane display features (buttons, text, etc)
Defaults
ReaEQ adds default HPF band 5 (disabled by default)
FX
support processing multiple plug-ins in parallel
support parameter modulation for input FX, monitor FX
FX Containers
support sub-chains of FX with configurable input/output/processing channel sizes, configurable parameter mappings
support configurable channel feedback
support internal modulation of parameters, using parent modulation/automation as baseline for any container-local modulation
FX Oversampling
add preference to auto-disable oversampling for record arm-affected tracks
Grouping
add option (enabled by default) for track media item grouping to affect only items that start and end at the same time (rather than any enclosed media item)
JSFX
add ext_gr_meter to support reporting gain reduction to the host (set to non-positive values in @init and @block)
support plug-in defined compile-time configuration parameters
JSFX/ReaScript/Video
% (modulus) operator supports 64-bit values on arm64 [t=282237]
Keyboard
add multiple alternate main keyboard sections, add actions to switch between them persistently or momentarily
Lanes/Comping
support fixed-lane tracks, to arrange media items in fixed lanes
support setting individual lanes to play back or not play back
support automatically recording overlapping media to separate lanes, either layered (multiple lanes play back at once) or not (only the last recorded lane plays back)
support minimizing, maximizing, or collapsing track lanes
support adding lanes by dragging media to a hashed 'parking area', automatically removing empty lanes
support naming individual lanes, resizing lane name area
support reordering fixed lanes by dragging lane buttons up/down
support targeting a specific lane or free item position when pasting media items and razor edits
add many actions to support editing, manipulating, playing back, comping, and coloring items in fixed lanes
add mouse modifier contexts for fixed lane header buttons, fixed lane comp areas (including click/double-click contexts)
add many theme elements for fixed lane and comp area display
support recording into specific lanes or new lanes
add actions to explode items in lanes to tracks, implode items on tracks to lanes, optionally creating comp areas
add import option to add multiple media on fixed lanes on a single track
add options to automatically create comp areas for new recording while comping
v6 option for overlapping recording to create new media items is replaced by option to add lanes; playback behavior is identical to v6
existing actions to switch active take (T/shift-T by default) will switch the comp area under the mouse up or down as well
tracks that are grouped for media/razor edits are also grouped for lane actions and edits
when exiting fixed lane view, lanes that are not playing are hidden; hidden lanes are restored when re-entering fixed lane view
create a comping lane by double-clicking or right-clicking the lane button, or clicking the comping button on a razor edit, or using arrange view mouse modifiers
while comping, mouse-drag in source lanes to create comp areas; comped media is copied to the comping lane
comp areas create editable copies of source media
mouse modifiers for comp areas include behaviors to change comp area source lane, limit comp areas to media item edges, move media items along with comp areas, attach comp area edges to adjacent comp area edges, create time selection including pre-roll/post-roll for previewing
while comping, edits to media item edges/fades/crossfades in comping lane will also affect comp areas (comp areas fades/crossfades can be individually edited this way)
while comping, edits that cause comping-lane media to go out of sync with source-lane media will display a re-comp button on the comping lane media
clicking re-comp button will copy edited media to a new source lane, to use as an alternative edit along with existing source media
optionally support editing source media while comping (edits immediately affect the comping lane)
ensure that new recording is in the same lane for all grouped tracks [p=2720419]
when recording with time selection auto-punch into a new lane, optionally add the entire new recording, but comp only within the time selection [p=2676770]
License
display license valid-through version in About/Purchase window
Loopback
add audio loopback support (Preferences/Audio) for up to 256 channels
Media Items
support healing items even if one or both contains empty takes
support healing splits even if items do not have the same active take lane
Metadata
support multi-line render metadata (right-click value cell to open multi-line editor) [t=282304]
support unsynchronized lyrics metadata via ID3 and VORBIS tags
Meters
add per-track option to display gain reduction from VST or JSFX plug-ins that report gain reduction to the host
add gain reduction metering preferences in Appearance/Track Control Panels
MIDI
support up to 128 MIDI buses per track
add action to suppress midi note retrigger at start/end of specific media items
add preference to suppress note retriggering when splitting media items
add action to send explicit note-off messages for every channel/pitch combination to every MIDI output and plugin
MIDI Devices
support up to 128 input/output devices
add ability to create multiple native MIDI loopback devices (single audio block delay)
add per-device option to not warn when unable to open device
MIDI Editor
add option for editor selection to follow track selection in arrange view
add option to set the channel for new events when selecting a single note or CC event (improves MPE editing support)
support vertical zoom/scroll in CC lanes
support pitchwheel lane semitone range, snap-to-semitone
add option to prevent mouse edits of single CC events from moving past other CC events
add preference to display empty space at top/bottom of CC lanes
Mouse Modifiers
add multiple arrange view mouse modifier override sections, to define new behaviors when left-mouse-dragging in arrange view
add actions, toolbar buttons to activate/momentarily activate/toggle/clear mouse modifier overrides
add menu action to export modifiers for the current context as a ReaScript [p=2699692]
set override A to marquee selection behaviors, override B to razor edit behaviors, override C to comping behaviors, override D to time selection behaviors by default (all are fully customizable though)
support user-defined custom toolbar button tooltip for arrange view override contexts
Multiproject
if =REF markers specified in both projects, use as a manual synchronization point
use project time offsets to synchronize video and playback between project tabs
Pitch shift/timestretch
add multi-mono and multi-stereo options for applicable algorithms
support more than 48 channels with Elastique [t=181279]
Preferences
add new Envelope Colors preferences page, support custom envelope colors based on envelope name
add new Project/Backups preferences page
add new Item Fade Defaults, Item Loop Defaults preferences pages
add new ARA preferences page
add new Scrub/Jog preferences page
add new Zoom/Scroll preferences page
add button to Preferences/Project to open project settings dialog
add preference for envelope lane height as a percentage of track height, when zooming vertically (default 50%)
add preference for adjusting scrub/jog volume gain
add preferences for default fixed lane track configuration (big/small lanes, etc)
add preferences for crossfade behavior for various contexts (splitting, reording, etc)
add preferences for track meter display defaults
Project
add actions to reorder project tabs, actions to switch to specific or previously-selected tabs
show play/record indicators for background tabs
Raw PCM Media
add button to source properties to reload media after editing .rsrc sidecar file
Recording
display loop counter during recording
Render
support forcing mono/stereo/multichannel render for master mix via region render matrix
support rendering raw PCM (.sd2), including sidecar definition file
support marker/region wildcards consisting of separated name=value pairs using $marker(name)[separator] and $region(name)[separator] (see wildcard help)
Super8
support 1-48 channels (default ?
Takes
add actions to mark previous recording pass for deletion, delete takes that are marked for deletion
Toolbars
support optional animation or blinking for toolbar buttons
animate ripple-edit, mouse modifier override toolbar buttons by default
support up to 32 main toolbars, 16 MIDI toolbars
Track Folders
add preference to hide tracks in a folder when the folder is fully collapsed
add option for track folder collapse button to cycle child track heights between various combinations of normal-sized, small, collapsed, and hidden
add action to show/hide children of selected folder tracks
add actions, menu items to move tracks to new or existing folder track
Track Spacers
add support for customizable spacers between tracks
display track spacers in mixer when mixer tracks are displayed in the same order as TCP
support moving/copying track spacers with mouse, dragging tracks to before/after/within spacers
when multiple contiguous tracks are selected, spacers will be added at the start and end of the set
Transport
add support for Measures.Beats as secondary time unit [t=283214]
Video
add option to disable video per-media-item
support project setting for YUV preview/conversion gamut: BT.601 (previous versions), BT.709, BT.2020
add preference to use standard (accessible) OS editing controls for video code
WALTER
add various scalars/elements/images
add warnings, enable via 'warnings all' or 'warnings pedantic' line (only supported when loading a non-zipped theme)
themes can create custom controls by using 'custom tcp.custom.xyz [label] [action ID] [accessibility description] [button_image_name]' in layouts
custom controls can be text fields or buttons, may support .font, .color, .margin
Zoom/Scroll
support vertical scroll step as percentage of track height or percentage of arrange view height
add actions to toggle track zoom height to default; cycle track zoom height between minimum, default, and maximum
add actions to toggle or cycle track zoom to maximum, even if maximum is not 100% of arrange view height
Code:
I M P R O V E M E N T S (elimination of a deficiency short of a bugfix)
API/ReaScript
preserve FXID when cutting/pasting FX, saving/loading RfxChain
ARA
improve stability of ARA edits when editing media items (splits, copies, cut/paste, etc)
Batch Converter
correct extension handling when option enabled to overwrite source files
Dynamic Split
properly handle leading/trailing pad when splitting grouped tracks [p=2714123]
FX Oversampling
avoid subsample delays in signal when delay compensating [t=277936]
improve accuracy of timing information passed to plug-ins when using chain oversampling
Grouping
improve behavior when splitting media items on grouped tracks [p=2719354]
Loopback
when recording from loopback MIDI/audio channels, do not compensate audio device latency
macOS
improve menu item modifier descriptions for various menus
Media Items
avoid snapping to a grid point that is in a different direction from the mouse move
improve interactions between auto-crossfade project setting and crossfade preferences when trimming content behind media item edits
improve multiple selection behavior when editing crossfade or shared media item edges [t=282099]
limit overlap and crossfade when splitting at time selection or razor edit [p=2699919]
limit crossfade edits consistently when moving left or right [p=2661922]
store fade-in/fade-out length with greater precision in project files
when option enabled to offset overlapping media items vertically, arrange media items that start at the same time in the order they were created [t=279000]
Metadata
cancel metadata edit entry box when user scrolls metadata list
attempt to parse XMP markers for terse display in media source properties dialog
MIDI
do not automatically re-color MIDI media items when doing pooled copy
improve MIDI device preferences pane
MIDI Editor
display time/value in CC lanes
improve support for renaming CC lanes
improve options to allow/disallow CC curve shapes in sustain, bank, LSB lanes
remove snap-to-center for mouse edits in CC lanes (double-click a value to center it)
when switching active MIDI item, adjust vertical scroll if all notes would be offscreen
when using one editor per project or per track, reopen editor at the same screen location for all MIDI items that share the editor
MIDI Quantize
automatically quantize media content start position to PPQ when quantizing MIDI [t=279531]
improve behavior of no-chase playback modes to handle media items with non-quantized starting positions [t=271205]
reset quantization for unselected notes when switching from 'all notes' to 'selected notes' in quantize dialog
when creating new items, always snap media item position to PPQ [t=271205]
Recording
optionally apply autocrossfade when new recording overlaps existing items and adding takes [t=276274]
optionally apply autocrossfade when loop-punch recording and adding takes [t=275518]
when loop recording, do not split recorded media even if a full loop pass was not recorded
Render
inform user when saved render format is not available
respect preference to close render window when done, even when normalizing (but leave the window open when dry run rendering regardless of the preference)
Tempo/Time Signature
inserting time at start of project uses initial tempo marker rather than project tempo setting [t=280453]
if project timebase for tempo/time signature envelope is set to beats, action to insert time will preserve existing tempo/time signature changes [t=279580]
Takes
avoid potential crash when editing take markers and media item source file is not available
Theme
macOS font tweaks
Track Folders
consistently refer to collapsed folders as 'collapsed' rather than 'compacted'
gray out folder tracks in track context menu if all selected tracks are already within that folder
when inserting tracks after a folder whose children are all hidden, insert after children
Web Control Surface
reduce web server latency
Windows
do not try to style-match tab-child windows [t=283126]
update manifest to declare UAC configuration and compatibility for new Windows 8+ features (improves support for some plug-ins)
Zoom/Scroll
consistently support small control device moves, such as from a trackpad or trackball
do not change envelope height when resizing tracks via mouse drag
rename actions to scroll horizontally/vertically to match behavior (scrolling forward vs reversed)
if maximum vertical zoom preference is 100% or less, keep the focused track entirely onscreen while zooming
if track height is greater than screen height, mousewheel scroll on TCP scrolls by screen height
Code:
E N H A N C E M E N T S (augmentation of functionality short of a new feature)
Actions
prevent healing an unlooped item with a copy of itself [p=2647801]
Actions Window
allow setting a parameter value for keys bound to MIDI CC/mousewheel actions
show custom action toggle state as enabled/disabled if all component actions that report a toggle state are enabled/disabled [t=229048]
API/ReaScript
TrackFX_/TakeFX_ APIs can access container and sub-container FX via documented addressing scheme
much faster API validation for takes and envelopes [t=283024]
GetTrackFromPoint() also returns the fixed lane under the mouse, if applicable
gfx.setcursor() can specify named theme cursors without specifying numeric ID
update from Lua 5.3.5 to Lua 5.4.6 (may affect existing ReaScripts) [t=281435]
update TakeFX/TrackFX_Get/SetPinMappings() to support more than 64 mappings
Audio
allow mapping ReaRoute/loopback devices as regular channels
support up to 128 channels per track, 128 channels of I/O per plug-in
Backups
default to saving up to 50 timestamped projects in Backups directory for new users
optionally save timestamped backup projects to Backups directory, auto-saved projects to AutoSaves directory
optionally keep last X copies or X unique days of copies of timestamped backups
Batch Converter
allow user-entered file extension if it is compatible with the format (.m4v for .mp4, etc)
Defaults
enable preference to record media, copy imported media to project media directory by default
display media item volume knob, FX button, mute button by default
MIDI editor defaults to one editor per project
default to OpenGL for video output
video media defaults to low-resolution audio peaks, for improved responsiveness
disable automatic fadein/fadeout for imported media by default
disable 'right-click deletes notes' MIDI editor preference by default
mouse-drag on crossfade intersection moves the split point left/right by default, rather than adjusting fade curves
use project peaks directory by default
ReaComp defaults to 4:1 compression ratio
ReaEQ changes default bandwidth for low/high shelf
built-in sliders respond to mouse click anywhere in the slider window, not just within the thumb image [p=2699292]
FX
flush plug-in buffers when bypassing VST or CLAP plugins
always run track/track FX while playback is stopped, if the UI is visible [t=273647]
always run input FX if the UI is visible
optionally run FX when muted if the UI is visible
show more descriptive names for track/take channels in pin connector dialog
FX Sidechain
allow drag/drop sidechain creation to FX in containers, floating windows
when creating sidechain via drag/drop to FX, always add/route to new track channels, reconfigure pin mappings for sidechain if FX has 4 inputs
JSFX
make output metering pre-wet/dry/delta-solo
macOS
optionally display last user-run action in REAPER title bar
Media Items
allow mouse editing take markers by clicking anywhere within the text, as well as on the marker itself
do not autoscroll when adjusting media item contents [p=2706019]
show special cursor (customizable) when mouse is over lower half of media item and user-defined mouse modifier exists
show tooltip when hovering over pooled MIDI button
MIDI Devices
allow ignoring devices to prevent them from using up device ID space
MIDI Editor
if 'show only events that pass filter' disabled, allow setting any channel for new events [p=2720147]
Preferences
remember last selected mouse modifier context when closing/restarting REAPER
Project
changing autocrossfade or overlapping-recording options also sets default setting for new projects
show play/record indicators for background tabs
use HMSF if set as a secondary project time unit
Razor Edit
copy selected part of fade-in/fade-out if any part of the fade is included in the razor edit
Samplerate Conversion
update r8brain-free to v6.3
Transport
when parsing user-input time, always treat 8-digit numbers as hhmmssff
Video
optionally display video from background projects if current project lacks video [t=273317]
WALTER
add warnings, enable via 'warnings all' or 'warnings pedantic' line (only supported when loading a non-zipped theme)
Zoom/Scroll
map shift+alt+mousewheel to 'scroll vertically one page' by default
allow mouse-centered vertical zoom to target the interior of a track
__________________