Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/BonnyAD9/uamp
Universal Advanced Music Player written in Rust using Iced.
https://github.com/BonnyAD9/uamp
iced-rs music-player rust
Last synced: about 7 hours ago
JSON representation
Universal Advanced Music Player written in Rust using Iced.
- Host: GitHub
- URL: https://github.com/BonnyAD9/uamp
- Owner: BonnyAD9
- License: gpl-3.0
- Created: 2023-05-12T16:25:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-13T15:14:44.000Z (2 months ago)
- Last Synced: 2024-09-14T05:00:57.751Z (2 months ago)
- Topics: iced-rs, music-player, rust
- Language: Rust
- Homepage:
- Size: 766 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# uamp
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](https://github.com/BonnyAD9/uamp/tree/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.## Configuration
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`.
## Global shortcuts
If you enable shortcuts in the configuration, this is what they are:
- **`Ctrl` + `Alt` + `Home`:** Play/Pause
- **`Ctrl` + `Alt` + `PgUp`:** Previous song
- **`Ctrl` + `Alt` + `PgDown`:** Next song
- **`Ctrl` + `Alt` + `Up`:** Volume up
- **`Ctrl` + `Alt` + `Down`:** Volume down
- **`Ctrl` + `Alt` + `Left`:** Rewind
- **`Ctrl` + `Alt` + `Right`:** Fast forward
You can customize the shortcuts in `config.json`## CLI
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.0Usage:
uamp
starts the gui of the playeruamp [action] [--] [action] ... [flags]
does the given actionFlags:
-p --port
Sets the port for the server comunication. If used when starting gui, it
will disable config saves.-a --address
Sets the server address for the comunication. If used when starting gui, it
will disable config saves.Actions:
i instance [--]
operates on a running instance of uamph help -h -? --help
shows help, with no argument whole help, with arguments only help specific
to the given option.
Available options are: basic, i instanceInstance 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[=]
Increase the volume by the given amount. If the parameter is not
present, increase by the default amountvolume-down vol-down vd[=]
Decrease the volume by the given amount. If the parameter is not
present, decrease by the default amountnext-song ns[=]
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[=]
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=
Set the volume to the given value. Value must be in range from 0 to 1mute[=]
Mute/Unmute, if the argument is not specified, toggles between
the statesload-songs
Look for new songs.shuffle-playlist shuffle
Shuffles the current playlist.exit close x
Exits the instanceseek-to seek=
Seeks to the given timestamp. Timestamp is in format 'h:m:s'.fast-forward ff[=]
Seeks forward by the given amout in seconds. If the parameter is not
present, seek by the default amount.rewind rw[=]
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)
```## How it looks
![image](https://github.com/BonnyAD9/uamp/assets/46282097/639c9849-f0f2-4fad-91f3-949ef68e9a3e)## How to get it
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.## Links
- **Author:** [BonnyAD9](https://github.com/BonnyAD9)
- **GitHub repository:** [BonnyAD9/makemake-rs](https://github.com/BonnyAD9/uamp)
- **My website:** [bonnyad9.github.io](https://bonnyad9.github.io/)