Android APK, pre-release. Built from main at VibeServer 5.6.13-2. Supersedes build 466.
The phone as a VibeServer
- Layer II (MP2) services: DAB's scale-factor CRC is in use. A sub-band group that fails its check keeps the scale factors from the last frame where it passed instead of playing a corrupted set — the "bubbling mud" on a marginal MP2 service. The DAB panel shows the groups concealed.
- DAB locks in seconds, not thirty. The phase-reference check that erases a burst-damaged frame kept a reference that fell slowly and was never reset, so a hop from a strong block to a weak one erased every frame, the FIC included, for up to forty seconds while the panel said "locked". Fixed, with a watchdog behind it.
- A restart while DAB is on no longer aborts the server, and a listener leaving DAB no longer tears the radio down and reopens it.
- An admin session unlocks the menu's gain controls without the password box.
- Directory: a server keeps its friendly name across an unlist; radios publish their modes, raw IQ and Advanced RDS capability; IQ48 is a filter on the directory with a VibeIQ note.
The app
- CW-U and CW-L on a VibeServer, as the web client has.
- Transient server notices (gain start-up, direct-sampling switches, API recovery) arrive in the VTS bar rather than the owner's standing notice.
- The server-mode screen offers the raw IQ output shaped by the radio's mode, and the listing address once the directory answers.
- Your location is never sent to any directory.
From 466
Countdown continues across reconnects on a shared dial; the Advanced RDS box no longer freezes when another listener leaves; TIME UP wording; squelch remembered per device; 5 kHz step; noise blanker; the lock-screen card knows DAB.