Rewrites the internal/api comment blocks to rule 32: task, milestone and
rule ids gone, the stories behind them restated as the constraint they
left, stale references corrected (the stream secret is wired from config,
the timezone handler already refreshes the scheduler, the Android app is
the native client, the design docs cited are not in the repo). Also
rewraps comment lines over 80 columns left by the earlier batches.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ReplayGain 2.0 values (gain to -18 LUFS, linear peak) derived from the
stored track and album loudness:
- Web: GET /api/tracks/replay-gain?ids=... (up to 200), a lookup the
player calls for its queue, rather than a field on every TrackRef
surface.
- Android: track_gain/track_peak and album_gain/album_peak on the sync
views, so cached tracks level offline. Storing a measurement logs a
track change, and an album's values moving logs an album change, both
before the write (#2704), so caches pick the gains up.
- OpenSubsonic: replayGain on every song (album, getSong, search3,
starred), as a JSON object and an XML element.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>