The output picker lists device names. Someone choosing between three outputs on an audiophile player is choosing on facts the list does not show: what rates the device takes, in what formats, how many channels.
Shape, at two depths
In the picker itself — one line per device carrying its best format, its top rate, and a Hi-Res marker. Enough to choose without opening anything.
A detail sheet behind it — identity (system name, driver, channel count), the formats it accepts as a set, and the rates grouped into named tiers rather than listed flat: CD quality, Hi-Res, Studio, Ultra Hi-Res. A column of numbers from 44.1 to 384 tells an expert something and a normal user nothing; the tiers tell both. Buffer size belongs here too.
And a caveat, stated on the sheet. What a driver declares and what it will accept in exclusive mode are different questions — a shared-mode path can advertise rates it reaches by resampling. Anything we display is the driver's claim, and saying so is the difference between an informative sheet and a misleading one.
Our side
We already probe harder than most: is_supported_exclusive_with_quirks walks layout × format and works around the channel-mask and structure-shape quirks that hide behind a generic unsupported-format error. That knowledge is spent on negotiation and then thrown away. The same probe is what a capability sheet wants.
Traps
- Probe on demand, not during enumeration. Our Linux device list goes through the ALSA hint database precisely to avoid the one-to-two second freeze that opening every PCM costs. Filling a capability table at enumeration time would reintroduce exactly that stall, and it is the reason this is worth writing down before starting.
- Exclusive-mode truth is per platform. WASAPI can be asked properly; ALSA's
hw: params can be queried; CoreAudio reports what the device runs at. The sheet should be honest about which of those it is showing rather than pretending to one model.
- New strings go to all 17 locales.
The output picker lists device names. Someone choosing between three outputs on an audiophile player is choosing on facts the list does not show: what rates the device takes, in what formats, how many channels.
Shape, at two depths
In the picker itself — one line per device carrying its best format, its top rate, and a Hi-Res marker. Enough to choose without opening anything.
A detail sheet behind it — identity (system name, driver, channel count), the formats it accepts as a set, and the rates grouped into named tiers rather than listed flat: CD quality, Hi-Res, Studio, Ultra Hi-Res. A column of numbers from 44.1 to 384 tells an expert something and a normal user nothing; the tiers tell both. Buffer size belongs here too.
And a caveat, stated on the sheet. What a driver declares and what it will accept in exclusive mode are different questions — a shared-mode path can advertise rates it reaches by resampling. Anything we display is the driver's claim, and saying so is the difference between an informative sheet and a misleading one.
Our side
We already probe harder than most:
is_supported_exclusive_with_quirkswalks layout × format and works around the channel-mask and structure-shape quirks that hide behind a generic unsupported-format error. That knowledge is spent on negotiation and then thrown away. The same probe is what a capability sheet wants.Traps
hw:params can be queried; CoreAudio reports what the device runs at. The sheet should be honest about which of those it is showing rather than pretending to one model.