/pyms

Minimal command line music player.

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

pyms

Minimal command-line music player written in Python.



Dependencies

pyms uses pygame, pynput, cursor & mutagen, with version numbers provided in the file requirements.txt.

It has been tested with Python 3.8.10, results may vary if other versions are used.

Installation

The following commands will download the latest version of pyms from this repository and install it in your /usr/bin/ directory:

git clone https://github.com/Julynx/pyms
cd pyms
pip3 install -r requirements.txt
sudo chmod +x pyms
sudo mv pyms /usr/bin/

The program can now be ran from a terminal with the command pyms.

Usage

Usage: pyms [FILE] [OPTION]...  Play a specific song.
       pyms [DIR.] [OPTION]...  Play a random song from a dir.

OPTION:
       --update-interval=<X>    Redraw the UI every X seconds.
       --no-infinite-queue      Stop playback when the song ends.
       --no-clear               Do not clear the screen between UI
                                  updates. This may help prevent
                                  flickering on some terminals.
       -h, --help               Print this message and exit.
       -v, --version            Print version information and exit.

TODO

  • [1.1.7] Reduce polling rate to 2 fps to reduce flickering on some terminal emulators.
  • [1.1.8] Reintroduce the SIGWINCH signal handler to allow for instant UI redraws when the window is resized instead of having to wait for the next redraw to take place.
  • [1.1.9] Implement a configuration file command line flags to store set the update interval, the redraw strategy, the keybindings enable / disable the infinite queue and other relevant options.
  • [1.2.0] Configurable keybindings and maybe some other stuff.