Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/figsoda/mmtc

Minimal mpd terminal client that aims to be simple yet highly configurable
https://github.com/figsoda/mmtc

hacktoberfest mpd music rust tui

Last synced: 10 days ago
JSON representation

Minimal mpd terminal client that aims to be simple yet highly configurable

Awesome Lists containing this project

README

        

# mmtc

[![release](https://img.shields.io/github/v/release/figsoda/mmtc?logo=github&style=flat-square)](https://github.com/figsoda/mmtc/releases)
[![version](https://img.shields.io/crates/v/mmtc?logo=rust&style=flat-square)][crate]
[![deps](https://deps.rs/repo/github/figsoda/mmtc/status.svg?style=flat-square&compact=true)](https://deps.rs/repo/github/figsoda/mmtc)
[![license](https://img.shields.io/badge/license-MPL--2.0-blue?style=flat-square)](https://www.mozilla.org/en-US/MPL/2.0)
[![ci](https://img.shields.io/github/actions/workflow/status/figsoda/mmtc/ci.yml?label=ci&logo=github-actions&style=flat-square)](https://github.com/figsoda/mmtc/actions?query=workflow:ci)

Minimal [mpd](https://github.com/musicplayerdaemon/mpd) terminal client that aims to be simple yet highly configurable

- [Installation](#installation)
- [Building from source](#building-from-source)
- [Usage](#usage)
- [Environment variables](#environment-variables)
- [Key bindings](#key-bindings)
- [Configuration.md]
- [CHANGELOG.md]

## Installation

[![repology](https://repology.org/badge/vertical-allrepos/mmtc.svg)](https://repology.org/project/mmtc/versions)

The latest precompiled binaries are available on [github](https://github.com/figsoda/mmtc/releases/latest).

Alternatively you can install mmtc from [crates.io][crate] with cargo.

```sh
cargo install mmtc
```

## Building from source

```sh
cargo build --release
```

## Usage

```
Usage: mmtc [OPTIONS]

Options:
--clear-query-on-play Clear query on play
-C, --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

Specify the address of the mpd server
-c, --config Specify the config file
--jump-lines The number of lines to jump
--seek-secs The time to seek in seconds
--ups The amount of status updates per second
-h, --help Print help information (use `--help` for more detail)
-V, --version Print version information
```

## Environment variables

Setting both `MPD_HOST` and `MPD_PORT` is the equalvalent of `--address $MPD_HOST:$MPD_PORT`

Precedence: command line arguments > environment variables > configuration file

## Key bindings

Key | Action
-|-
q or Ctrl + q | quit mmtc
r | toggle repeat
R | toggle random
s | toggle single
S | toggle oneshot
c | toggle consume
p | toggle pause
; | stop
h or Left | seek backwards
l or Right | seek forwards
H | previous song
L | next song
Enter | play selected song or quit searching mode if in searching mode
Space | select current song or the first song in the queue
j, Down, or ScrollDown | go down in the queue
k, Up, or ScrollUp | go up in the queue
J, Ctrl + d, or PageDown | jump down in the queue
K, Ctrl + u, or PageUp | jump up in the queue
g | go to the top of the queue
G | go to the bottom of the queue
/ | enter searching mode
Ctrl + u | empty search query
Escape | quit searching mode and empty query

## Configuration

See [Configuration.md]

## Changelog

See [CHANGELOG.md]

[CHANGELOG.md]: CHANGELOG.md
[Configuration.md]: Configuration.md
[crate]: https://crates.io/crates/mmtc