Universal Advanced Music Player written in Rust using Iced.
(May not be as advanced yet)
The newest versions of uamp are in the branch revamp. The reason for that is that because of some issues with iced, the version on that branch has no gui. I would like to add gui back in the future, but the player is perfectly usable without the gui. The version there has much more features and all of them are exposed to the CLI. Read the readme there for more info.
The configuration is saved in the efault configuration folder on your
platform, on linux that is ~/.config/uamp
.
The only file that should be edited by the user is config.json
.
If you enable shortcuts in the configuration, this is what they are:
Ctrl
Alt
Home
: Play/PauseCtrl
Alt
PgUp
: Previous songCtrl
Alt
PgDown
: Next songCtrl
Alt
Up
: Volume upCtrl
Alt
Down
: Volume downCtrl
Alt
Left
: RewindCtrl
Alt
Right
: Fast forward You can customize the shortcuts inconfig.json
For example to play/pause you can use the command:
uamp instance play-pause
or the short version
uamp i pp
This is the output of help:
Welcome in uamp by BonnyAD9
Version 0.4.0
Usage:
uamp
starts the gui of the player
uamp [action] [--] [action] ... [flags]
does the given action
Flags:
-p --port <port>
Sets the port for the server comunication. If used when starting gui, it
will disable config saves.
-a --address <address>
Sets the server address for the comunication. If used when starting gui, it
will disable config saves.
Actions:
i instance <instance-action> [--]
operates on a running instance of uamp
h help -h -? --help
shows help, with no argument whole help, with arguments only help specific
to the given option.
Available options are: basic, i instance
Instance actions:
info
Shows the info about the playback of the currently runing instance.
play-pause pp[=(play|pause)]
Play or pause, when without argument, toggle between the states
playing and paused.
volume-up vol-up vu[=<f32>]
Increase the volume by the given amount. If the parameter is not
present, increase by the default amount
volume-down vol-down vd[=<f32>]
Decrease the volume by the given amount. If the parameter is not
present, decrease by the default amount
next-song ns[=<usize>]
Jump to the next song, arguments specifies how much to jump (e.g.
with argument '2' skips one song and plays the next).
previous-song ps[=<usize>]
Jump to the previous song, arguments specifies how much to jump
(e.g. with argument '2' skips the previous song and plays the
second previous song).
volume vol v=<f32>
Set the volume to the given value. Value must be in range from 0 to 1
mute[=<bool>]
Mute/Unmute, if the argument is not specified, toggles between
the states
load-songs
Look for new songs.
shuffle-playlist shuffle
Shuffles the current playlist.
exit close x
Exits the instance
seek-to seek=<Duration>
Seeks to the given timestamp. Timestamp is in format 'h:m:s'.
fast-forward ff[=<Duration>]
Seeks forward by the given amout in seconds. If the parameter is not
present, seek by the default amount.
rewind rw[=<Duration>]
Seeks backward by the given amout in seconds. If the parameter is not
present, seek by the default amount.
save
Triggers save (saves only if there is change)
To use the player you have to compile it yourself, but that shouldn't be any
problem because all you need is cargo
:
cargo build -r
the binary will be ./target/release/uamp
. It doesn't depend on any other
files.
- Author: BonnyAD9
- GitHub repository: BonnyAD9/makemake-rs
- My website: bonnyad9.github.io