Skip to content

Mixer channel strips with meters, mute and solo - #1025

Merged
bonninr merged 1 commit into
devfrom
feature/mixer-strips
Nov 10, 2026
Merged

bonninr merged 1 commit into
devfrom
feature/mixer-strips

Conversation

@bonninr

@bonninr bonninr commented Nov 10, 2026

Copy link
Copy Markdown
Owner

The Mixer tab as a mixing desk: one channel strip per rank, division, perspective group and output pair, and the desk fader's look on every fader that changes the sound.

Channel strip

Part What it does
Fader Ribbed cap, 0 dB at three quarters of the travel, +24 dB at the top, −∞ at the bottom; double-click returns to 0 dB
Scale Tick every 2 dB, numbers at 0, +24, +12, +6, −5, −10, −15, −20, −30, −∞
Value box The exact level in dB; double-click to type one
Meter 26 lamps, 2 dB each, from −50 dB; peak held 1.5 s
Mute, solo M and S under the fader; learnable from MIDI
Stripe Grey rank, amber division, cyan group, red output pair
Narrow strips 50 px strips, ticks without numbers, for large organs

The fader's travel is a display taper only: saved levels and the MIDI law stay the same.

Meters

  • 4 readings a second, a slice of the voices per window, each voice watched for at least 20 ms: every audio block costs the same.
  • Rank, division and group meters show the balance after the faders, before the swell boxes and the room. Their top colour is amber.
  • An output pair's meter reads the pair's own signal after its swell boxes and room, before the master volume. Red from −6 dBFS.
  • Meters switched off: nothing measured, output bit-identical (tested).

Mute and solo

  • Solo on a rank, division or group: only the ranks under a soloed strip sound. Solo on a pair: only the soloed pairs. Mute wins over solo. Noises keep sounding.
  • MIDI: the strip's MIDI button learns a knob or pedal for the level and buttons for mute and solo; a press toggles the strip's current state. Map file words strip-mute, strip-solo.
  • Control API: types mute (23) and solo (24), value 0/1, 2 toggles; ranks, then divisions, groups and pairs.

Styled faders

Master volume, graphic EQ bands and gain, attack and attack time, voicing level, tuning, brightness, bass, pan and width (rank and division), reverb wet, metronome level, keep-awake level, limiter ceiling and release, compressor, pitch, pipe detune and wind sway. Each has ticks at real values (EQ every quarter of its range, pan at ±50/±100, width at 50/100/150/200 %, pitch at the organ's own pitch and at 392, 415, 430, 440 and 466 Hz where in range) and a styled value box.

Screenshots

Lemmer near (lite), every stop drawn, a chord held on Pedal and Great.

Mixer: Subbas 16′ near −18 dB, Great division in the amber, near perspective near −10 dB.

Mixer

Narrow strips with Great muted: the Great division and its ranks dark, the Pedal reading, Pair 1 in view.

Narrow strips

Equalizer and Voicing tabs:

Equalizer

Voicing

Top-bar volume:

Top bar

Tests

  • functional.levels.strips: meters read every 44 blocks at 256 frames and 48 kHz; the pair reads the output's signal; output within rounding while metered and bit-identical once off; mute and solo from MIDI buttons (press toggles, release does nothing, map file round trip).
  • functional.levels.organ: mute and solo through the control API.
  • mp_tests --no-perf on Windows: 521 run, 0 failed. JUCE-free loop: all green.
  • Translations for cs, de, es, fr, it, nl, pl in *.mixer-strips.txt.

The Mixer tab draws a desk's channel strip for every rank, division,
group and output pair: a vertical fader with a ribbed cap, a scale in dB
with 0 dB three quarters up the travel, a lamp meter beside it, mute and
solo buttons, the level in a value box that takes a typed level, and the
strip's name. A "Narrow strips" option fits more strips in view.

Meters read four times a second. Each reading watches every voice for at
least 20 ms, a slice of the voices at a time, so every block costs the
same. Rank, division and group meters show the balance before the swell
boxes and stop at amber; an output pair's meter reads the pair's own
signal after its swell boxes and room and shows red near full scale.
Switched off, nothing is measured and the output is bit-identical.

Mute and solo reach MIDI (learned per strip, a press toggles) and the
control API (types "mute" and "solo"). Noises keep sounding under a solo.

Every fader that changes the sound takes the same look, with ticks that
mark real values: the master volume, the graphic EQ and its gain, the
attack, voicing level, tuning, brightness, bass, pan and width, reverb
wet, metronome level, limiter, compressor, keep-awake level, pitch,
detune and wind sway.
@bonninr
bonninr merged commit 30fccff into dev Nov 10, 2026
11 checks passed
@bonninr
bonninr deleted the feature/mixer-strips branch November 10, 2026 03:38
bonninr added a commit that referenced this pull request Nov 10, 2026
The Interface Workshop captured again from the build with the mixer channel strips. A draft saved in the browser on the earlier capture is kept: changed windows and menus hold their work, the others take the new capture.

For #1025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants