Minimal command-line music player written in Python.
pyms uses pygame, pynput, cursor & mutagen, with version numbers provided in the file requirements.txt
.
It has been tested with Python 3.10.6, results may vary if other versions are used.
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:
pyms [OPTIONS] Play a random song from '~/Music'.
pyms [FILE] [OPTIONS] Play a specific song.
pyms [DIR.] [OPTIONS] Play a random song from a directory.
OPTION:
--update-interval=<X> Redraw the UI every X seconds.
--no-infinite-queue Stop playback when the song ends.
--no-clear Don't 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.
- [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 filecommand line flags tostoreset the update interval, the redraw strategy,the keybindingsenable / disable the infinite queueand other relevant options. - [1.2.0]
Configurable keybindings and maybe some other stuff.Fast fwd/bwd buttons + improved UI sprites! - [1.2.1] Fixed some issues with the infinite queue and folders with only one song.
- [1.2.2] Improved the error messages.
- [1.2.3] Code linting.
- [1.2.4] Minor bugfixes related to SIGINT.