Fadenza

Fadenza · macOS music player

Just
play it.

You hand it files, folders, playlists or stream URLs. It plays them in order. It remembers exactly where you were — down to the shuffle seed.

  • Mac only
  • Free
  • Works offline
  • Light
  • Drop and play

In development — 10 of 11 phases done. Nothing to download yet.

Subtraction

What it refuses to do

Every one of these is something a competing player has. None of them is missing by accident, and this is the first thing you should read — if one of them is a dealbreaker, you have saved yourself a download.

  • No library

    Nothing to import into, nothing to scan, nothing to organize. Fadenza never moves your files and never writes to them — its sandbox entitlement is read-only.

  • No tag editing

    Apple frameworks cannot write MP3, FLAC or Ogg tags. That was measured, not assumed. Rather than ship an editor that works for one format in seven, there is no editor.

  • No gapless playback

    Live albums and DJ mixes will click between tracks. The playback engine sits behind a protocol so this can be fixed later without disturbing anything else.

  • No bit-perfect output

    No hog mode, no DSD, no sample-rate following, no upsampling. Audio goes through the system mixer like everything else on the machine.

  • No account, no server

    Nothing to sign into, nothing syncing. The only network traffic is the streams you point it at.

  • No plugins, no DSP

    A fixed feature set. No component ecosystem, no effect chains, no crossfade, no pitch or speed control, no ReplayGain.

  • Seven formats, not seventy

    MP3, AAC/M4A, ALAC, WAV, AIFF, FLAC and Ogg Vorbis. No trackers, no chiptunes, no console audio — each of those needs a C decoder, and there are none here.

  • One queue

    No tabs, no multiple playlists, no CUE sheets, no nested remote playlists. One list, the one you are listening to.

“Innovation is saying no to 1,000 things.” — Steve Jobs

Scope

What it does

Playback

Play, pause, seek, volume, mute. Repeat off, one or all. Shuffle. App volume is its own level and never touches the system output. A live or chunked stream disables the scrubber rather than showing you one that silently does nothing.

The queue

Reorder by dragging, multi-select, remove, clear. Every row carries its state — loading, missing, unsupported, failed — with the reason behind it. Right-click for Play, Play Next, Reveal in Finder, Copy Source URL and Remove.

Sources

Local files and folders, recursive to 32 levels and 20,000 files per import. HTTP and HTTPS streams. M3U, M3U8 and PLS playlists, local or remote. Watched folders, with a dismissal set so a track you removed does not come back on the next scan.

Ways in

Drag and drop, the Open panel, Finder’s Open With, file-type associations and the fadenza:// URL scheme — all landing in the same queue. An import never aborts on one bad file: the rest goes in and you are told what was rejected.

Metadata

Title, artist, album, track number, genre, duration, artwork. Read-only. Loaded after the queue populates, so paths appear immediately and titles fill in behind them.

System integration

Now Playing and media keys through the system’s own command centre — no private APIs, no global event taps. Dock menu and a menu bar extra. Output device selection, including aggregate and multi-output devices.

Accessibility

Labels on every control, real list rows with stable identifiers so VoiceOver navigation works, and a scrubber that speaks elapsed-of-duration. Reduce Motion and Increase Contrast are respected.

Behaviour

The details most players get wrong

None of these is a feature you would put on a box. All of them are the reason a player either feels correct or quietly annoys you for years.

Repeat-one is right twice

With repeat set to one, a track that reaches its end replays. Press Next and it advances. Those are two different intentions, and treating them as one is the most commonly reported bug class in music players.

Shuffle is an order, not a coin flip

Fadenza builds a seeded permutation of the queue — no repeats within a pass, and reproducible. The seed is saved with the session, so reopening resumes the same order it would have played rather than reshuffling behind your back.

Previous does what your hand meant

More than three seconds into a track, Previous seeks back to the start. Less than that, it moves to the previous track.

It restores paused

Queue order, current track, position, repeat mode, shuffle state and seed, volume, mute, output device, watched folders. Reopen Fadenza and it is exactly where you left it — stopped, waiting, never playing at you.

One way in

Media keys, Now Playing, AppleScript, Shortcuts, the loopback HTTP API and MCP all enter through the same command layer. No integration reaches into another’s state. Remove any one of them and nothing else notices.

Nothing to install but the app

No Swift packages, no CocoaPods, no vendored C, no bundled decoders. Apple frameworks and Swift, sandboxed from the first commit, shipped as a universal binary.

Measured, not assumed

The format support table is produced by a probe that runs against the operating system and re-runs whenever macOS changes. It is also why there is no tag editor: the probe proved Apple frameworks cannot write MP3, FLAC or Ogg tags, so the feature was dropped rather than faked.

Competitors

When to use something else

Fadenza is narrow on purpose. Being clear about where it is not the answer is cheaper for everyone than finding out after installing it.

You want a library, smart playlists and tag editing
Swinsian, or Doppler.
You want bit-perfect output, hog mode or DSD
Audirvāna. Fadenza routes through the system mixer and always will.
You want endless configuration and a component ecosystem
foobar2000. Fadenza has the opposite temperament.
You want your collection in the cloud
VOX. There is no account here and no service behind it.
You want a client for a media server
Plexamp. Fadenza has no server.
You want trackers, chiptunes or console audio
Cog — a queue-first player too, with a decoder plugin architecture Fadenza does not have.

All of them, side by side, on the competitors page.

Status

Being built, in the open-ish

10 of 11 phases are complete — most recently automation, with hardening next. The capability probe passes for all seven formats on macOS 26, and the project builds as five targets whose dependencies point one way only. There is nothing to download; the first release will be private.

Read the docs Full feature list