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-01-29 07:55:20 +00:00
## Known Bugs ❗❗
2023-01-29 07:57:54 +00:00
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 this program. 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.
2023-01-29 07:55:20 +00:00
2023-01-31 07:05:48 +00:00
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](https://github.com/Stephen-Seo/mpd_info_screen/issues/2).
2023-01-31 06:59:19 +00:00
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
2022-11-01 11:44:23 +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
2022-10-30 04:47:19 +00:00
mpd_info_screen 0.3.7
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:
2021-12-15 10:43:11 +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.