mpd-qt6
Crystal MPD
A desktop MPD client written in Crystal using a forked Qt6 shard.
Screenshots

Features
- Playback controls: play/pause, previous, next
- Interactive progress slider with elapsed and total time display
- Shuffle and repeat toggles
- Live title, artist, and album metadata updates
- Window title updates to reflect the current track
- Album art loading when available from MPD
- Playlist view with current-track indicator icons
- Double-click a playlist row to start playback
- Connection settings dialog for MPD host and port
- Settings are saved in the user config directory
Requirements
- Crystal >= 1.19.1
- Qt6 Widgets development packages
- Arch:
pacman -S qt6-base - Ubuntu:
apt-get install qt6-base-dev
- Arch:
- A running MPD server
Installation
git clone https://github.com/mamantoha/mpd-qt6
cd mpd-qt6
shards install
shards build --release
./bin/mpd-qt6
Dependencies
| Shard | Purpose |
|---|---|
| mamantoha/crystal-qt6 | Forked Qt6 bindings for Crystal used by this app |
| mamantoha/crystal_mpd | MPD protocol client |
Forked Qt6 shard
This project currently uses a forked version of crystal-qt6 through a local path dependency during development.
Features implemented in the fork
The custom additions include:
- main-thread invocation support via Qt meta-object dispatch
- loading icons from the active desktop theme
- slider pressed and released callbacks
- setting images on labels
- label alignment support
- pixmap scaling with aspect-ratio preservation
- table widget item double-click callbacks
- table widget item icon support
- native add_stretch support for box layouts
Platform support
Tested on Linux with Qt6. macOS and Windows are untested.
Architecture notes
- One MPD client handles commands and status reads
- A separate callback-enabled MPD listener pushes live updates from the server
- UI updates are marshalled safely onto the Qt main thread through a signal-style bridge
- Playback and playlist controls are built with Qt widgets such as push buttons, sliders, and table views
License
MIT
Repository
mpd-qt6
Owner
Statistic
- 0
- 0
- 0
- 0
- 1
- about 9 hours ago
- April 16, 2026
License
MIT License
Links
Synced at
Thu, 16 Apr 2026 14:29:38 GMT
Languages