Cuemark

Install

Cuemark is currently source-only — you build and run it yourself. It targets Linux, developed against Ubuntu, with PipeWire for audio and Tauri (Rust + WebKit) as the app shell.

Runtime requirements

RequirementNotes
PipeWireAudio routing. Standard on Ubuntu 22.04+, Fedora 34+.
WirePlumberPipeWire session manager; provides wpctl for device enumeration.
GStreamer + pluginsAudio/video decode and playback.

Build requirements

Linux packages

Install all build and runtime dependencies in one shot:

# Tauri build dependencies (WebKit, GTK, SSL, icon rendering, system tray)
sudo apt-get install \
  libwebkit2gtk-4.1-dev \
  libgtk-3-dev \
  libssl-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev

# GStreamer dev headers (required to compile the Rust GStreamer bindings)
sudo apt-get install \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev

# ALSA dev headers (required by the midir MIDI crate on Linux)
sudo apt-get install \
  libasound2-dev

# GStreamer runtime plugins
sudo apt-get install \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly \
  gstreamer1.0-libav \
  gstreamer1.0-pipewire

# PipeWire + WirePlumber (usually pre-installed on modern desktops)
sudo apt-get install \
  pipewire \
  pipewire-audio \
  wireplumber
pactl (from pulseaudio-utils) is not required — Cuemark uses pw-dump (from pipewire-bin) for device enumeration.

Build and run

git clone https://github.com/charlesbrandt/cuemark.git
cd cuemark
npm install
cargo tauri dev

cargo tauri dev starts the Vite dev server and opens the Tauri window with hot-reload for the frontend. See Running Cuemark for a production build and dual-display setup.

Verify GStreamer plugins landed

The build can succeed and the app can launch even if a runtime plugin package is missing — that only shows up when you try to play a track (it loads but never plays, with no visible error). Confirm before reporting a fresh install as working:

gst-inspect-1.0 pitch   # soundtouch tempo element, from plugins-bad

If this prints "No such element or plugin", re-check the plugins-bad install above.