Quod Libet
Quod Libet is a music player written in Python and based on GTK, extendable using native or user plugins, and supporting a lot of audio formats using GStreamer as backend. It supports ReplayGain, reading and writing tags, displaying album arts and lyrics, filtering library based on regular expressions, and more.
The Quod Libet project provides 3 commands:
- quodlibet(1)
- The player and library manager, supporting a CLI.
- exfalso(1)
- The graphical tag manager.
- operon(1)
- The command-line tag manager.
Installation
Install the quodlibet package.
Extending decoding capabilities
Quod Libet can benefit from Libav-based codecs through GStreamer (e.g. to decode Monkey's Audio (APE) files). To enable this, install the gst-libav package and restart the audio player.
Extending plugins list
Quod Libet can benefit from some GStreamer's plugins (e.g. to compute ReplayGain information). To make them available in the Quod Libet's plugins list, install the gst-plugins-good package and restart the audio player.
Configuration
Configuring the player core
In the menu, go to File and then Preferences. From here, you can configure the library path, enable ReplayGain, and configure the player layout.
Enabling plugins
The default preferences of the player are not exhaustive. A more advanced configuration is done via plugins. To enable them, in the menu, go to File > Plugins, and enable the desired plugins.
Here is a list of interesting plugins:
- Alternative progress bar
- Display a progress bar at the top of the window.
- Waveform search bar
- Display a waveform progress bar instead of a simple bar.
- Change theme
- Configure the interface theme.
- ReplayGain
- Add a button in contextual menu to compute ReplayGain information for selected files.
- Information overlay
- Add an OSD during title change.
- D-BUS MPRIS support
- Add MPRIS support through D-BUS allowing to control the media player using keyboard multimedia keys.
- Display lyrics
- Add a panel at the right of the display to show embedded lyrics.
Plugins
ReplayGain
ReplayGain is disabled by default on Quod Libet. You must enable it in the preferences so that the volume of tracks will be adjusted at runtime based on ReplayGain tags.
Quod Libet is able to compute ReplayGain information and store it in the tags of audio files. It relies on the GStreamer's rganalysis plugin. To do so:
- Ensure GStreamer's plugins are installed through the gst-plugins-good package.
- Enable the ReplayGain plugin, right click on a file, go to Plugins and click on ReplayGain.
External control
Quod Libet can be controlled programmatically using MPRIS through D-Bus. To do so, enable the D-BUS MPRIS support plugin. It allows control using multimedia keys and terminal.
The following demonstrate some examples of player control using the terminal.
- Set the playback volume to 50%
$ dbus-send --dest=org.mpris.MediaPlayer2.quodlibet --print-reply /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set string:org.mpris.MediaPlayer2.Player string:Volume variant:double:0.5
- Control playback action
$ dbus-send --dest=org.mpris.MediaPlayer2.quodlibet --print-reply /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
Instead of Next, you can use one of the following actions: Pause, Play, Previous, Stop.
Media server
Quod Libet can act as a media server using Music Player Daemon or Rygel as backends. To select and use one of them, enable the correspond plugins in the preferences.
Troubleshooting
Multimedia keys do not work
Multimedia keys work using the MPRIS interface. This interface has to be enabled in the plugins of Quod Libet to make them work.
Interface freeze when title changes
Enabling a buggy plugin or too many sane plugins can sometimes leads to poor performance. Disable plugins until the freeze disappear, such that you can identify the faulty plugin. For instance, the Waveform search bar is known to cause some lags for low-end systems.