65 lines
2.4 KiB
Markdown
65 lines
2.4 KiB
Markdown
# iradio
|
|
|
|
A terminal internet radio player built with Rust. Streams stations from [radio-browser.info](https://www.radio-browser.info) and plays them via `mpv`.
|
|
|
|
## Requirements
|
|
|
|
- [Rust / Cargo](https://rustup.rs)
|
|
- [`mpv`](https://mpv.io) — must be installed and on `PATH`
|
|
|
|
## Build & Run
|
|
|
|
```bash
|
|
cargo build --release
|
|
cargo run
|
|
```
|
|
|
|
## Features
|
|
|
|
- Browse stations from Germany, Austria, and the US
|
|
- Live search (filters by name and tags)
|
|
- Now-playing display with song history
|
|
- Favorite stations — persisted to `~/.config/iradio/favorites.json`
|
|
|
|
## Keybindings
|
|
|
|
### Normal mode
|
|
|
|
| Key | Action |
|
|
|-----------|-------------------------------|
|
|
| `j` / `↓` | Move down |
|
|
| `k` / `↑` | Move up |
|
|
| `Ctrl-D` | Scroll down half page |
|
|
| `Ctrl-U` | Scroll up half page |
|
|
| `Enter` | Play selected station |
|
|
| `s` | Stop playback |
|
|
| `f` | Toggle favorite on selection |
|
|
| `Tab` | Toggle All / Favorites view |
|
|
| `/` | Enter search mode |
|
|
| `Esc` | Clear active search filter |
|
|
| `q` | Quit |
|
|
|
|
### Search mode
|
|
|
|
| Key | Action |
|
|
|---------|-------------------------------------|
|
|
| typing | Filter station list live |
|
|
| `Enter` | Confirm filter, return to Normal |
|
|
| `Esc` | Clear filter, return to Normal |
|
|
|
|
## Layout
|
|
|
|
```
|
|
┌─────────────────────┬──────────────────────────────┐
|
|
│ Search [/] │ Info (now playing) │
|
|
├─────────────────────┼──────────────────────────────┤
|
|
│ │ │
|
|
│ Stations [All] │ Played Songs │
|
|
│ ★ NDR 2 │ Song title... │
|
|
│ SWR3 │ ... │
|
|
│ ... │ │
|
|
└─────────────────────┴──────────────────────────────┘
|
|
```
|
|
|
|
Favorites are marked with `★` in the station list. Press `Tab` to show only favorited stations (`Stations [★ Fav]`).
|