How victorramoshc/hugh-player works
Aether Vault is an offline Android music player. The principal flow is permission-settled Compose UI → view model/library loading → local media scan and repository-backed library → Media3 playback, with Room-backed playlists, listening history, and waveform cache. Separate product branches cover lyrics, DSP, Hermes voice/AI, backups, and shareable listening cards. Some relationships are documented or indexed but their implementations were not excerpted, so uncertain links are omitted or marked unverified.
Main entry points: MusicRepository.kt Music repository · MainActivity.kt Compose activity · PlayerDatabase.kt Room database · MusicViewModel.kt Music view model
Components 20
App experience
- Compose activity
app/src/main/java/com/hughdevelopment/player/MainActivity.kt - Music view model
app/src/main/java/com/hughdevelopment/player/ui/viewmodel/MusicViewModel.kt - Library screens
app/src/main/java/com/hughdevelopment/player/ui/screens - Player components
app/src/main/java/com/hughdevelopment/player/ui/components
Library and state
- Music repository
app/src/main/java/com/hughdevelopment/player/data/repository/MusicRepository.kt - Media scanner
app/src/main/java/com/hughdevelopment/player/data/source/MediaStoreScanner.kt - Room database
app/src/main/java/com/hughdevelopment/player/data/db/PlayerDatabase.kt - Library and stats DAOs
app/src/main/java/com/hughdevelopment/player/data/db - Song and playlist models
app/src/main/java/com/hughdevelopment/player/data/model/Song.kt
Playback and audio
- Player controller
app/src/main/java/com/hughdevelopment/player/service/MusicPlayerController.kt - Media playback service
app/src/main/java/com/hughdevelopment/player/service/MusicPlaybackService.kt - DSP effects
app/src/main/java/com/hughdevelopment/player/audio/AudioEffectManager.kt
Offline features
- Lyrics parsing
app/src/main/java/com/hughdevelopment/player/lyrics/LrcParser.kt - Waveform extraction
app/src/main/java/com/hughdevelopment/player/audio/WaveformExtractor.kt - Hermes AI pet
app/src/main/java/com/hughdevelopment/player/data/ai/HermesPetEngine.kt - Offline voice
app/src/main/java/com/hughdevelopment/player/hermes/HermesVoiceManager.kt - Sovereign cards
app/src/main/java/com/hughdevelopment/player/export/SovereignCardGenerator.kt - Vault backup
app/src/main/java/com/hughdevelopment/player/data/backup/VaultBackupManager.kt - Player settings
app/src/main/java/com/hughdevelopment/player/data/settings/PlayerSettings.kt
Other components
- Listener
Connections 20
- Listener → Compose activity: uses
README.md - Compose activity → Music view model: invokes
app/src/main/java/com/hughdevelopment/player/MainActivity.kt - Compose activity → Library screens: renders
app/src/main/java/com/hughdevelopment/player/MainActivity.kt - Compose activity → Player components: renders
app/src/main/java/com/hughdevelopment/player/MainActivity.kt - Music view model → Music repository: loads library
- Music repository → Media scanner: scans media
app/src/main/java/com/hughdevelopment/player/data/repository/MusicRepository.kt - Music repository → Room database: uses DAOs
app/src/main/java/com/hughdevelopment/player/data/repository/MusicRepository.kt - Room database → Library and stats DAOs: provides
app/src/main/java/com/hughdevelopment/player/data/db/PlayerDatabase.kt - Music repository → Song and playlist models: builds library
app/src/main/java/com/hughdevelopment/player/data/repository/MusicRepository.kt - Music view model → Player controller: controls playback
app/src/main/java/com/hughdevelopment/player/ui/viewmodel/MusicViewModel.kt - Player controller → Media playback service: connects session
app/src/main/java/com/hughdevelopment/player/service/MusicPlayerController.kt - Media playback service → DSP effects: binds session
app/src/main/java/com/hughdevelopment/player/service/MusicPlaybackService.kt - Player controller → DSP effects: configures DSP
app/src/main/java/com/hughdevelopment/player/service/MusicPlayerController.kt - Player components → Lyrics parsing: parses synced lyrics
app/src/main/java/com/hughdevelopment/player/ui/components/ExpandedPlayerSheet.kt - Waveform extraction → Room database: caches samples
README.md - Hermes AI pet → Offline voice: requests speech
app/src/main/java/com/hughdevelopment/player/data/ai/HermesPetEngine.kt - Offline voice → Player settings: reads preference
app/src/main/java/com/hughdevelopment/player/data/settings/PlayerSettings.kt - Sovereign cards → Listener: exports image
README.md - Vault backup → Music repository: backs up library
app/src/main/java/com/hughdevelopment/player/data/backup/VaultBackupManager.kt - Vault backup → Room database: exports records
app/src/main/java/com/hughdevelopment/player/data/backup/VaultBackupManager.kt