Skip to content

Design

Feels like it came with your Mac.

Cross-platform players draw their own controls so they look the same everywhere. MacLC was built around the Mac’s own: its materials, its menus, its settings, its accessibility.

MacLC’s library on macOS Tahoe, with a glass sidebar, a toolbar floating over the Sintel hero, shelves of videos and a Now Playing bar.MacLC’s library on macOS Tahoe, with a glass sidebar, a toolbar floating over the Sintel hero, shelves of videos and a Now Playing bar.

01 Interface

Built from the Mac’s own pieces.

Liquid Glass

On macOS Tahoe the playback controls, the sidebar and the Now Playing bar float on glass. On older systems, or with Reduce Transparency, they switch to a solid material.

A real Mac sidebar

Not a list styled to look like one: the system’s own sidebar, with its material, its collapse and its drag-and-drop.

Windows that fit the film

A 2.39:1 film gets a 2.39:1 window. In a tiled window, the picture keeps its shape without black bars above and below.

Quiet confirmations

Volume, speed, tracks and delays are confirmed in a small glass capsule — and announced to VoiceOver — instead of being written over the picture.

Numbers that hold still

Time labels use digits of equal width, so they don’t shift left and right as the seconds tick.

Menus in Apple’s words

Settings…, Keep on Top, Take Snapshot, Full Screen: the names you already know, and no menu items that lead nowhere.

02 Settings

Every setting tells you what you’ll see.

Many players greet you with walls of checkboxes and advanced trees of options nobody explains. MacLC has one window, a sidebar, a search field — and one sentence under each option.

MacLC says“Highlights keep detail but the picture is dimmer overall.”

Instead ofapplies a BT.2390 EETF

MacLC’s settings window, HDR & Colour section, with a label, a control and a sentence for every option.MacLC’s settings window, HDR & Colour section, with a label, a control and a sentence for every option.

Eight sections

General, Playback, Video, HDR & Colour, Audio, Subtitles, Interface and Shortcuts.

Search by meaning

Search looks through names, descriptions and keywords, so “brightness” finds what you meant.

Warnings where they matter

An option that can break playback carries a warning and a sentence saying what will happen.

Nothing decorative

Every control is checked against an option that exists in this build. If an option is missing, its row isn’t shown.

03 Accessibility

It follows your Mac, because it never ignored it.

MacLC doesn’t hard-code colours, sizes or animations: it asks the system. So your Mac’s settings apply everywhere, without special cases.

Accent colour

Buttons, selections and switches take the accent you chose in System Settings.

Light and Dark

Every window and panel follows your appearance, including the effects and information panels.

Reduce Motion

Animations become simple cross-fades.

Contrast and transparency

With Increase Contrast or Reduce Transparency, glass turns into solid, high-contrast surfaces.

VoiceOver

Controls have spoken labels, and on-screen confirmations are announced — once, with the value you settle on.

Keyboard

Every control is reachable from the keyboard, and Hold to Compare works with a key press too.

04 The icon

The details nobody asked for.

A graphite squircle on Apple’s icon grid, not a rounded rectangle: at 16 points in the Dock, that curve is most of what makes an icon look at home.

The only colour is the warm light behind the play mark, which is why it reads as light rather than paint. And the whole icon is drawn by a small program kept with the code, so it can be changed and compared like code.

05 Under the hood

For the technically curious.

Design systemMacLCDesign

Tokens
One layer defines every colour, type style, spacing, radius, material, SF Symbol configuration and animation duration as class properties mapped to AppKit semantics (labelColor, controlAccentColor, separatorColor…). VLC’s macOS code had eleven literal colours in one category alone.
Motion
Quick, standard and emphasised springs, idle and linger delays; entrances and exits fall back to a cross-fade under Reduce Motion.
Glass
NSGlassEffectView on macOS 26, a HUD visual-effect view with a hairline elsewhere, switched live when Reduce Transparency or Increase Contrast changes.
Typography
System text styles throughout; monospaced digits for time labels.

Six metricsMoved onto the 8-point grid

MetricVLCMacLCWhy
Small list row25 pt32 pt25 pt was below a comfortable click target.
Medium list row50 pt48 ptA multiple of 8.
Large list row100 pt96 ptA multiple of 8.
Video list row42 pt48 ptA multiple of 8, with room for the thumbnail.
Corner radius4 pt8 ptThe system’s medium radius.
Controls fade0.4 s0.25 sThe system’s standard animation duration.

Settings windowmodules/gui/macosx/settings

Structure
One window, a category sidebar and a search field filtering by label, description and per-pane keywords; each pane a stack of titled cards; advanced controls behind a disclosure.
Guarded reads
All 240 configuration reads go through wrappers that check the option exists. Opening the Interface pane used to call config_GetPsz("http-password") in builds without Lua — an assert() in libvlccore that aborted the app.
Self-check
MACLC_SELFTEST=1 builds all eight panes at startup and reports summary: 8 panes, 8 ok, 0 failed.
Nothing removed
VLC’s full advanced preferences tree is untouched and reachable.

IdentityA Mac app of its own

Bundle
org.maclc.MacLC. While it shared VLC’s identifier, macOS showed VLC’s icon on MacLC’s windows in Stage Manager and the Dock, and MacLC read and wrote VLC’s settings and library.
Migration
First launch copies VLC’s preferences directory, application-support directory and defaults domain. It only copies.
Names
Brand names are substituted after translation, so every catalogue in po/ still works (“Hide VLC” → “Masquer MacLC” in French). Snapshots are named maclcsnap-*.
Icon
Superellipse (exponent 5) filling 824 of 1024, generated by extras/package/macosx/asset_sources/maclc_app_icon.swift, with a template-image menu-bar mark.

StabilityFixed along the way

Crashes
A use-after-free on quit at the end of playback (reproducible every time in VLC), assertions reachable from the interface, Browse with an empty discovery service, the progress slider on a Mac with no active display.
Hangs
A teardown deadlock, a playback stall, full-screen restoration waiting on video-output locks, progress dialogs blocking the main queue, and one quit in fifty that never finished.
Tests
Unit tests for window fitting, resume rules, tone curves, SDR to HDR, the HDR advisor, NEON chroma conversions and CoreVideo HDR metadata.

All technical specifications →

Before you download

MacLC is free. If it is useful to you, a gift helps it skip “Open Anyway” and funds the next release.