39 features shipped · 1.1 beta

Every feature,
earning its place.

Every one of these is in the current beta build. None of them are "coming soon" — if something's on this page, it belongs to the shipped feature set. Future output metering, on-air mode, and OBS integrations stay on the roadmap until they land.

01

Metering

The parts that draw the meter. LED segments that read at a glance, ballistics that match the standard you picked, and peak indicators that hold just long enough to be useful.

Real-time LED meter strip

Per-channel RMS rendered as discrete LED-style segments, clamped to -60 to 0 dB. Colours step from saturated green to yellow to red so a clip reads in peripheral vision.

See every channel without taking your eyes off the app you're actually working in.

VU mode

Broadcast-standard 300ms integration via an exponential moving average (alpha 0.3). Peak decay at 26 dB/s. The ballistic response VU meters are supposed to have.

The meter your ears are already calibrated to.

PPM mode

IEC 60268-10 Type I peak programme meter. Smoothing alpha 0.6 for a fast attack, 7 dB/s return. Built to catch the transients VU meters read past.

Short, sharp peaks stay visible long enough to react to.

LUFS mode

ITU-R BS.1770-4 loudness. Cascaded biquads for K-weighting, 100ms step with 75% overlap, absolute gate at -70 LUFS. Momentary (400ms), short-term (3s), and integrated (full session) all visible in the settings panel.

Three loudness readings without opening a plugin host.

Peak hold

A bright segment marks the highest level per channel for 1.5 seconds before decaying at the active mode's return rate. Peaks above -6 dB render red, below -6 dB render white.

See where the spike actually was, not just where the meter is now.

True peak with configurable threshold

Per-channel true-peak tracking with a user-set clip threshold (-1, -2, or -3 dBTP). Reported in dBFS alongside momentary, short-term, and integrated values.

Catch inter-sample peaks that a gated loudness number would otherwise miss, and choose the headroom your delivery target asks for.

Live overs counter

Counts every sample above the active true-peak threshold, in real time. Visible in the Metering palette and resettable per session.

A running tally of the moments you'll need to know about after the take, not a vibe.

02

Loudness

Everything that happens in LUFS mode. Targets for the platforms most people actually ship to, and a reset so every take starts clean.

Loudness range (LRA) readout

EBU R128 loudness range over the integrated window. Reported next to the M / S / I readouts in the Metering palette.

Know how dynamic your program is, not just how loud.

Workflow presets

Five named presets — Streaming, Podcast, Classic VU, Broadcast, and Peak Watch — wire mode, ballistics, target, and palette to the job you're in. No preset is the sixth option.

Pick the room you're working in; the strip configures itself to match.

Loudness target presets

One-click LUFS targets for YouTube/Spotify (-14), Apple Music/Podcast (-16), EBU R128 (-23), ATSC A/85 (-24), and ARIB TR-B32 (-27). A cyan reference line draws on the strip itself at the chosen level.

Aim for a number, not a feeling.

1 kHz reference tone

A -20 dBFS line-up tone plays for five seconds from a separate output engine. If the active input sees the expected level, flexMeter briefly shows an EBU or SMPTE badge.

Confirm signal-chain alignment instead of trusting a knob position.

Reset integrated LUFS

One action in the settings panel or the right-click menu clears all LUFS accumulators, biquad state, and the true-peak value. Available only in LUFS mode, because it shouldn't be anywhere else.

Start every take on a clean integrated measurement.

03

Devices

How flexMeter sees your audio. Whatever macOS can enumerate, flexMeter can meter — up to eight channels at a time — and it doesn't fall over when you unplug something.

Any input your Mac can see

CoreAudio enumerates every input device — built-in mic, USB interface, Thunderbolt rig, virtual audio. Device lists appear in the menu bar settings and the right-click menu.

Whatever you already plug in will show up here.

Up to eight channels

Channel count is taken from the input device format. Each channel gets its own meter bar, arranged side-by-side on a vertical strip or stacked on a horizontal one.

A four-person podcast rig reads at a glance.

Automatic device fallback

CoreAudio property listeners watch the device list. If your selected device vanishes, the engine swaps to the system default and surfaces a brief status message.

A pulled USB cable doesn't end the session.

04

Display

Where the strip lives on your screen, how you move it, and how it behaves when you go fullscreen or rearrange your monitors.

Consolidated Metering palette

A unified floating panel that brings the VU needle hero, the LUFS triptych, true peak, LRA, the overs counter, the target indicator, and reset together. One place to glance, no scattered HUDs.

Every number you trust in a single, peripheral surface — never a second window to manage.

Four dock positions

Left, right, top, or bottom. The strip spans the visible screen edge and respects the menu bar and Dock areas instead of overlapping them.

Fit flexMeter into whatever screen real estate you actually have.

Adjustable strip thickness

Strip thickness can scale from a discreet 8-point cue to an 80-point monitoring surface, depending on how much peripheral signal you want.

A tiny edge cue for writing, a larger meter for live work.

Long-press and drag to reposition

Hold the strip for half a second; it gains a shadow and accepts mouse events. Drag it anywhere; on release it snaps to the nearest edge. Then it's back to click-through.

Move the meter without opening a menu.

Fullscreen and Spaces support

The panel uses canJoinAllSpaces to follow desktop switches, stationary to stay during Mission Control, and fullScreenAuxiliary to float over fullscreen apps.

You keep your meter when your game, DAW, or OBS goes fullscreen.

Multi-monitor pinning

A display picker appears the moment a second screen is connected. The chosen display ID is remembered, and the strip re-positions itself when you rearrange screens.

Meter on the monitor that isn't hosting your work.

Adjustable opacity

A slider in settings for 30–100%, plus 30 / 50 / 80 / 100% presets in the right-click menu. The current percentage shows next to the slider.

Make it quieter without making it useless.

05

Effects

Small motion and feedback touches that make the meter feel alive while still respecting Reduce Motion.

Calibration sweep on start

On cold boot, the meter runs a 600ms sweep from -60 dB to 0 dB and back so you know the rendering pipeline is alive. It respects Reduce Motion.

A quick confidence check before a session starts.

Phosphor afterglow

An optional CRT-scope-style trail glows behind the peak indicator with a short exponential decay. It is off by default and skipped when Reduce Motion is enabled.

Vintage scope feel without making the meter harder to read.

06

Appearance

The instrument faces. Different broadcast-inspired skins, same underlying metering data.

Meter skins

Choose LED, the original segmented bargraph, or Studer, an industrial blue smooth-gradient skin inspired by classic broadcast hardware. The metering data stays identical.

Change the instrument face without changing the instrument.

VU needle meter

The consolidated Metering palette includes a spring-physics VU needle with a -20 to +3 VU arc, red zone, and reduce-motion fallback.

A familiar analog read for people who think in needles, not bars.

07

Controls

The surfaces for changing anything. Menu bar, right-click menu, keyboard, gestures, diagnostics. Pick one and never think about it again.

Menu bar settings

Click the speaker icon for device picker, position, meter style, LUFS controls (when in LUFS), peak hold, opacity, launch-at-login, and quit. Every setting persists.

One dropdown holds the whole app.

Right-click context menu

A native AppKit menu on the strip itself, with submenus for input, position, meter style, peak hold, opacity, LUFS reset (when applicable), and quit. Checkmarks mirror state.

Change anything without leaving the meter.

Global keyboard shortcuts

Command-Shift-M toggles visibility. Command-Shift-Arrow moves the strip to a different edge. The M key is matched by character, so non-QWERTY layouts are fine.

Hide and move the meter without touching the mouse.

Option-click diagnostics

Hold Option while opening the menu bar control to see version, engine state, input source, channel levels, active style, dock position, and display ID.

Troubleshoot a strange setup without hunting through files.

Triple-click quiet zone

Triple-click the strip to shift the color ladder down for quiet-source monitoring. Yellow starts at -20 dB, red at -14 dB, and a small QZ badge stays visible while active.

Make room tone and soft sources visible without changing gain.

Launch at login

A single toggle in settings, backed by SMAppService. flexMeter comes up with the rest of your desktop.

You set it once, and it's there every morning.

First-run onboarding

A small titled panel appears next to the strip the first time you launch the app, listing the three things you need to know: right-click, keyboard shortcut, long-press-to-drag. It never appears again.

Enough onboarding to get going; not enough to be a tutorial.

Microphone permission guidance

If macOS denies access, flexMeter explains that it listens only for levels, never records, and links directly to the Microphone privacy pane.

The permission prompt says exactly why it exists.

08

Access

The quieter features. VoiceOver labels, Reduce Motion, Reduce Transparency — the system settings your Mac already respects, respected.

Status indicators

When no audio channels are available, the strip uses clear states and broadcast vocabulary: Standing by, Holding for signal, and No source.

You can tell the difference between silence, setup, and trouble.

Preset-aware reset labels

Creative presets say Roll new take or New take; broadcast and monitoring workflows keep Reset measurements.

The reset action speaks the language of the session you're in.

VoiceOver support

Each channel has a label and reports its current level and peak in decibels. In LUFS mode, momentary, short-term, and integrated values are read out.

The meter reads to assistive tech the same way it reads to you.

Reduce Motion

With the system setting on, the LED glow behind active segments is suppressed in favour of flat colour.

A calm meter for a calm setup.

Reduce Transparency

With the system setting on, the ultra-thin material background is replaced with solid black at 90% opacity.

Readable in the high-contrast configurations your OS already knows about.

What it doesn't do

A meter is supposed to read levels. That's the whole job.

Never records
The mic permission is used to read levels. Nothing is written to disk, nothing leaves the device, nothing is streamed anywhere.
No Dock icon
A menu bar agent and a strip on the edge of your screen. That's the whole shape of the app.
No tracking
No analytics SDKs, no crash reporting SaaS, no telemetry. The app doesn't phone home because there's no home.
No subscription
A one-time app. The meter doesn't expire, the features don't regress, and the loudness presets won't move behind a paywall next year.

Got a question we didn't answer here?

The FAQ covers the usual ones — meter standards, microphone permissions, fullscreen behaviour, multi-monitor pinning, and what happens when your USB cable gives up.