Unofficial Pandora terminal client written in Rust.
Some modules of the terminal client uses modules that depend on some C libraries for dynamic linking.
If everything is installed, a simple cargo run
with the nightly compiler should suffice for testing the player.
This an app that I'm building during my free time. It will consist of the following main components (most to least important):
- API interaction (pandora-rs).
- Audio playback.
- Text-based user interface (TUI).
- User Settings.
Local crates for components can be found at src/lib.
Most of the work for this module is already done. It interacts with the API in a very rusty way using hyper; all the requests/responses are serialized/deserialized using serde and serde_json. The pandora-rs module interacts with the API found here.
For audio decoding I made a small C library with Rust bindings based on ffmpeg 2.8 called Earwax. For audio playpack I'm using libao with safe ffi bindings.
Simple interface made with ncurses. This would be the "main" Dobro application, and it builds on the lower-level components.
After everything else is done. Should load from simple configuration files (preferably in toml format).