a minimal tui for gensokyo radio
README.md

grrs (Gensokyo Radio Rust) #

A minimal terminal user interface for Gensokyo Radio, written in Rust.

Features #

  • Real-time music playback and metadata streaming
  • Album art rendering
  • Local library to save and manage liked tracks
  • MPRIS integration
  • Live listener count
  • Simple base16 accent cycling

Dependencies #

  • mpv: Required for the underlying audio streaming and playback.

Installation #

cargo build --release
./target/release/grrs

Controls #

  • l - Like/Unlike current song
  • m - Mute/Unmute stream
  • t - Cycle theme colors
  • Enter - Open detailed song info
  • Tab - Switch between the liked library and active player
  • ? - Show the help menu
  • q/^c - Quit

Disclaimer #

This is one of my first real projects using Rust. A significant portion of this codebase was co-written with the help of Gemini 3.1 Pro. While it works great for my use-case, the internals might not be the best Rust you've ever seen.

I don't really plan to actively maintain this project, but if issues and PRs come up, I'll try to address them. My main goal was simply to get a working TUI rolling for Gensokyo Radio. If you like the concept and want to improve the code or add features, I encourage you to feel free to fork it and make it your own!