An mpd client with album art and basic functionality.
Project description
Miniplayer
A curses based mpd client with basic functionality and album art.
After installation, the player can be opened from the terminal with miniplayer
.
Installation
This package can be installed by:
- Cloning this repository to your computer and running
python setup.py install
- Through PyPi with
pip install miniplayer
- By installing the
miniplayer-git
package with your AUR package manager of choice.
Configuration
The config file is located at ~/.config/miniplayer/config
. The example configuration file, config.example
, has all the default values. You will need to create the file yourself.
player
Wow, that volume step is huge. Why isn't my album art centered?
Option | Description |
---|---|
font_width | The width of your font in pixels in the actual terminal. |
font_height | The height of your font in pixels in the actual terminal. |
volume_step | The ammount (in percents) the volume will be adjusted on pressing the volume up and volume down keys. |
album_art_only | Whether or not to only draw the album art and no other track info (true/false ). |
auto_close | Whether or not to automatically close the player once the mpd playlist has concluded (true/false ). |
show_playlist | Whether or not to show the playlist view. |
The font_width
and font_height
options are used to center the album art properly.Here is an example of how they should be measured.
art
Why listen to music if you can't look at the pretty album art?
Option | Description |
---|---|
image_method | The method to use for drawing album art. Available values are pixcat and ueberzug . |
mpd
Tell me your mpd address please!
Option | Description |
---|---|
host | The mpd host |
port | The mpd port |
pass | The mpd password |
keybindings
This section allows you to change the keybinds for the player. The format for a keybind is key = action
(for example p = play_pause
or left = last_track
).
To use shift
as a modifier, capitalize the keybinding (i.e. shift + p
becomes P
and shift + left
becomes Left
). This only works for alpha keys and the arrow keys!
Available actions |
---|
play_pause |
next_track |
last_track |
volume_down |
volume_up |
toggle_info |
help |
quit |
select_down |
select_up |
select |
move_up |
move_down |
shuffle |
repeat |
delete |
command_line |
theme
Make it yours!
Option | Description |
---|---|
accent_color | The color to use for selections in the playlist |
bar_color | The color for the progress bar |
time_color | The color for the time stamp |
bar_body | A single character to use for the body of the progress bar |
bar_head | A single character to use for the head of the progress bar |
command_sep | Characters used to seperate the command line |
command_char | Characters to indicate the command line is open |
The following terminal colors can be used:
black
red
green
yellow
blue
magenta
cyan
white
You can also use the magic colour called auto
. If you pick it, the player will try to determine the dominant color in the album art and use that instead.
Default keybinds
Key | Function |
---|---|
h | Show keybinds |
p | Play/pause |
> | Next track |
< | Last track |
q | Quit |
+ | Volume up |
- | Volume down |
i | Toggle info |
Up | Selection up |
Down | Selection down |
Enter | Play selected song |
Delete | Remove selected song from playlist |
Shift + up | Move selected song up |
Shift + down | Move selected song down |
x | Shuffle playlist |
r | Toggle repeat |
: | Open command line |
These keybinds can be changed by editing the config file. See the config.example
file for the format.
The command line
The command line can be used to add songs to the current playlist. To launch it, press the command_line
button (that's :
by default). The command line supports some tab completion but you cannot move the caret left or right (yet).
The format is as follows:
[hierarchy] [tag1/tag2/tag3/...tagN]
-
You do not have to populate all the tags. if you type, for example,
artist Phoebe Bridgers/
and hit enter, all of Phoebe's music in your library will be added to the playlist. -
NOTE You do not type the seperator! It is added automatically. Just use a space!
The hierarchy controls the order of the tags and what each tag represents. Currently there are 4 available hierarchies with plans to add user configurable ones in the future.
Hierarchies
Hierarchy | Tag format |
---|---|
album | album/song |
artist | artist/song |
song | song |
aa | artist/album/song |
Command line keys
Key | Action |
---|---|
Escape | Exit command line |
Enter | Attempt to add the current tags to the playlist |
F.A.Q.
-
Q: Album art is not showing up.
A: Try changingimage_method
frompixcat
toueberzug
or vice versa. -
Q: Album art is too big/too small.
A: You need to configurefont_height
andfont_width
. Their values should be the actual pixel height and width of a character in your terminal.
More screenshots!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file miniplayer-1.8.1.tar.gz
.
File metadata
- Download URL: miniplayer-1.8.1.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/5.0.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89452c5480cb40089a32899f0362efbc967678f860003b42e860b0229442d4c0 |
|
MD5 | cb50ca04d0c566678b376b688afecfc8 |
|
BLAKE2b-256 | e7098c4e5a88932f060ce997a4ffd7d24e810a029ca94843e32dd8b112521742 |