Fix focus box lingering - #3
Open
kiera-dev wants to merge 3 commits into
Open
Conversation
The box was pinned on screen for as long as AE/AF lock was active, which read as stuck UI rather than as an indicator. Let it fade like a normal focus box and leave the AE/AF LOCK badge to carry the state. Also document the exposure lock in the README, which predated it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add a starting-point guide for using the app at a concert, a troubleshooting section (black preview, stale builds, the benign FigAudioSession error), and the API findings from building the exposure lock. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The meter measured RMS, which sits 10-15 dB below peak on dense music — it read comfortable while a concert recording clipped throughout. Switch it to true peak with a slow-falling peak hold. - Count full-scale samples and surface a CLIP badge, reset per take - Full-screen overload warning plus a warning haptic, since at a show you're watching the band rather than the screen - One-tap "too loud for Raw, switch to Stereo" when clipping while idle (not mid-recording: switching modes restarts the session and would cost the take) - Input gain slider in Raw mode, shown only when isInputGainSettable reports true — analog attenuation before conversion is the only real fix for clipping rather than a warning after the fact UNTESTED on device: peak math, clip threshold, haptics, and whether the gain slider appears at all on iPhone built-in mics are all unverified. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix focus box lingering, add clipping detection and mic gain control
What changed
Focus box fix — the yellow focus box stayed pinned on screen for as
long as AE/AF lock was active, which read as stuck UI. It now fades like
a normal focus box, and the AE/AF LOCK badge carries the lock state.
Clipping detection — the mic meter measured RMS, which sits 10–15 dB
below peak on dense music. It read comfortable green while a live concert
recording clipped from start to finish. Now:
CLIPbadge, reset per takewatching the band, not the screen
Input gain control — a slider in Raw mode, shown only when
AVAudioSession.isInputGainSettablereports true. Analog attenuationhappens before conversion, so it prevents clipping at the source rather
than warning about it afterward.
Docs — README gains a show-settings guide, a troubleshooting section,
and the API findings from this work.
Why
A live test was run at a concert and clipping was intermittent, the mic got overloaded by bass. Was recorded in Raw mode,
crackling and not recoverable. The meter never warned because it was measuring the wrong thing. This makes overload impossible to miss, and if the hardware allows it, impossible to happen.
The mode-switch button is deliberately idle-only: switching audio modes
restarts the capture session, which would end an in-progress recording.