ReaSmoothPlayhead

ReaSmoothPlayhead Demo
Play video

ReaSmoothPlayhead hides REAPER's stepped native play cursor and draws its own GPU-rendered overlay on top of the arrange view and the MIDI editor. The line is redrawn every vblank and extrapolated between audio blocks, so it glides at your monitor's refresh rate instead of stuttering.

Features

  • Smooth play cursor in the arrange view and the MIDI editor
  • Customizable line (color, width, opacity, glow), trail and shadow gradients, beat-synced pulse
  • A few visual FX (wave, sparks, rainbow) if you're into that
  • Presets
  • API for controlling presets from scripts
  • The native cursor is hidden automatically and restored when the extension is disabled

Requirements

  • Windows 10+ (x64), macOS 10.15+ (Intel + Apple Silicon), and Linux
  • The settings window requires ReaImGui (install "ReaImGui: ReaScript binding for Dear ImGui" via ReaPack); the overlay itself works without it

Install via ReaPack

  1. In REAPER: Extensions → ReaPack → Import repositories…
  2. Paste this URL:
    https://raw.githubusercontent.com/Sakhnovkrg/ReaSmoothPlayheadReapack/main/index.xml
  3. Extensions → ReaPack → Browse packages…, find ReaSmoothPlayhead, install it, then restart REAPER.
  4. Settings: Extensions → ReaSmoothPlayhead

Known Issues

  • Continuous scrolling may cause the playhead to jitter on some systems at close zoom levels
  • With continuous scrolling enabled, the playhead may wobble when a loop wraps while the view is scrolling

Changelog

0.2.7

  • Linux is now fully supported!
  • Added saw wave pulse shape
  • Improved FX and added customization
  • Added cap on top of the line
  • MIDI Editor clipping at the top
  • Presets now sorted alphabetically
  • Windows: non-ASCII theme names no longer create renamed duplicates in the theme list
  • Presets: the selected preset is now remembered across restarts
  • Presets: shows (modified) when the current style has unsaved changes
  • Renamed "Enabled" to "Enable Extension" to avoid confusion
  • Windows: fixed zipped themes with non-ASCII file names loading without images
  • Added an API for controlling presets from scripts
  • The trail now grows out from the playback start point as the playhead moves away, instead of appearing at full width immediately
  • The playhead now moves smoothly at subpixel precision when zoomed out, eliminating pixel-grid jitter
  • Fixed duplicate playheads during renders launched from scripts
  • Render/freeze playhead handover is now disabled by default. It can be re-enabled in the Advanced tab
  • Zoom stability fix
  • Scrolling while playing is noticeably tighter — the line stays glued to the content when you drag the arrange, pan with the wheel or drag the scrollbar
  • Fix: the v0.2.1 packages accidentally shipped stale v0.1.9 binaries :)
  • Continuous scrolling: fixed playhead offset and jitter at higher zoom levels on slower systems
  • MIDI editor: fixed playhead jitter with "Synchronize transport with main transport" enabled
  • MIDI editor: fixed the playhead drifting ahead of the notes in Beats timebases with tempo changes or fractional BPM
  • Re-triggering playback while already playing (e.g. spamming "Play (solo selected item)") now jumps the playhead instantly instead of gliding backward
  • Windows: fixed the playhead being invisible on some GPU/driver/display combos (additive rendering now works on both DWM and hardware overlay/MPO composition paths)
  • During rendering or track freeze, the custom playhead is no longer shown, and the native play cursor is now displayed in the render/freeze window
  • Improved playhead behavior during horizontal scrolling
  • MIDI editor: the view mapping now reads the ACTIVE take's state. With a multi-take item the first take's state was read instead — it only updates on mouse-up, so during a hand scroll the line stuck to its screen spot until the mouse was released
  • Hand scrolling / wheel panning during playback no longer makes the line wobble. It's still not perfectly smooth, and probably never can be, but it's much less annoying now :)
  • Seeks in Continuous Scrolling mode now teleport the line instantly instead of gliding
  • The "Pin in continuous scrolling" checkbox is gone from the settings
  • Trail and shadow gradients now fall off quadratically (x²) instead of linearly
  • Continuous scrolling no longer causes playhead jitter
  • Public Beta

Discussion and feedback: Cockos forum thread