back to home

MetrolistGroup / Metrolist

YouTube Music client for Android

6,833 stars
366 forks
644 issues
KotlinJavaScriptC++

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing MetrolistGroup/Metrolist in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/MetrolistGroup/Metrolist)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center"> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/icon.png" width="160" height="160" style="display: block; margin: 0 auto"/> <h1>Metrolist</h1> <p>YouTube Music client for Android</p> <div style="padding: 16px; margin: 16px 0; background-color: #FFFBE5; border-left: 6px solid #FFC107; border-radius: 4px;"> <h2 style="margin: 0;"><strong>⚠Warning</strong></h2> If you're in a region where YouTube Music is not supported, you won't be able to use this app <strong>unless</strong> you have a proxy or VPN to connect to a YTM-supported region. </div> <h1>Screenshots</h1> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_1.png" width="30%" /> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_2.png" width="30%" /> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_3.png" width="30%" /> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_4.png" width="30%" /> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_5.png" width="30%" /> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/screenshots/screenshot_6.png" width="30%" /> <div align="center"> <h1>Release numbers</h1> </div>

Latest release GitHub license Downloads

</div> <div align="center"> <h1>Download Now</h1> <table> <tr> <td align="center"> <a href="https://github.com/MetrolistGroup/Metrolist/releases/latest/download/Metrolist.apk"><img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" alt="Get it on GitHub" height="82"></a><br/> <a href="https://www.openapk.net/metrolist/com.metrolist.music/"><img src="https://www.openapk.net/images/openapk-badge.png" alt="Get it on OpenAPK" height="80"></a> </td> <td align="center"> <a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/MetrolistGroup/Metrolist/"><img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="50"></a> </td> <td align="center"> <a href="https://apt.izzysoft.de/fdroid/index/apk/com.metrolist.music"><img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80"></a><br/> <a href="https://belberi.com/metrolist/?fbclid=PAY2xjawJP5dlleHRuA2FlbQIxMAABpjSk1oBp4e8aSV4nfX2dfunQObTlMWIkN-aVA9CSq36pnmkHsvfoYTjhHg_aem_9o9OGbQuZ2PjJTArq21UDA"><img src="https://github.com/MetrolistGroup/Metrolist/blob/main/fastlane/metadata/android/en-US/images/belberi_github.png" alt="Get it on Belberi" height="82"></a> </td> </tr> </table> </div> <div align="center"> <h1>Nightly Build</h1> <a href="https://nightly.link/MetrolistGroup/Metrolist/workflows/build/main/app-universal-with-Google-Cast.zip"> <img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" alt="Get it on GitHub" height="82"> </a> </div> <div align="center"> <h1>Table of Contents</h1> </div> <div align="center"> <h1>Features</h1> </div>
  • Play any song or video from YT Music
  • Background playback
  • Personalized quick picks
  • Library management
  • Listen together with friends
  • Download and cache songs for offline playback
  • Search for songs, albums, artists, videos and playlists
  • Live lyrics
  • YouTube Music account login support
  • Syncing of songs, artists, albums and playlists, from and to your account
  • Skip silence
  • Import playlists
  • Audio normalization
  • Adjust tempo/pitch
  • Local playlist management
  • Reorder songs in playlist or queue
  • Home screen widget with playback controls
  • Light - Dark - black - Dynamic theme
  • Sleep timer
  • Material 3
  • etc.
<div align="center"> <h1>Translations</h1>

Translation status

We use Weblate to translate Metrolist. For more details or to get started, visit our Weblate page.

<a href="https://hosted.weblate.org/projects/Metrolist/"> <img src="https://hosted.weblate.org/widget/Metrolist/horizontal-auto.svg" alt="Translation status" /> </a>

Thank you very much for helping to make Metrolist accessible to many people worldwide.

</div> <div align="center"> <h1>FAQ</h1> </div>

Q: Why Metrolist isn't showing in Android Auto?

  1. Go to Android Auto's settings and tap multiple times on the version in the bottom to enable developer settings
  2. In the three dots menu at the top-right of the screen, click "Developer settings"
  3. Enable "Unknown sources"
<div align="center"> <h1>Development Setup</h1> </div>

GitHub Secrets Configuration

This project uses GitHub Secrets to securely store API keys for building releases. To set up the secrets:

  1. Go to your GitHub repository settings

  2. Navigate to SettingsSecrets and variablesActions

  3. Add the following repository secrets:

    • LASTFM_API_KEY: Your LastFM API key
    • LASTFM_SECRET: Your LastFM secret key
  4. Get your LastFM API credentials from: https://www.last.fm/api/account/create

Note: These secrets are automatically injected into the build process via GitHub Actions and are not visible in the source code.

<div align="center"> <h1>Support Me</h1>

If you'd like to support my work, send a Monero (XMR) donation to this address:

44XjSELSWcgJTZiCKzjpCQWyXhokrH9RqH3rpp35FkSKi57T25hniHWHQNhLeXyFn3DDYqufmfRB1iEtENerZpJc7xJCcqt

Or scan this QR code:

<img src="https://github.com/MetrolistGroup/Metrolist/blob/main/assets/XMR.png" alt="QR Code" width="200" height="200" />

Or other

<a href="https://www.buymeacoffee.com/mostafaalagamy"> <img src="https://github.com/MetrolistGroup/Metrolist/blob/main/assets/buymeacoffee.png?raw=true" alt="Buy Me a Coffee" width="150" height="150" /> </a> <div align="center"> <h1>Join our community</h1>

Discord Telegram

</div> <div align="center"> <h1>Special thanks</h1>

InnerTune Zion HuangMalopieds

OuterTune Davide GarberiMichael Zh

Credits:

Kizzy – for the Discord Rich Presence implementation and inspiration.

Better Lyrics – for beautiful time-synced lyrics with word-by-word highlighting, and seamless YouTube Music integration.

SimpMusic Lyrics – for providing lyrics data through the SimpMusic Lyrics API.

metroserver – for providing us with the listen together implementation.

MusicRecognizer – for the music recognition feature implementation and Shazam API integration.

The open-source community for tools, libraries, and APIs that make this project possible.

<sub>Thank you to all the amazing developers who made this project possible!</sub>

</div> <div align="center"> <h1>Thanks to all contributors</h1> <a href = "https://github.com/MetrolistGroup/Metrolist/graphs/contributors"> <img src = "https://contrib.rocks/image?repo=MetrolistGroup/Metrolist" width="600"/> </a> </div> <div align="center"> <h1>Disclaimer</h1> </div>

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

Any trademark, service mark, trade name, or other intellectual property rights used in this project are owned by the respective owners.

Made with ❤️ by Mo Agamy