-
Notifications
You must be signed in to change notification settings - Fork 0
Playback
PlaybackCoordinator owns the queue, current item, timing, volume, repeat,
shuffle, and Now Playing state. Views observe that state instead of maintaining
independent clocks.
Cadence chooses between two playback paths:
-
PCM uses
AVAudioEnginefor supported stereo PCM and lossless files. - Native preserves system handling for formats, multichannel material, and routes that need it.
The selected route is shown in Now Playing under Audio Path, together with the file format, sample rate, channel count, and output device.
- Adaptive chooses the safest backend for the source and current output.
- Pure prioritizes an unaltered supported PCM path.
- Immersive allows supported system spatialization behavior.
Cadence reports only capabilities it can verify. Spatialized stereo is not labelled Dolby Atmos, and a stereo source does not become a native Atmos mix.
The queue is canonical across the player bar and Now Playing. You can select a queued track to play it immediately and reorder upcoming items. Shuffle and repeat controls display their active state rather than relying on menu state alone.
Media keys, Control Center, app controls, and track navigation feed the same coordinator. Route changes, including connecting or disconnecting headphones, reconfigure the active backend without creating a competing playback session.
Cadence uses short ramps for start, pause, and compatible track transitions to avoid clicks without making controls feel delayed. Gapless-capable transitions prepare the next compatible item before the current item completes.
Gapless means there is no artificial silence between consecutive files. It is especially useful for live recordings, DJ mixes, and albums where one track continues into the next.