Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

Linux-Focusrite-Scarlett-Controller

Linux Focusrite Scarlett Controller

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Scarlett Solo Controller

A GUI mixer controller for the Focusrite Scarlett Solo USB audio interface on Linux.

Features

  • Mixer Controls: Volume sliders, boolean switches, and enum selectors for all ALSA mixer controls
  • Real-Time Level Meters: VU-style input meters with green/yellow/red zones
    • Green: healthy levels (below -12 dB)
    • Yellow: getting hot (-12 dB to -3 dB)
    • Red: clipping risk (above -3 dB)
  • Peak Hold: Peak markers show recent maximum levels
  • Clip Detection: Latching CLIP indicators warn when inputs clip
  • Auto-Refresh: Polls ALSA controls every 2 seconds
  • Preset Buttons: Quick-set volume to 0/25/50/75/100%
  • Supports Scarlett Solo Gen 1, 2, 3, and 4

Requirements

  • Linux with ALSA
  • Focusrite Scarlett Solo connected via USB
  • Free Pascal Compiler (fpc) 3.2+
  • Lazarus IDE 2.0+ (for LCL)
  • arecord (from alsa-utils) for level metering

Build

bash
# Install dependencies (Debian/Ubuntu)
sudo apt install lazarus fpc alsa-utils

# Build
cd scarlett-solo-controller
lazbuild scarlett_solo_ctrl.lpi

# Run
./scarlett_solo_ctrl

Layout

  • Left Panel: List of all detected ALSA mixer controls with current values
  • Right Panel: Detail view for the selected control (slider/switch/dropdown)
  • Level Meters: Real-time input metering via arecord capture

How It Works

  • Uses aplay -l to detect the Scarlett Solo sound card
  • Reads mixer controls via amixer -c N contents
  • Sets values via amixer -c N cset
  • Captures audio via arecord for real-time level metering