24 features shipped · 1.0

Every feature,
earning its place.

Every one of these is in the 1.0 build. None of them are "coming soon" — if something's on this page, you can use it today. The list is short on purpose; a screen-edge meter should not have a feature matrix that takes a minute to scroll.

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 3-point segments with 1-point gaps, clamped to -60 to 0 dB. Colours step from green to amber to red so a clip is a clip whether you glance or stare.

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 in LUFS mode

Sample-peak tracking per channel with slow decay. Reported in dBFS alongside momentary, short-term, and integrated values.

Catch inter-sample peaks that a gated loudness number would otherwise miss.

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 target presets

One-click targets for YouTube/Spotify (-14), Apple Music/Podcast (-16), and Broadcast (-23). A cyan reference line draws on the strip itself at the chosen level.

Aim for a number, not a feeling.

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.

Four dock positions

Left, right, top, or bottom. Left and right strips span the full visible height at 16 points wide. Top and bottom span the full width at 16 points tall. The menu bar and the Dock's space are respected, not overlapped.

Fit flexMeter into whatever screen real estate you actually have.

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

Controls

The surfaces for changing anything. Menu bar, right-click menu, keyboard. 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.

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.

06

Access

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

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.