Skip to content
 
 

Repository files navigation

Metrolist app icon

Mangolist (fork of Metrolist)

YouTube Music client for Android


CI powered by Blacksmith


Download · Features · Translate · FAQ · Support

Changes compared to main build:

  • Automatic connection recovery: Added Retry connection on fail at the bottom of Player and audio → Misc, enabled by default. Failed playlist loading and eligible playback errors trigger up to three retries, with a three-second delay before each attempt. Connection state is refreshed without force-closing the app or clearing your login.
  • Current-song disk prefetching: Background caching fetches up to 32 MB of the current song on unmetered connections, respecting the song-cache setting and cache-size limit.
  • Stream URL reuse: Valid cached stream URLs bypass unnecessary database and settings lookups when opening or seeking within a song.
  • Optional blur effects: Added Enable blur effects under Appearance → Theme, disabled by default. Blurred full-player and mini-player backgrounds fall back to the theme background when disabled; lyric-card preview blur is also disabled.
  • Less frequent progress updates: Changed the full player's playback-position polling interval from 100 ms to 150 ms, without changing audio timing.
  • Reduced memory budgets: Lowered the artwork memory-cache limit from 15% to 8%, reduced the database page-cache budget from roughly 16 MB to 4 MB, and reduced database executors to two query threads and one transaction thread.
  • WebView cleanup: Login WebViews are destroyed when their screen is disposed, and the playback-token WebView is released after five minutes of inactivity.
  • Playback service lifecycle: Removed the explicit service-start request when opening the app. The activity still binds to the service, and playback explicitly starts it to support background listening.
  • Build environment: Gradle uses Oracle GraalVM JDK 21; Android compilation toolchains use Temurin 21 to avoid GraalVM's Android jlink compatibility issue. The Java/Kotlin bytecode target remains 21. This does not replace Android's ART runtime.

These changes target responsiveness, connection recovery, and resource usage. Performance gains depend on the device and network and have not been quantified through device benchmarks.


Screenshots

Home screen Artist screen Recognize music screen Listen together screen Player screen Player lyrics screen

Features

Playback

  • Stream any song or video from YouTube Music
  • Background playback
  • Download & cache for offline use
  • Skip silence
  • Sleep timer

Audio

  • Audio normalization
  • Tempo & pitch control
  • Equalizer
  • Crossfade

Lyrics & Discovery

  • Live synced lyrics
  • AI-powered lyrics translation
  • Personalized quick picks
  • Search songs, albums, artists, videos, and playlists

Library & Account

  • Full library management
  • Local playlists
  • Import playlists
  • Reorder songs in playlist or queue
  • YouTube Music account login
  • Sync songs, artists, albums, and playlists

Social

  • Listen together with friends in real-time
  • Last.fm integration for scrobbling
  • Safe Discord Rich Presence

Interface

  • Home screen widget
  • Light / Dark / Black / Dynamic theme modes
  • Dynamic color + 19 preset color palettes
  • Built with Material 3


FAQ

Got questions? Check out our FAQ page for answers to the most common ones.


Translations

Translation status

We use Weblate to translate Metrolist. Help us bring Metrolist to more people!

Translation status

Thank you! Every translation makes Metrolist a little more accessible to someone, somewhere in the world.


Support the Project

Metrolist is free and open-source. If it brings you joy, consider supporting its development!

Monero (XMR)

Monero QR code
44XjSELSWcgJTZiCKzjpCQWyXhokrH9RqH3rpp35FkSKi57T25hniHWHQNhLeXyFn3DDYqufmfRB1iEtENerZpJc7xJCcqt

Buy Me a Coffee (Support the original creator/s)

Buy Me a Coffee

Special Thanks

Metrolist stands on the shoulders of incredible open-source work.

Main Inspirations

Project Authors
InnerTune Zion Huang · Malopieds
OuterTune Davide Garberi · Michael Zh

Libraries & Integrations

Project Contribution
Better Lyrics Time-synced lyrics with word-by-word highlighting & YouTube Music integration
metroserver Listen-together real-time backend
MusicRecognizer Music recognition feature & Shazam API integration
zemer-cipher YouTube cipher deobfuscation and PoToken generation
Blacksmith High-performance GitHub Actions runners powering our CI

CI powered by Blacksmith

We also thank the entire open-source community! For every library, tool, and API that powers this project.


Contributors

This project wouldn't exist without these amazing people!

Contributors

Disclaimer

This project is not affiliated with, funded, authorized, endorsed by, or in any way associated with YouTube, Google LLC, Metrolist Group LLC, or any of their affiliates and subsidiaries.

All trademarks, service marks, and intellectual property rights referenced in this project belong to their respective owners.



Made with ❤️ by Mo Agamy

This project stands with Palestine 🇵🇸

About

YouTube Music client for Android

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages