How yasukoisreal/ytmusicwp works
YTMusicWP is a native YouTube Music client for legacy Windows phones. Users discover music through home, search, and library views, then play it through a background audio task; the app also supports synced lyrics, downloads, accounts, social listening, and device-local features. The graph combines documented product capabilities with relationships visible in the supplied source index and excerpts. Several feature implementations were not sampled, so their links are documented README relationships rather than claims of inspected call paths.
Main entry points: MainPage.NowPlaying.cs Now playing · AudioTask.cs Background audio task · InnerTubeClient.cs YouTube Music API · MainPage.Search.cs Search and browse
Components 23
App experience
- App shell
YTMusicWP/App.xaml.cs - Home discovery
YTMusicWP/Pages/MainPage.Home.cs - Search and browse
YTMusicWP/Pages/MainPage.Search.cs - Library and playlists
YTMusicWP/Pages/MainPage.Library.cs - Now playing
YTMusicWP/Pages/MainPage.NowPlaying.cs
Music services
- YouTube Music API
YTMusicWP/Services/InnerTubeClient.cs - Track model
YTMusicWP/Models/YouTubeTrack.cs - Account and login
YTMusicWP/Pages/MainPage.Auth.cs - Synced lyrics
YTMusicWP/Pages/MainPage.Lyrics.cs - YouTube Music
Playback and audio
- Background audio task
AudioPlayerTask/AudioTask.cs - SABR streaming
AudioPlayerTask/SabrMediaStreamSource.cs - Live stream source
AudioPlayerTask/LiveMediaStreamSource.cs - Local media server
AudioPlayerTask/LocalMusicServer.cs - Offline downloads
YTMusicWP/Pages/MainPage.Playback.cs
Local features
- Local database
YTMusicWP/Services/DatabaseHelper.cs - Live Tiles
YTMusicWP/Services/TileService.cs - Listening statistics
YTMusicWP/Services/ListeningStatsCalculator.cs
Connected features
- Last.fm scrobbling
YTMusicWP/Services/LastFmClient.cs - Listen Together manager
YTMusicWP/Services/ListenTogether/ListenTogetherManager.cs - Room WebSocket
YTMusicWP/Services/ListenTogether/ListenTogetherClient.cs - Listen Together service
Other components
- Listener
Connections 25
- Listener → App shell: opens
YTMusicWP/App.xaml.cs - App shell → Home discovery: navigates to
YTMusicWP/App.xaml.cs - Listener → Search and browse: searches
README.md - Listener → Library and playlists: manages music
README.md - Listener → Now playing: controls playback
README.md - Home discovery → YouTube Music API: loads content
- Search and browse → YouTube Music API: queries
YTMusicWP/Pages/MainPage.Search.cs - Library and playlists → YouTube Music API: syncs playlists
README.md - YouTube Music API → YouTube Music: requests catalog
YTMusicWP/Services/InnerTubeClient.cs - Account and login → YouTube Music API: authenticates
YTMusicWP/Pages/MainPage.Auth.cs - Search and browse → Track model: presents results
YTMusicWP/Pages/MainPage.Search.cs - Library and playlists → Local database: persists library
- Now playing → Background audio task: controls task
README.md - Background audio task → SABR streaming: plays SABR
AudioPlayerTask/AudioTask.cs - Background audio task → Live stream source: streams live audio
AudioPlayerTask/AudioTask.cs - Background audio task → Local media server: serves local media
AudioPlayerTask/AudioTask.cs - Now playing → Synced lyrics: shows synced lyrics
README.md - Synced lyrics → YouTube Music: fetches subtitles
README.md - Background audio task → Offline downloads: supports offline playback
README.md - Now playing → Live Tiles: updates tile
README.md - Now playing → Listening statistics: records listening
README.md - Listening statistics → Last.fm scrobbling: scrobbles optionally
README.md - Listener → Listen Together manager: joins room
README.md - Listen Together manager → Room WebSocket: dispatches messages
YTMusicWP/Services/ListenTogether/ListenTogetherManager.cs - Room WebSocket → Listen Together service: exchanges events
YTMusicWP/Services/ListenTogether/ListenTogetherClient.cs