junkpile

10 — Tauri v2 MIDI Input

A standalone Tauri v2 example showing how native MIDI input can be received in Rust with midir, emitted into a vanilla JavaScript frontend, mapped with MIDI learn, and used to control a raw WebGL visual.

Signal flow

MIDI controller / virtual MIDI port
                ↓
          Rust `midir`
                ↓
       Tauri `midi-event`
                ↓
  JavaScript mapping + MIDI learn
                ↓
         WebGL uniforms

Features

Run

npm install
npm run dev

Default map

MIDI Parameter
CC 1 Hue
CC 2 Zoom
CC 3 Speed
CC 7 Brightness
CC 10 Distortion
CC 74 Complexity

On macOS, virtual MIDI can be enabled through Audio MIDI Setup → MIDI Studio → IAC Driver. On Debian/Ubuntu, midir commonly requires libasound2-dev.

Production build

npm run build

The generated platform bundles are written beneath src-tauri/target/release/bundle/.