MMTC

MMTC is a minimal MPD (Music Player Daemon) terminal client designed to be both simple and highly configurable. Written in Rust, MMTC provides users with a powerful yet lightweight tool to interact with their MPD servers directly from the terminal.

Release Version

The latest release version of MMTC can be found on GitHub.

Dependencies

MMTC relies on mpd for its backend functionality. Ensure you have mpd installed and configured before using MMTC.

License

MMTC is licensed under the MIT License, allowing for free use and distribution with minimal restrictions.

Continuous Integration

MMTC employs continuous integration to ensure code quality and reliability. Build statuses and test results are available on the project's CI page.

Installation

Precompiled Binaries

The latest precompiled binaries are available on GitHub.

Crates.io

Alternatively, you can install MMTC from crates.io using cargo:

cargo install mmtc

Building from Source

To build MMTC from source, clone the repository and run:

cargo build --release

Usage

MMTC can be run with various options to customize its behavior:

mmtc [OPTIONS]

Options

  • --clear-query-on-play: Clear query on play
  • -C, --cmd [<CMD>...]: Run MPD commands and exit
  • --cycle: Cycle through the queue
  • --no-clear-query-on-play: Don't clear query on play
  • --no-cycle: Don't cycle through the queue
  • --address <address>: Specify the address of the MPD server
  • -c, --config <file>: Specify the config file
  • --jump-lines <number>: The number of lines to jump
  • --seek-secs <number>: The time to seek in seconds
  • --ups <number>: The amount of status updates per second
  • -h, --help: Print help information
  • -V, --version: Print version information

Environment Variables

Setting both MPD_HOST and MPD_PORT is equivalent to --address $MPD_HOST:$MPD_PORT. Command line arguments take precedence over environment variables, which in turn take precedence over configuration files.

Key Bindings

MMTC provides a variety of key bindings to control playback and navigate the queue:

KeyAction
q or Ctrl + qQuit MMTC
rToggle repeat
RToggle random
sToggle single
SToggle oneshot
cToggle consume
pToggle pause
;Stop
h or LeftSeek backwards
l or RightSeek forwards
HPrevious song
LNext song
EnterPlay selected song or quit searching mode
SpaceSelect current song or first song in the queue
j, Down, ScrollDownGo down in the queue
k, Up, ScrollUpGo up in the queue
J, Ctrl + d, PageDownJump down in the queue
K, Ctrl + u, PageUpJump up in the queue
gGo to the top of the queue
GGo to the bottom of the queue
/Enter searching mode
Ctrl + uEmpty search query
EscapeQuit searching mode and empty query

Similar Projects