mirror of
https://github.com/ivabus/lonelyradio
synced 2024-11-10 02:25:17 +03:00
Ivan Bushchik
39cc35e16d
- Optional XOR encryption is now available in lonelyradio and monolib - lonelyradio was optimized to use less TCP calls and less memory copies - New program: monoloader - music downloader for lonelyradio - New monolib function - get_track() for downloading track (as samples), not playing - lonelyradio and monolib are using extensible Writer and Reader enums to provide ability to use lonelyradio with different transport protocols or encryption - Add lonelyradio_types crate to share types Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
48 lines
1 KiB
Markdown
48 lines
1 KiB
Markdown
# lonelyradio
|
|
|
|
> TCP radio for singles
|
|
|
|
Radio that uses unencrypted TCP socket for broadcasting tagged audio data.
|
|
|
|
Decodes audio streams using [symphonia](https://github.com/pdeljanov/Symphonia).
|
|
|
|
## Install
|
|
|
|
```shell
|
|
cargo install lonelyradio
|
|
```
|
|
|
|
## Build
|
|
|
|
```shell
|
|
cargo build -r
|
|
```
|
|
|
|
## Run
|
|
|
|
```
|
|
lonelyradio <MUSIC_FOLDER> [-a <ADDRESS:PORT>] [-p] [-w] [-m|--max-samplerate M]
|
|
```
|
|
|
|
All files (recursively) will be shuffled and played back. Public log will be displayed to stdout, private to stderr.
|
|
|
|
`-m|--max-samplerate M` will resample tracks which samplerate exceeds M to M
|
|
|
|
### Clients
|
|
|
|
[monoclient](./monoclient) is a recommended CLI client for lonelyradio that uses [monolib](./monolib)
|
|
|
|
```shell
|
|
monoclient <SERVER>:<PORT>
|
|
```
|
|
|
|
### Other clients
|
|
|
|
SwiftUI client is availible in [platform](./platform) directory.
|
|
|
|
[monolib](./monolib) provides lonelyradio-compatible C API for creating custom clients.
|
|
|
|
## License
|
|
|
|
lonelyradio, monolib and monoclient are licensed under the terms of the [MIT license](./LICENSE).
|