Go to file
Ivan Bushchik ff52e14863
0.5.0: FLAC support, new GUI player, volume settings
Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
2024-05-30 07:40:04 +03:00
lonelyradio_types 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
microserve 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
monoclient 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
monoclient-s 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
monolib 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
monoloader 0.4.0: XOR encryption + memory optimization 2024-05-16 16:21:53 +03:00
platform 0.3.0: send audio by fragments, use crossterm in monoclient 2024-03-24 13:24:48 +03:00
src 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
.gitignore Add basic SwiftUI client 2024-03-04 16:15:22 +03:00
.rustfmt.toml 0.1.0: Initial commit 2024-01-28 20:19:45 +03:00
Cargo.lock 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
Cargo.toml 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00
LICENSE 0.1.0: Initial commit 2024-01-28 20:19:45 +03:00
README.md 0.5.0: FLAC support, new GUI player, volume settings 2024-05-30 07:40:04 +03:00

lonelyradio

Broadcast audio over the internet.

Decodes audio streams using symphonia.

Optionally transcodes audio into and from FLAC using flacenc-rs and claxon.

Installation

Install music server

cargo install --git https://github.com/ivabus/lonelyradio --tag 0.5.0 lonelyradio

Install CLI client

cargo install --git https://github.com/ivabus/lonelyradio --tag 0.5.0 monoclient

Install GUI (Slint) client

cargo install --git https://github.com/ivabus/lonelyradio --tag 0.5.0 monoclient-s

Run

lonelyradio [-a <ADDRESS:PORT>] [-p|--public-log] [-w|--war] [-m|--max-samplerate M] [--xor-key-file FILE] [--no-resampling] [-f|--flac] <MUSIC_FOLDER>

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

--xor-key-file FILE will XOR all outgoing bytes looping through FILE

-f|--flac will enable (experimental) FLAC compression

Clients

monoclient is a recommended CLI player for lonelyradio that uses monolib

monoclient <SERVER>:<PORT>

monoclient-s is a experimental GUI player for lonelyradio built with Slint

monoclient-s

Desktop integration will be added later.

Other clients

SwiftUI client is availible in platform directory.

monoloader is a tool, that allows you to download individual audio tracks from lonelyradio-compatible servers.

monolib provides a C API compatible with lonelyradio for creating custom clients.

monolib API stability

As lonelyradio has not yet reached its first major release, the API may (and will) break at any point.

Microphone server

Experimental server (lonelyradio-compatible) for streaming audio from your microphone is available in the microserve crate.

License

lonelyradio, monolib and monoclient, as well as all other crates in this repository, are licensed under the terms of the MIT license.