A desktop music player for Linux that plays your Deezer music and your own music files side by side, in one library and one queue.
  • Rust 67.1%
  • Svelte 17.7%
  • TypeScript 10.6%
  • Kotlin 1.7%
  • Python 1.4%
  • Other 1.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
SBDeveloper 93c24ecae5
Some checks failed
Check / ui (push) Successful in 1m4s
Check / android (push) Has been cancelled
Check / rust (push) Has been cancelled
CI stability + README update
2026-10-13 21:54:20 +02:00
.cargo Initial commit 2026-10-09 20:19:56 +02:00
.forgejo CI stability + README update 2026-10-13 21:54:20 +02:00
crates CI stability + README update 2026-10-13 21:54:20 +02:00
docs UI redesign 2026-10-13 21:35:37 +02:00
plugins UI redesign 2026-10-13 21:35:37 +02:00
scripts Implemented devices 2026-10-13 20:49:11 +02:00
src-tauri Add Theme support: Scheme and Accent (#54) 2026-10-13 21:47:11 +02:00
ui Add Theme support: Scheme and Accent (#54) 2026-10-13 21:47:11 +02:00
.gitignore Android fixes 2026-10-12 22:22:24 +02:00
AGENTS.md Initial commit 2026-10-09 20:19:56 +02:00
Cargo.lock UI redesign 2026-10-13 21:35:37 +02:00
Cargo.toml Android fixes 2026-10-12 22:22:24 +02:00
GLOSSARY.md Glossary bump 2026-10-13 21:47:31 +02:00
LICENSE Initial commit 2026-10-09 20:19:56 +02:00
package-lock.json Initial commit 2026-10-09 20:19:56 +02:00
package.json Initial commit 2026-10-09 20:19:56 +02:00
README.md CI stability + README update 2026-10-13 21:54:20 +02:00
svelte.config.js Initial commit 2026-10-09 20:19:56 +02:00
tsconfig.json Initial commit 2026-10-09 20:19:56 +02:00
vite.config.ts Initial commit 2026-10-09 20:19:56 +02:00

Medley

A music player for Linux desktops and Android phones and tablets that plays your Deezer music and your own music files side by side, in one library and one queue.

Medley is an unofficial app. It is not made, endorsed or supported by Deezer. Deezer is a trademark of Deezer S.A. Read Before you use it first.

What it does

  • One library for your music folders (MP3, FLAC, WAV, Ogg Vorbis, M4A/AAC/ALAC, AIFF) and your Deezer favourites, saved albums, followed artists and playlists. It is remembered, so it shows at once and while offline.
  • Search and browse Deezer's catalogue and your library: tracks, albums and artists.
  • Playlists of your own, and your Deezer playlists kept in sync with Deezer. Sort and filter any playlist page without changing its stored order.
  • A queue with play next, add to queue, shuffle, repeat, gapless playback, and radio when it runs out.
  • Track matching (optional): the same song from Deezer and from your files becomes one entry; you choose which source plays first.
  • Offline tracks: keep Deezer tracks in an encrypted cache that only Medley can play.
  • Several devices: pair your computer and phone once, then hand playback over from one to the other (queue, track and position carry on), or control one from the other. See Devices.
  • Themes: light, dark or follow the system, with a choice of accent colours.
  • Desktop integration (Linux): media keys and the system media controls (MPRIS), notifications when the track changes, and deezer:// links opening in Medley.
  • Phones and tablets (Android): the layout adapts to the screen, with a slide-in sidebar, an overlay queue and touch-sized controls, and music keeps playing in the background with playback controls in the notification.
  • Plugins, installed from inside the app: time-synced lyrics, ListenBrainz scrobbling and Discord Rich Presence.
  • Automatic updates (Linux): Medley tells you when a new version is out and installs it with one click.

Before you use it

Medley plays Deezer through Deezer's private API, the one Deezer's own apps use, not its public developer API. Be aware of what that means:

  • It breaks Deezer's Terms of Use. They forbid getting around the protection on Deezer's content and using it outside Deezer's own service. Deezer may suspend or close an account that does, without notice or refund. You use Medley with your Deezer account at your own risk.
  • It can stop working at any time, whenever Deezer changes its private API.
  • Deezer playback needs a paid Deezer subscription (Premium or better). Without one you can still use Medley for your own music files.
  • Personal use only. Deezer's music is licensed for you to listen to. Medley does not export or convert tracks, and its offline cache plays only inside Medley. Do not use Medley to copy or share music.

Your Deezer login stays on your computer: Medley signs in through Deezer's own login page in your browser and sends your login only to Deezer.

The decision to use the private API, and its tradeoffs, are recorded in ADR 0001.

Install

Download the latest version from the releases page. There are builds for 64-bit Linux and for Android:

  • AppImage (any distribution): make it executable and run it.

    chmod +x medley_*_amd64.AppImage
    ./medley_*_amd64.AppImage
    
  • .deb (Debian, Ubuntu, Linux Mint and others):

    sudo apt install ./medley_*_amd64.deb
    

    Medley then appears in your applications menu.

  • Android (7.0 or newer): download medley_*_android.apk and open it on your device. Android asks you to allow installing apps from your browser or file manager the first time. It does not update itself: install the newer APK over the old one, or follow the releases with an app like Obtainium.

There are no ready-made builds for Windows or macOS yet; see Development to build it yourself.

Updates

On Linux, Medley checks for a new version when it starts and offers to install it. You can also check in Settings → Updates, or turn the check off there. The AppImage updates itself; the .deb asks for your password to install the update. Updates are signed, and Medley refuses one that is not. On Android, install the newer APK over the old one.

Getting started

  1. Open Settings.
  2. Under Music folders, add the folders with your music. Medley reads their tags and artwork and never changes the files. On Android, Add Music folder adds your device's Music folder; allow access to audio when asked.
  3. Under Accounts, log in to Deezer. Your browser opens Deezer's login page and sends you back to Medley. If that does not work, you can paste your Deezer arl cookie instead.
  4. Use Search or Library in the sidebar to find something to play.

Other settings worth a look: the theme under Appearance, the streaming quality and output device under Playback, offline storage under Offline cache, and which source wins when you have the same song twice under Source ranking.

Devices

Medley devices on the same network can find each other directly, with no account or server in between.

  1. On both devices, open the devices button in the top bar (or Settings → Devices).
  2. On one device, start pairing: it shows a QR code and a short code. Scan the QR code on the other (Android), or type the code. Pairing is the one-time step that makes two devices trust each other.
  3. Paired devices show each other's playback. Use continue here to take over the other device's queue, or hand your own playback to it. You can also play, pause, skip, seek and change the volume of a paired device without moving the audio.

Each device plays with its own accounts and library: tracks it cannot play are matched by ISRC or by title, artist and duration, and skipped when nothing matches. A device only hears handoffs while Medley is running, so open Medley on the phone first. On Android, allow local network access when asked. Design: ADR 0009, ADR 0010.

Appearance

Settings → Appearance sets the scheme (System, Dark or Light) and the accent colour. It applies to the whole app, including plugin views, and is remembered per device.

Plugins

Settings → Plugins lists the plugins you can install. Before installing, Medley shows what a plugin wants to access (for example a website, or your files), and it installs only if you allow that. Plugins run in a sandbox and can reach nothing else.

Plugin What it does
Lyrics Time-synced (or plain) lyrics from LRCLIB in the big player.
ListenBrainz Scrobbles what you play to ListenBrainz.
Discord Rich Presence Shows what you are playing on your Discord profile.

Want to write one? See docs/plugin-manifest.md.

Keyboard shortcuts (desktop)

Key Action
Space Play / pause
Ctrl+→ / Ctrl+← Next / previous track
/ or Ctrl+K Search

While you type in a text field, keys it uses are left to it; Ctrl+K works everywhere.

Your data

Medley keeps its library, settings, plugins and offline cache in ~/.local/share/tech.sbdevelopment.medley on Linux. Delete that folder to start over. On Android they are in the app's own storage: clear it under Settings → Apps → Medley → Storage to start over.

Help and feedback

Found a bug or have an idea? Open an issue in the issue tracker.

Development

Building from source, the repository layout and how releases are made: see docs/development.md. Ideas for later are in docs/ideas.md.

License

MIT. The license covers Medley's code only, not any music or Deezer's services.