No description
Find a file
Stephen Seo 6d400cd7c7 Workaround for album art not drawing bug
ggez (at the time of this commit) latest release has a bug that results
in the album art not drawing. Workaround is to build against a ggez
commit in its "devel" branch.
2023-01-29 16:45:40 +09:00
src Fix clippy warnings 2023-01-29 14:50:26 +09:00
.gitignore Fix edge-case where MPD omits album art format 2022-10-30 13:42:51 +09:00
build.rs Fix/inhibit clippy warnings 2022-08-01 13:37:13 +09:00
Cargo.lock Workaround for album art not drawing bug 2023-01-29 16:45:40 +09:00
Cargo.toml Workaround for album art not drawing bug 2023-01-29 16:45:40 +09:00
LICENSE Update year in LICENSE 2022-08-02 19:22:07 +09:00
README.md Update README.md 2022-11-01 20:44:23 +09:00

mpd info screen

mpd info screen crates.io version badge mpd info screen license badge

Github Repository

mpd info screen preview image

A Rust program that displays info about the currently running MPD server.

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" counter, and the filename currently being played

Unicode Support

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 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).

cargo build --release --features unicode_support

or through crates.io:

cargo install --features unicode_support mpd_info_screen

Usage

mpd_info_screen 0.3.7

USAGE:
    mpd_info_screen [FLAGS] [OPTIONS] <host> [port]

FLAGS:
        --disable-show-album       disable album display
        --disable-show-artist      disable artist display
        --disable-show-filename    disable filename display
        --disable-show-title       disable title display
        --no-scale-fill            don't scale-fill the album art to the window
        --pprompt                  input password via prompt
    -h, --help                     Prints help information
    -V, --version                  Prints version information

OPTIONS:
    -l, --log-level <log-level>                 [default: Error]  [possible values: Error, Warning, Debug, Verbose]
    -p <password>
    -t, --text-bg-opacity <text-bg-opacity>    sets the opacity of the text background (0-255) [default: 190]

ARGS:
    <host>
    <port>     [default: 6600]

Note that presing the Escape key when the window is focused closes the program.

Also note that pressing the H key while displaying text will hide the text.

Issues / TODO

  • UTF-8 Non-ascii font support (Use the unicode_support feature to enable; only tested in linux)
  • Support for album art not embedded but in the same directory

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.

Legal stuff

Uses dependency ggez which is licensed under the MIT license.

Uses dependency image which is licensed under MIT license.

Uses dependency structopt which is licensed under Apache-2.0 or MIT licenses.

Unicode Support Dependencies

Uses dependency fontconfig which is licensed with this license.

Uses dependency freetype which is licensed with this license.

Uses dependency bindgen which is licenced under the BSD-3-Clause.