How marlo4220mc/harmony-music works
Harmony Music is a cross-platform Flutter music-streaming app. Users discover music, select tracks or radio, and play them with background playback; they can also manage playlists and bookmarks, download tracks, view lyrics, and connect Piped playlists. The graph reflects README-documented capabilities and the source tree’s module boundaries. Dart implementation excerpts were not provided, so internal call ownership is uncertain; relationships between those modules are intentionally limited.
Main entry points: player.dart Player UI · audio_handler.dart Audio handler · main.dart App entry · navigator.dart Navigation
Components 22
App experience
- App entry
lib/main.dart - Navigation
lib/ui/navigator.dart - Home
lib/ui/screens/Home/home_screen.dart
Music discovery
- Search
lib/ui/screens/Search/search_screen.dart - Search results
lib/ui/screens/Search/search_result_screen.dart - Music service
lib/services/music_service.dart - Albums and artists
lib/ui/screens/Album/album_screen.dart
Playback
- Player UI
lib/ui/player/player.dart - Player controller
lib/ui/player/player_controller.dart - Audio handler
lib/services/audio_handler.dart - Stream service
lib/services/stream_service.dart - Background playback
lib/services/background_task.dart - Downloads and cache
lib/services/downloader.dart - Lyrics
lib/services/synced_lyrics_service.dart - Equalizer
lib/services/equalizer.dart
Library and integrations
- Library
lib/ui/screens/Library/library.dart - Playlist management
lib/ui/screens/Playlist/playlist_screen.dart - Playlist state
lib/services/continue_playlists_store.dart - Piped integration
lib/services/piped_service.dart
Other components
- Listener
- YouTube music
- Piped service
Connections 21
- Listener → App entry: launches
- App entry → Navigation: starts
- Navigation → Home: routes to
- Listener → Search: searches
- Search → Search results: opens results
- Search results → Music service: requests music
- Music service → YouTube music: queries
- Listener → Albums and artists: browses
- Listener → Player UI: selects music
- Player UI → Player controller: controls
- Player controller → Audio handler: dispatches playback
- Audio handler → Stream service: requests streams
- Stream service → YouTube music: gets stream URL
- Audio handler → Background playback: supports background audio
- Listener → Downloads and cache: downloads tracks
- Listener → Lyrics: views lyrics
- Listener → Library: manages saved music
- Listener → Playlist management: manages playlists
- Playlist management → Playlist state: persists state
- Piped integration → Piped service: integrates playlists
- Player UI → Equalizer: adjusts audio