Crates.io | Vibe_Player |
lib.rs | Vibe_Player |
version | 0.3.3 |
source | src |
created_at | 2023-08-05 18:15:41.653214 |
updated_at | 2024-11-04 12:25:59.390477 |
description | A music player for the Lyrion Music Server |
homepage | https://github.com/GeoffClements/Vibe |
repository | https://github.com/GeoffClements/Vibe |
max_upload_size | |
id | 936683 |
size | 82,130 |
Vibe is a music player that uses the SLIM TCP protocol to connect to a Lyrion Music Server formally known as a Logitech Media Server.
If you're looking for a well-tested, proven player then this is not it, instead you need squeezelite which has a robust, well-maintained codebase and far more run-time and compile-time options than Vibe.
However, if you'd like to give Vibe a go then please do, it should be considered as beta code and any real-world testing is welcome.
Other than pulseaudio Vibe has zero run-time dependencies, all the stream demultiplexing and codec decoding is done natively thanks to Symphonia, a big "thank-you" to the Symphonia devs for their amazing work!.
Symphonia has optimisation features that are off by default, you can switch them on
with --features symphonia/<optimisation>
. These features are:
opt-simd-sse
opt-simd-avx
opt-simd-neon
or you can switch them all on with opt-simd
.
In order to compile, you will need to install the development packages for
libpulse (this is libpulse-dev
for Ubuntu).
Vibe is 100% written in Rust and has all the benefits that Rust provides such as memory safety while being as performant as C. I wrote Vibe as an exercise to practice writing a real application in Rust. If you enjoy using it, please let me know. Equally please file any bug reports and lodge any suggestions at the home page.