2021-09-16 07:06:26 +00:00
|
|
|
# mpd info screen
|
|
|
|
|
2022-08-25 06:36:43 +00:00
|
|
|
[![mpd info screen crates.io version badge](https://img.shields.io/crates/v/mpd_info_screen)](https://crates.io/crates/mpd_info_screen)
|
|
|
|
[![mpd info screen license badge](https://img.shields.io/github/license/Stephen-Seo/mpd_info_screen)](https://choosealicense.com/licenses/mit/)
|
2022-02-08 07:47:21 +00:00
|
|
|
|
|
|
|
[Github Repository](https://github.com/Stephen-Seo/mpd_info_screen)
|
|
|
|
|
2021-09-17 05:54:25 +00:00
|
|
|
![mpd info screen preview image](https://git.seodisparate.com/stephenseo/mpd_info_screen/raw/branch/images/images/mpd_info_screen_preview_image.jpg)
|
2021-09-17 03:35:14 +00:00
|
|
|
|
2021-09-16 07:06:26 +00:00
|
|
|
A Rust program that displays info about the currently running MPD server.
|
|
|
|
|
2021-09-17 11:09:39 +00:00
|
|
|
The window shows albumart (may be embedded in the audio file, or is a "cover.jpg" in the same directory as the song file), a "time-remaining"
|
2021-09-16 07:06:26 +00:00
|
|
|
counter, and the filename currently being played
|
|
|
|
|
2023-02-04 10:30:44 +00:00
|
|
|
## Known Bugs ❗❗
|
|
|
|
|
|
|
|
Version `0.4.2` is a "workaround" release that is branched off of version
|
|
|
|
`0.3.7`. Once a new release of `ggez` is released that fixes the known bugs,
|
|
|
|
version `0.4.3` will be released with the fixes. Because this is based on
|
|
|
|
`0.3.7` of `mpd_info_screen`, Wayland support may not work. Try using `xwayland`
|
|
|
|
with the environment variable `WINIT_UNIX_BACKEND=x11` set.
|
|
|
|
|
|
|
|
Currently, the dependency "ggez 0.8.1" [fails to render album
|
|
|
|
art](https://github.com/Stephen-Seo/mpd_info_screen/issues/1) on my machines
|
|
|
|
using the latest version of this program (`main` branch). Version 0.4.1 cannot
|
|
|
|
be published to https://crates.io due to this version referring to a git commit
|
|
|
|
as a dependency. Once ggez has released a new version with the commit that
|
|
|
|
fixes this bug, this repository will be updated to use that version.
|
|
|
|
|
|
|
|
The `devel` branch has a fix for mpd\_info\_screen not displaying properly when
|
|
|
|
no password is provided and MPD can be accessed without a password.
|
|
|
|
|
2022-08-01 04:03:37 +00:00
|
|
|
## Unicode Support
|
|
|
|
|
2022-08-01 03:11:44 +00:00
|
|
|
By default, unicode characters will not display properly. Build the project with
|
|
|
|
the `unicode_support` feature enabled to enable fetching fonts from the local
|
|
|
|
filesystem to display unicode characters properly (if the system is missing a
|
2022-08-01 04:08:06 +00:00
|
|
|
font, then it will still be displayed incorrectly). Note that your system must
|
|
|
|
have `fontconfig` and `freetype` installed (most Linux systems should have these
|
|
|
|
installed already).
|
2022-08-01 03:11:44 +00:00
|
|
|
|
|
|
|
cargo build --release --features unicode_support
|
|
|
|
|
2023-02-04 10:30:44 +00:00
|
|
|
or through crates.io:
|
|
|
|
|
|
|
|
cargo install --features unicode_support mpd_info_screen
|
|
|
|
|
2021-09-16 07:08:29 +00:00
|
|
|
# Usage
|
|
|
|
|
2022-08-01 03:11:44 +00:00
|
|
|
|
2023-02-04 10:30:44 +00:00
|
|
|
mpd_info_screen 0.4.2
|
2021-09-16 07:08:29 +00:00
|
|
|
|
|
|
|
USAGE:
|
2021-09-17 11:00:01 +00:00
|
|
|
mpd_info_screen [FLAGS] [OPTIONS] <host> [port]
|
2021-09-16 07:08:29 +00:00
|
|
|
|
|
|
|
FLAGS:
|
2022-08-02 10:18:35 +00:00
|
|
|
--disable-show-album disable album display
|
2021-09-17 11:35:49 +00:00
|
|
|
--disable-show-artist disable artist display
|
|
|
|
--disable-show-filename disable filename display
|
|
|
|
--disable-show-title disable title display
|
2021-12-15 10:43:11 +00:00
|
|
|
--no-scale-fill don't scale-fill the album art to the window
|
2021-09-17 11:35:49 +00:00
|
|
|
--pprompt input password via prompt
|
2021-09-17 11:00:01 +00:00
|
|
|
-h, --help Prints help information
|
|
|
|
-V, --version Prints version information
|
2021-09-16 07:08:29 +00:00
|
|
|
|
|
|
|
OPTIONS:
|
2022-08-10 05:07:03 +00:00
|
|
|
-l, --log-level <log-level> [default: Error] [possible values: Error, Warning, Debug, Verbose]
|
2021-12-15 10:43:11 +00:00
|
|
|
-p <password>
|
2022-08-10 05:07:03 +00:00
|
|
|
-t, --text-bg-opacity <text-bg-opacity> sets the opacity of the text background (0-255) [default: 190]
|
2021-09-16 07:08:29 +00:00
|
|
|
|
|
|
|
ARGS:
|
2023-02-04 10:30:44 +00:00
|
|
|
<host>
|
2021-09-16 07:08:29 +00:00
|
|
|
<port> [default: 6600]
|
|
|
|
|
2022-01-13 01:07:01 +00:00
|
|
|
|
2021-12-15 10:43:11 +00:00
|
|
|
Note that presing the Escape key when the window is focused closes the program.
|
2021-09-17 11:52:07 +00:00
|
|
|
|
2021-12-16 08:28:16 +00:00
|
|
|
Also note that pressing the H key while displaying text will hide the text.
|
|
|
|
|
2021-09-16 07:06:26 +00:00
|
|
|
# Issues / TODO
|
|
|
|
|
2022-08-01 03:11:44 +00:00
|
|
|
- [x] UTF-8 Non-ascii font support (Use the `unicode_support` feature to enable; only tested in linux)
|
2021-09-17 09:23:55 +00:00
|
|
|
- [x] Support for album art not embedded but in the same directory
|
2021-09-16 07:06:26 +00:00
|
|
|
|
2021-12-27 02:25:56 +00:00
|
|
|
## MPD Version
|
|
|
|
|
|
|
|
To get album art from the image embedded with the audio file, the "readpicture"
|
|
|
|
protocol command is queried from MPD, which was added in version 0.22 of MPD.
|
|
|
|
It is uncertain when the "albumart" protocol command was added (this command
|
|
|
|
fetches album art that resides in cover.jpg/cover.png in the same directory as
|
|
|
|
the audio file). This means that older versions of MPD may not return album art
|
|
|
|
to display.
|
|
|
|
|
2021-09-16 07:06:26 +00:00
|
|
|
# Legal stuff
|
|
|
|
|
2021-12-15 10:46:53 +00:00
|
|
|
Uses dependency [ggez](https://github.com/ggez/ggez) which is licensed under the
|
|
|
|
MIT license.
|
2021-09-16 07:06:26 +00:00
|
|
|
|
|
|
|
Uses dependency [image](https://crates.io/crates/image) which is licensed under
|
|
|
|
MIT license.
|
|
|
|
|
|
|
|
Uses dependency [structopt](https://crates.io/crates/structopt) which is
|
|
|
|
licensed under Apache-2.0 or MIT licenses.
|
2022-08-01 03:11:44 +00:00
|
|
|
|
|
|
|
## Unicode Support Dependencies
|
|
|
|
|
|
|
|
Uses dependency
|
|
|
|
[fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/) which is
|
|
|
|
[licensed with this license](https://www.freedesktop.org/software/fontconfig/fontconfig-devel/ln12.html).
|
|
|
|
|
|
|
|
Uses dependency [freetype](https://freetype.org) which is
|
|
|
|
[licensed with this license](https://freetype.org/license.html).
|
2022-08-01 03:21:51 +00:00
|
|
|
|
|
|
|
Uses dependency [bindgen](https://crates.io/crates/bindgen) which is licenced
|
|
|
|
under the BSD-3-Clause.
|