radio-cli
A simple radio CLI written in rust.
NEW: Now it can search for any radio station! Just select the "Other" option to be prompted for the search.
Warning! (DEPENDENCIES)
- Needed:
mpv
is called to play the audio/video. (See the How it works section). - Optional dependency: To play youtube music you need to have
yt-dlp
oryoutube-dl
installed!
Contributing and code of conduct
Please, take a look at the Contributing and Code of Conduct guidelines
Usage
To use it, just type radio-cli
after installing it and the program will guide you.
When playing music, you can use the mpv keybindings to control it (spacebar to play/pause, etc).
You can add a country to your config (optional) and search for any radio station!
Installation
- On Arch (and derivatives such as Manjaro), you can just install it through the AUR package called radio-cli-bin. If you have an AUR helper:
$ yay -S radio-cli-bin
Note: radio-cli-git is now unsupported
- On other systems you can:
- Install it manually, without automatic update capabilities:
git clone https://github.com/margual56/radio-cli.git radio-cli cd radio-cli cargo build --release sudo cp "./target/release/radio-cli" "/usr/bin/radio" mkdir -p "${XDG_CONFIG_HOME}/radio-cli/" cp "./config.json" "${XDG_CONFIG_HOME}/radio-cli/"
- Install it through cargo:
cargo install --git https://github.com/margual56/radio-cli
- Install it manually, without automatic update capabilities:
How it works...
...is very simple. The idea is to have a compilation of radio stations in the config file and have a tool to be able to easily select one or the other.
The rest is thanks to the wonderful and amazing mpv player. mpv is the one that does all the heavy-lifting and plays whatever you throw at it.
Let's say this is just a cli frontend for playing things on mpv 😄, kinda like ani-cli but without search functionalities and focused on radio stations.
If the station you want was not defined in the config, you will be able to search for it!
Configurability
As said before, this app is just a compilation of radios + a search prompt for online radios. It can be found in the config file as a JSON, with a list of station names and their URLs.
Of course you can add literally WHATEVER you want, even youtube videos (again, all thanks to mpv).
Otherwise, you can just use the online search functionality.
Fork me!
If you (wrongfully xD) think mpv is not the best player, go ahead, fork me and change it :)
The license is GPLv2
Planned features
Don't be surprised if these are not implemented in the end hehe (if there is no interest in the project, certainly not)
-
Audio (mpv) controls when not in verbose mode - Loop to selection list when pressing
q
while playing -
Some kind of online updating of the list of stations(kind of) -
Code optimizations/beautification -
Search international online radios - Languages:
-
English - Spanish
- Others(?)
-
-
An AUR installer
Honorable mentions
- A BIG thank you to the amazing developer/s of Radio Browser and its wonderful API and rust library.