Fadenza

Formats

Fadenza plays seven formats. All of them decode through frameworks that ship with macOS — there are no bundled decoders, no plugins and no C libraries in the app.

Format Extensions Metadata read
MP3 .mp3 ID3
AAC .m4a, .m4b, .aac iTunes / MP4
ALAC .m4a iTunes / MP4
WAV .wav, .wave Limited
AIFF .aiff, .aif, .aifc Limited
FLAC .flac Vorbis comment
Ogg Vorbis .ogg, .oga Vorbis comment

Opus in an Ogg container also plays, as .ogg or .opus. It is not on the supported list, which means it is not tested on every release, but it works.

Metadata read from any of these covers title, artist, album, track number, genre, duration, bitrate, sample rate and artwork. WAV and AIFF carry little or no tagging by convention, so those tracks usually show their filename.

Two of those columns are filled in the hard way, because the system frameworks do not offer them. FLAC artwork is read by parsing the picture block out of the file directly — macOS reads FLAC’s tags but will not hand over its embedded image. The same parser handles Ogg and Opus artwork; that path is written and tested against constructed input, but no encoder we have will produce a file to check it against, so treat it as untested rather than proven.

Bitrate is recovered the same way. FLAC, Ogg Vorbis and Opus report no data rate at all through the ordinary path, and an MP3 whose header was written by a tool that could not seek backwards reports zero. In both cases Fadenza asks the audio file itself instead of trusting the header.

Why not more

Everything outside that table — trackers, chiptunes, console audio, DSD, Musepack, WavPack, APE — needs a decoder written in C or C++. Adding one means adding a dependency, and Fadenza has none. That is a deliberate limit rather than a backlog item.

If you need those formats, you need a player built around decoder plugins. This is not one.

Why there is no tag editor

Apple’s frameworks can read tags in every format above. They can only write three of them — the MP4 family (.m4a and friends), WAV and AIFF — and even then by re-muxing the file rather than editing it in place. MP3, FLAC and Ogg cannot be written at all.

This was measured rather than looked up. A probe tool in the repository builds an AVAssetExportSession for a file in each format and inspects which output types it reports supporting — it never actually writes anything. MP3, FLAC and Ogg fail that check every time: the session reports no preset able to produce their type at all.

An editor that worked for three formats of seven, only by re-muxing rather than in-place editing, would be worse than none, so there is none. Fadenza requests read-only access to your files and cannot modify them even if a bug tried to.

Streams

HTTP and HTTPS streams play in the same formats. Two differences apply:

  • A live or chunked stream has no seekable range, so the scrubber is disabled rather than shown as a control that does nothing.
  • Streams can stall. When one does, playback enters buffering — distinct from loading, which is what happens while a track is being prepared. The interface distinguishes them so you can tell “not started yet” from “started and ran dry”.