REAPER v7.40

v7.40 - June 10 2025

+ Actions: do not display extra message box when using new 'Save copy of project as (prompt with current name)' action [p=2866104]
+ Audio Units: ensure MIDI events sent to plug-in are sorted
+ Big clock: support copying text to clipboard [t=300511]
+ Big clock: support double-clicking on region/marker color square to edit the region/marker
+ Click source: add setting to preserve click pitch when changing project playback rate [t=300144]
+ Click source: do not apply project or media item pitch shifting if click source setting to preserve pitch is enabled [t=300144]
+ Crossfade editor: add new graphical crossfade editor (thanks chmaha)
+ Crossfade editor: hold alt/opt key while editing crossfade intersection handle to keep left-right movement minimal
+ Crossfade editor: lower edge of fade start/end is mouse edit zone for crossfade width
+ Crossfade editor: mouse edit in combination lane is handled like an item move edit in arrange view (only one side of the crossfade moves)
+ Crossfade editor: support many context-specific actions and shortcut mappings (nudge, preview, align phase, etc)
+ Crossfade editor: add option (enabled by default) to color the entire item in the arrange view when using the crossfade editor
+ Crossfade editor: add theme images for navigation buttons
+ Crossfade editor: display signal correlation within crossfade area
+ Crossfade editor: support loading/saving snapshots
+ Crossfade editor: support locking left-hand item start time (edits are instead applied to the right-hand item in reverse)
+ Crossfades: allow changing either fade-in/out or crossfade shape via fade shape popup menu
+ Crossfades: respect preference to display crossfade handle when "offset overlapping items vertically" is enabled
+ Envelopes: fix envelope points possibly getting scrambled when editing point position via "set point value" dialog [t=241299]
+ Envelopes: support relative snap when moving envelope points, automation items
+ Joysticks: fix issues when re-enabling a joystick that was previously not found
+ Joysticks: update MIDI list when changing devices
+ Linux: add Joystick MIDI support
+ Localization: allow localizing MIDI note names
+ Localization: enhance per-control scaling to support x-position adjustment, width-shrinking, and y-growing of controls, via @id=scale,ysc=yscale,dx=moveamt
+ Localization: improve localization tweakability of media item properties window
+ Localization: support localizing ReaPlugs
+ Localization: fix development helper tooltip ID display for disabled controls on Windows
+ LV2: ensure MIDI events sent to plug-ins are sorted [t=300712]
+ macOS: fix inconsistencies with keyboard bindings after loading plug-ins that change locale (e.g. Kontakt7) [t=299738]
+ macOS: fix stale darkmode color of text controls in certain instances [t=300768]
+ Media explorer: when loading FXB/FXP, do not focus existing FX if already visible
+ Menu/toolbar customization window: fix flicker on Windows [t=300997]
+ Meters: fix mixer master gain reduction metering when master has a high channel count
+ MIDI: adjust item fixed-tempo setting when moving items across tracks to new timebases, auto-convert if possible
+ MIDI: improve behavior when importing, inserting, recording, gluing, or rendering MIDI on a track that has timebase set to time
+ MIDI: be a little more permissive when importing .mid files with oddly-formed MIDI track data, unterminated sysex messages [t=300816] [p=2871126]
+ MIDI: change menu/action text to 'Time format: Measures.Beats.PPQ' from 'Time format: Measures.Beats.MIDI_ticks'
+ MIDI editor: omit view/editor state from undo points, reducing extra undo points in certain cases
+ MIDI editor: enabling 'snap relative to grid' disables absolute snapping for note-starts
+ MIDI editor: support relative snap for CC events
+ MIDI editor: improve behavior of actions to move cursor left/right by grid with 'snap to visible grid' enabled
+ Mouse modifiers: fix automation item double-click action binding [t=301001]
+ Mouse modifiers: exporting ReaScript to set modifiers supports updating correct toolbar in MIDI editor [t=296961]
+ Paste: fix MIDI PPQ snapping when pasting items in projects that have tempo changes
+ Peaks: fix dual-type peaks display when using item section/reverse (7.39 regression) [p=2869705]
+ Peaks: fix peak edge drawing when using alpha < 1.0
+ Peaks building: allow peaks of corrupted partial media to finish building (7.39 behavior change reverted) [t=300885]
+ Phase aligner: add new phase alignment action/dialog
+ Phase aligner: maximize phase correlation between media items and selected reference media items
+ Phase aligner: support batch processing, to phase-align multiple media items with multiple reference media items
+ Phase aligner: adjust grouped items when applying phase alignment
+ Project settings: fix save of default relative snap setting
+ Razor edits: add experimental option (reaper.ini areasel=2) to not merge adjacent selection regions
+ Razor edits: improve behavior with video items and automation lane razor edit edges [t=300920]
+ Razor edits: update toolbar when moving razor edit with ripple mouse modifier [t=266576]
+ ReaControlMIDI: improve macOS window sizing
+ ReaEQ: clean up UI layout, improve for localization
+ ReaNINJAM: add option to auto-assign remote channels/users to output channels
+ ReaNINJAM: add option to hide beat counter display
+ ReaNINJAM: allow configuration of remote output channels
+ ReaNINJAM: allow customizing bitrate for each local channel
+ ReaNINJAM: fix potential crash after first scan on macOS
+ ReaNINJAM: improve accessibility labels, remove various dividers from screenreader lists
+ ReaNINJAM: make plug-in i/o size configurable, allow configuration of output channels for metronome, local channels
+ ReaPlugs: allow mousewheel over most text fields to adjust value
+ ReaScript: add CrossfadeEditor_Show(), CrossfadeEditor_OnCommand()
+ ReaScript: document more RENDER_SETTINGS values
+ ReaScript: FX_GetNamedConfigParm() supports is_instrument
+ ReaScript: auto-cleanup reaper-extstate.ini if it contains many incorrectly-written lines [t=298318]
+ ReaScript: prevent writing invalid newline characters to reaper-extstate.ini via SetExtState() [t=298318]
+ ReaScript: update documentation for SetExtState() to reflect lack of support for newlines in persistent state [t=298318]
+ ReaSurroundPan: fix truncating utf-8 channel names
+ ReaVerb: fix issues with unicode filenames on Windows
+ Render window: add vertical scrollbar when used on very low resolution screens
+ RS5k: increase UI width
+ Ruler: fix potential hang in certain instances (7.19 regression)
+ Samplerate conversion: fix r8brain-free quality issues with playspeed changes and sub-128-sample blocksizes [t=301049]
+ Snapping: improve behavior of mouse-dependent start/end snapping (snaps to start unless in last 15% of item)
+ Theme: support maximum width for gain reduction meter in WALTER, as 4th coordinate of meter.vu.div
+ Wildcards: localize $localtime using REAPER localization rather than system locale
+ Wildcards: support $wildcard[<N] to limit the replacement text to N characters
+ Windows: remove ancient hardcoded ctrl+space playback binding (users should use global shortcuts instead) [t=294485]