Skip to content

About

I finally managed to create an SWS-style extension that makes scrolling and zooming with the trackpad feel much smoother and more intuitive, closer to how it works in other modern DAWs. Currently it only supports Apple Silicon Macs. I’ll add Intel Mac support as soon as I have the chance.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REAPER Trackpad Engine

Experimental macOS extension that replaces REAPER's native trackpad navigation with smoother, more predictable gestures.

Features

  • Smooth horizontal scrolling in the Arrange view
  • Smooth vertical scrolling in the Arrange view and Track Control Panel
  • Simultaneous two-axis scrolling, including diagonal and circular gestures
  • Horizontal scrolling in the Mixer
  • Pinch-to-zoom anchored to REAPER's edit cursor
  • Adaptive pinch momentum: longer release for fast gestures, shorter for slow ones
  • Persistent master switch for the complete gesture engine

Compatibility

Prebuilt downloads are available for:

  • macOS
  • Apple Silicon (arm64) with native Apple Silicon REAPER
  • Intel (x86_64) with Intel REAPER
  • Apple trackpads and Magic Trackpad

The extension file must match the architecture used by REAPER.

Download

Mac / REAPER architecture Extension Checksum
Apple Silicon (arm64) Download SHA-256
Intel (x86_64) Download SHA-256

Install

  1. Download the build matching your REAPER architecture from the table above.

  2. Fully quit REAPER.

  3. Copy the file to:

    ~/Library/Application Support/REAPER/UserPlugins
    
  4. Restart REAPER.

  5. Open the Action List and search for Trackpad Engine.

  6. Run Trackpad Engine: Toggle engine (all gestures) once.

The first installation starts with the engine disabled. Its state is saved and restored automatically on later launches.

For troubleshooting, updating, and uninstalling, see the full INSTALLATION.txt.

macOS quarantine

If REAPER does not show the Trackpad Engine actions, macOS may have quarantined the downloaded file. Only if you trust the download, run:

xattr -d com.apple.quarantine \
  "$HOME/Library/Application Support/REAPER/UserPlugins/reaper_trackpadengine.dylib"

Then fully quit and reopen REAPER.

Usage

The master action controls horizontal scrolling, vertical scrolling, and pinch zoom together:

Trackpad Engine: Toggle engine (all gestures)

Separate actions remain available for selectively enabling or disabling each gesture. Diagnostic logging and calibration actions are optional and are not needed for normal use.

Build from source

Requirements:

  • Xcode Command Line Tools
  • CMake 3.20 or newer
git clone https://github.com/duanebeatzz/ReaperTrackpadEngine.git
cd ReaperTrackpadEngine
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

The extension is produced for the current build machine's architecture at:

build/reaper_trackpadengine.dylib

To install the compiled file:

./scripts/install.sh

REAPER must be fully restarted after installation or updating.

Architecture

NSEvent / REAPER view
        ↓
TrackpadEvent
        ↓
MotionEngine and gesture processors
        ↓
NavigationCommand
        ↓
ReaperNavigation
        ↓
REAPER API

The Objective-C++ layer captures trackpad events and converts them into plain C++ data. Gesture processors handle motion and momentum, while ReaperNavigation is the only component that applies changes through the REAPER API.

Current limitations

  • Very fast Mixer swipes may still show a small visual glitch.
  • Track-height gestures are not implemented.
  • There is no settings GUI; motion parameters are currently defined in code.

Verification

Each downloadable binary has a SHA256SUMS.txt file in the same architecture folder.

License

ReaperTrackpadEngine is released under the MIT License.

Vendored REAPER SDK and WDL/SWELL headers retain their original license notices. See third_party/NOTICE.md.

About

I finally managed to create an SWS-style extension that makes scrolling and zooming with the trackpad feel much smoother and more intuitive, closer to how it works in other modern DAWs. Currently it only supports Apple Silicon Macs. I’ll add Intel Mac support as soon as I have the chance.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages