NavidromeApp/iOS/Views/Library
Dallas Groot 3385b88270 Audio Tap Infrastructure:
- AudioTapProcessor: shared MTAudioProcessingTap with lock-free PCM ring buffer
- Pre-allocated vDSP FFT (1024-sample, Hann window, log-frequency 30-band output)
- Zero per-frame heap allocation in FFT path
- Shared tap serves both FFT visualizer and Shazam simultaneously

Fixes (blockers for tap to work):
- radioGoLive/radioSeekBack now update self.playerItem (was orphaned)
- Tap reinstalled on every AVPlayerItem swap (seek, live, station change)
- Tap removed on background, reinstalled on foreground
- Tap removed on radio→music transition

Shazam rework:
- Uses shared AudioTapProcessor instead of creating its own tap
- Fixes tap conflict where Shazam overwrote FFT audioMix
- 500ms wait for tapPrepare callback (sourceFormat timing race)
- Fixed pre-existing bug: stopAll() audio session never restored after mic fallback

Debug capture:
- Capture Audio Tap button in Visualizer Settings
- Records 5s of raw tap PCM as playable WAV file
- Uses actual stream sample rate (not hardcoded 44100)
- Share sheet via Notification pattern (survives view dismiss)
- Spinner auto-resets on appear if capture interrupted by background

Also includes from main branch:
- Edit History UI, batch undo, companion API 7-bug fix
- Recently Played tab, Discover section, Play Queue sync, Share links"
2026-04-14 17:15:34 -07:00
..
AlbumDetailView.swift bug fixes 2026-04-11 15:09:06 -07:00
ArtistDetailView.swift Update from NavidromePlayer.zip (2026-04-04 16:12) 2026-04-04 16:12:28 -07:00
DownloadsSettingsView.swift Audio Tap Infrastructure: 2026-04-14 17:15:34 -07:00
LicensesView.swift Widget glassmorphism redesign 2026-04-12 19:57:20 -07:00
MyMusicView.swift Audio Tap Infrastructure: 2026-04-14 17:15:34 -07:00
PlaylistsView.swift bug fixes 2026-04-10 16:55:09 -07:00
RadioView.swift added widget support 2026-04-12 12:57:42 -07:00
SearchView.swift bug fixes and ready to upload to testflight 2026-04-10 19:05:45 -07:00