1 unstable release
| 0.1.0 | Jun 14, 2020 |
|---|
#638 in Command-line interface
58KB
1.5K
SLoC
mpdsh
Description
Shell-like MPD ( Music Player Daemon ) client written in Rust.
This is a simple CLI application. You can easily control MPD by using commands such as ls and cd. Also, rustyline completion will help you enter the names of directories and files.
https://crates.io/crates/rustyline
Exsample
Usage
Usage: mpdsh [options]
Options:
-h, --host localhost
MPD host address
-p, --port 6600 MPD port number
-d, --protolog Output protocol log to stderr.
-v, --version Print version info and exit.
--help Print this help menu.
Command
-
help- show command list
-
cd [<DIR>]- change directory
- You can use the key for completion.
-
ls [-l] [<DIR|FILE>]- list file or directory
- [-l] more info ( file only )
- You can use the key for completion.
-
pl [-l]- show playlist
- [-l] more info
- FLG
=>The current song stopped on or playing. - FLG
.The next song to be played. - alias(
plist)
-
add [<FILE|DIR>]- Adds the file to the playlist (directories add recursively).
- If no file is specified, all files under the current directory are targeted.
- You can use the key for completion.
- alias(
a)
-
add_top [<FILE|DIR>]- Adds the file to the playlist top (directories add recursively).
- You can use the key for completion.
- alias(
at)
-
add_uri <URI> [<POSITION>]- Adds the file to the playlist.
- URL of Internet radio, etc.
-
del <POS>|<START:END>- Deletes a song from the playlist.
-
clr- Deletes all songs from the playlist.
-
move <POS>|<START:END> <TOPOS>- Moves the song in the playlist.
-
play [<POS>]- Begins playing the playlist.
- alias(
p)
-
stop- Stops playing.
- alias(
s)
-
pause- Toggles pause playing.
- alias(
u)
-
resume- Toggles resumes playing.
- alias(
e)
-
prev- Plays previous song in the playlist.
- alias(
r)
-
next- Plays next song in the playlist.
- alias(
n)
-
random [<STATE>]- Sets random state to STATE, STATE should be 0 or 1.
- Or display the current value
-
repeat [<STATE>]- Sets repeat state to STATE, STATE should be 0 or 1.
- Or display the current value.
-
single <STATE>- Sets single state to STATE, STATE should be 0, 1 or
oneshot - When single is activated, playback is stopped after current song, or song is repeated if the ‘repeat’ mode is enabled.
- Or display the current value.
- Sets single state to STATE, STATE should be 0, 1 or
-
volume <VOL>- Sets volume to VOL, the range of volume is 0-100.
- Or display the current value.
- alias(
v)
-
status- Reports the current status of the player and the volume level.
- alias(
st)
-
update- Updates the music database on MPD
-
cmd <MPDCOMMAND> [<MPDCOMMAND_ARG> ...]- Exec MPD Protocol command (see:https://www.musicpd.org/doc/html/protocol.html)
-
quit- Quit this program.
- alias(
q)
Actions
-
<TAB>key- Filename completion
-
<UP><DOWN>key- History search
Building
git clone https://github.com/zuntan/mpdsh.git
cd mpdsh
cargo build
cargo run -- -h
License
mpdsh is licensed under either of the following, at your option:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
Postscript
This is the first I wrote in Rust.
Rust is loved by so many people, and I'll love it too. But I'm just being scolded by the Rust compiler.
My love is still lacking.
Dependencies
~9MB
~171K SLoC