lonelyradio/README.md
Ivan Bushchik e0b7f60b69
0.4.0: XOR encryption + memory optimization
- 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>
2024-05-20 15:22:54 +03:00

1 KiB

lonelyradio

TCP radio for singles

Radio that uses unencrypted TCP socket for broadcasting tagged audio data.

Decodes audio streams using symphonia.

Install

cargo install lonelyradio

Build

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 is a recommended CLI client for lonelyradio that uses monolib

monoclient <SERVER>:<PORT>

Other clients

SwiftUI client is availible in platform directory.

monolib provides lonelyradio-compatible C API for creating custom clients.

License

lonelyradio, monolib and monoclient are licensed under the terms of the MIT license.