|
||
---|---|---|
.github/workflows | ||
docs | ||
lonelyradio_types | ||
monoclient | ||
monoclient-s | ||
monoclient-x | ||
monolib | ||
monoloader | ||
src | ||
.dockerignore | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
LICENSE | ||
README.md |
lonelyradio Music Streamer
Shuffles through your XSPF playlists or your entire library.
Decodes audio streams using symphonia (supported decoders and demuxers)
Streams music using FLAC, ALAC, Vorbis or raw PCM on client’s requests.
Install server
cargo install --git https://github.com/ivabus/lonelyradio --tag 0.7.0 lonelyradio
Run
lonelyradio <MUSIC_FOLDER>
All files (recursively) will be shuffled and played back. Log will be displayed to stdout.
Look into --help
for detailed info
Run in Docker
docker run -d \
--name lonelyradio \
--restart=unless-stopped \
-v /path/to/music:/music \
-p 5894:5894 \
ivabuz/lonelyradio:latest
Playlists
Specify a directory with playlists with --playlist-dir
. lonelyradio will scan them on startup and play them on clients’ requests.
Only the <location>
and (playlist's) element would be used and only file://
is supported.
Clients
monoclient-x
monoclient-x is a SwiftUI player for lonelyradio for iOS/iPadOS/macOS
Build
- Build monolib with xcframework
- Build monoclient-x using Xcode or
xcodebuild
monoclient-s
monoclient-s is a GUI player for lonelyradio built with Slint
Install
cargo install --git https://github.com/ivabus/lonelyradio --tag 0.7.0 monoclient-s
You may need to install some dependencies for Slint.
Desktop integration will be added later.
monoclient
monoclient is a CLI player for lonelyradio that uses monolib
Install monoclient
cargo install --git https://github.com/ivabus/lonelyradio --tag 0.7.0 monoclient
Usage
monoclient <SERVER>:<PORT>
Look into --help
for detailed info on usage.
Other things
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.
[Protocol documentation] shortly describes the protocol used in lonelyradio. Please refer to monolib and verify custom clients with the reference lonelyradio server.
monolib API stability
As lonelyradio has not yet reached its first major release, the API may (and will) break at any point.
License
lonelyradio, monolib and monoclient, as well as all other crates in this repository, are licensed under the terms of the MIT license.