A WIP music player with a focus on build-time modularity, stability, and performance.
  • C 93.7%
  • C++ 4%
  • Meson 2.2%
  • Assembly 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-26 15:19:23 -04:00
.vscode Implement EventQueue API for win32 2025-07-01 23:23:28 -04:00
feature-tests Add struct padding feature test 2026-05-03 20:53:50 -04:00
src Better Track_fmt 2026-08-06 15:01:34 -04:00
subprojects Link in libtied 2026-08-26 15:19:23 -04:00
.gitignore Working build with libfast 2025-10-23 00:21:18 -04:00
CHANGELOG.md v0.5.0 2026-06-14 15:44:11 -04:00
LICENSE Initial commit 2025-03-04 18:58:01 -05:00
meson.build Link in libtied 2026-08-26 15:19:23 -04:00
meson.options Fix arg struct for metadata() 2026-08-06 14:42:08 -04:00
mpl.conf Bind q = queue() 2026-07-09 18:56:25 -04:00
README.md Update README 2026-05-22 03:59:43 -04:00

MPL (Music Player Light)

A WIP music player with a focus on build-time modularity, stability, and performance.

Compiling

Dependencies

  • ffmpeg
  • readline
  • A Nerd Font (needed for icons, can be disabled with -Dnerdfont_icons=false)

Configure

meson setup build
cd build
meson configure -Dbuildtype=release # debug is the default build type

### Customization:
meson configure -Dnerdfont_icons=false # Enable/disable Nerdfont icons (default: true)

### DEV OPTIONS:
# Build with emulated audio output (no sound):
meson configure -Dao_fast=true # useful for compatibility checking on platforms before implementing an AudioBackend

All compile-time options can be seen in meson.options. Use these to customize MPL to your liking.

Build

ninja

Install

sudo ninja install

Uninstall

sudo ninja uninstall