emmental/README.md

2.4 KiB

Emmental

Emmental is a music player built using Python, GStreamer, and GTK. It tries to make it really easy to listen to your music, the default "Collection" playlist contains all your music files and is a fallback when other playlists run out of tracks.

Features

  • MPRIS2
  • ReplayGain
  • Gapless playback
  • Background listening mode
  • Automatically pause after a user-configured number of tracks
  • Playlist creation and management
  • Automatic playlists based on Artists, Albums, Genres, Decades, and Years
  • Multiple library path support
  • Plays all audio formats supported by GStreamer
  • Renamed and updated tracks detection (using MusicBrainzIDs)

Dependencies

  • Python3
    • dateutil
    • gobject
    • liblistenbrainz
    • musicbrainzngs
    • mutagen
    • pyxdg
  • GStreamer
    • GStreamer good plugins (optional)
    • GStreamer bad plugins (optional)
    • GStreamer ugly plugins (optional)
  • GTK4
    • xdg-user-dirs-gtk
    • Libadwaita

Installing

Running make install will install Emmental to /usr/local by default. This can be changed during install:

PREFIX=/usr make install

ArchLinux users can also install Emmental though the AUR

Q & A

1. What's with the name? Why 'emmental'?

Emmental was the cheese used in a late-2018 experiment to learn if playing music while a cheese ages has an impact on flavor (spoiler alert: it did). I have a habit of naming projects and computers after cheeses, so when I started this project I named it after the cheese used in this experiment.

2. How do I edit my tracks?

Emmental doesn't have a built-in tag editor but it can detect when track files have been edited in an external program. I highly recommend using a dedicated tag editing program like MusicBrainz Picard, it does a much better job at tag editing than I ever will.

3. What is the ReplayGain "Decide automatically" option?

ReplayGain has two operating modes, "track" and "album", that the user can select between. Emmental builds on this and can automatically choose between the two based on the source playlist for a given track. This means if the current track comes from an Album playlist, ReplayGain will use "album mode" and if it comes from other playlists it will use "track mode".