Quester: A Modern MPD Client for Visual Audiophiles
I've been obsessed with music players for as long as I can remember. From Winamp's classic skinning to foobar2000's precision, I've always believed that how you interact with music matters almost as much as the music itself. So when I found myself needing a new music player for my Linux setup, I decided to build one.
The Problem with Existing MPD Clients
MPD (Music Player Daemon) is a fantastic piece of software - it's lightweight, reliable, and does one thing very well: play music. But most existing MPD clients feel... outdated. They prioritize function over form, and the visual experience often takes a backseat to technical features.
I wanted something that:
- Celebrated album art as a central part of the experience
- Provided visual feedback that enhanced the music
- Felt modern and fluid to use
- Still respected the core principles of MPD (lightweight, reliable, focused)
Enter Quester
Quester is my answer to this problem. It's a desktop MPD client built with Qt 6 and QML that puts visual experience at the forefront while maintaining the simplicity and reliability of MPD.
Key Features
Album-Focused Navigation
The main browsing experience is centered around album art. You can navigate through your music library using:
- Cover Flow: A familiar 3D album browsing experience
- Grid View: A clean, modern grid of album covers for quick navigation
Both views prioritize high-quality album art and make it easy to find exactly what you're looking for.
Dual Visualizers
Music is not just auditory - it's visual too. Quester includes two powerful visualizers:
Spectrum Analyzer
A custom-built bar visualizer using FFTW that provides real-time frequency analysis. It features:
- Fully customizable color gradients
- Multiple bar modes and animations
- Responsive design that adapts to your music
projectM Integration
For those who remember Milkdrop from the Winamp days, Quester includes full projectM integration. This means you can enjoy thousands of community-created visualizations that react to your music.
Automatic Artwork Management
Quester automatically fetches album art from multiple sources:
- Embedded album art from your music files
- Local image files in your music directories
- TheAudioDB API for missing artwork
You never have to manually search for or add album art - Quester handles it all automatically.
MPRIS Support
Quester includes full MPRIS support via D-Bus, allowing you to control playback using system media keys or desktop widgets. This integration is still in development but already provides seamless control from your desktop environment.
Touch-Ready UI
The entire interface is designed to be touch-friendly, with large, spaced-out controls that work perfectly with touchscreens while still feeling natural with a mouse.
Technical Implementation
Quester is built with modern Qt 6 and QML:
- C++17 backend for performance-critical operations
- QML frontend for rapid UI development
- libmpdclient for MPD communication
- FFTW3 for fast Fourier transforms in the spectrum analyzer
- libprojectM for visualizer effects
- Qt Multimedia for audio handling
- D-Bus for MPRIS integration
The codebase is lightweight, well-organized, and designed to be maintainable and extensible.
Configuration and Customization
Quester is highly customizable:
Visualizer Presets
You can create your own color presets for the spectrum analyzer by adding JSON
files to ~/.config/Quester/presets/.
Simple Gradient Preset:
{
"Rainbow": ["#E50000", "#FF8D00", "#FFEE00", "#028121", "#004CFF", "#770088"]
}
Weighted Gradient:
{
"Uneven": {
"colors": ["#FF0000", "#00FF00", "#0000FF"],
"weights": [1, 4, 1]
}
}
projectM Settings
Configure projectM visualizations via the settings dialog, where you can adjust:
- Preset path
- Texture size
- Rendering quality
- Transition settings
Getting Started
Prerequisites
To build Quester, you'll need:
- Qt 6.2 or higher
- libmpdclient
- FFTW3
- libprojectM
- PulseAudio or PipeWire
Installation
git clone https://github.com/anoraktrend/Stable.git
cd Stable
mkdir build && cd build
cmake ..
make
sudo make install
Usage
Ensure your MPD server is running, then simply launch Quester. The application
will attempt to connect to localhost:6600 by default.
The Future of Quester
Quester is still in active development. Some upcoming features include:
- Full MPRIS implementation
- Improved playlist management
- Additional visualizer modes
- Customizable UI themes
- Mobile support (postmarketOS)
Join the Project
Quester is open source and available on Codeberg. If you're interested in contributing or have ideas for improvements, feel free to fork the repository and submit a pull request.
Conclusion
Quester is more than just an MPD client - it's a celebration of music and the visual experience that accompanies it. By combining modern design with the power of Qt, Quester provides a music player that feels both familiar and fresh.
If you're tired of lackluster music player interfaces and want something that truly enhances your listening experience, give Quester a try.
-# Music is life. That's why our hearts have beats