A new music player built around Python and GTK
Go to file
Anna Schumaker e6a219017d sidebar: Use a symbolic icon for the library section
I was relying on the icon theme to fallback to symbolic icons when I
initially wrote it. Turns out, some icon themes do provide a color icon
for this, so I specifically ask for the symoblic icon for consistency.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2024-01-29 14:38:24 -05:00
aur@0965b4bb96 Emmental 3.1.1 AUR commit 2023-10-30 16:08:17 -04:00
emmental sidebar: Use a symbolic icon for the library section 2024-01-29 14:38:24 -05:00
icons/scalable header: Add an icon for background mode to the Header 2023-06-01 11:13:44 -04:00
mpris-spec@51e5848f9f mpris2: Add an Mpris2 DBus Connection 2023-04-12 10:41:42 -04:00
tests sidebar: Use a symbolic icon for the library section 2024-01-29 14:38:24 -05:00
tools install: Update the install target for Emmental 3.x 2023-05-23 09:16:52 -04:00
.debug Rename the debug file to .debug 2021-07-26 14:29:40 -04:00
.gitignore Emmental 3.0 AUR commit 2023-05-24 14:48:15 -04:00
.gitmodules submodules: Update the git url of the mpris spec 2024-01-20 10:47:55 -05:00
LICENSE Initial commit 2019-01-24 09:35:41 -05:00
Makefile Emmental: Add a MICRO_VERSION 2023-05-25 10:19:51 -04:00
README.md Emmental 3.0.1 2023-06-01 11:14:40 -04:00
com.nowheycreamery.emmental.desktop Rename emmental.desktop 2023-06-01 11:46:10 -04:00
emmental.py Rename emmental3.py --> emmental.py 2023-05-10 17:42:42 -04:00
pytest.ini emmental3.py: Start Emmental 3.0 2023-03-07 11:18:46 -05:00

README.md

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
    • 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".