A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1use std::{env, thread};
2
3use anyhow::Error;
4use opener::open;
5use owo_colors::OwoColorize;
6use rockbox::{install_rockboxd, wait_for_rockboxd};
7
8use super::start::*;
9
10pub fn webui() -> Result<(), Error> {
11 let port = env::var("ROCKBOX_UI_PORT").unwrap_or_else(|_| "6062".to_string());
12 install_rockboxd()?;
13
14 let handle = thread::spawn(|| match start(false) {
15 Ok(_) => {}
16 Err(e) => {
17 eprintln!("Failed to start Rockbox server: {}", e);
18 }
19 });
20
21 wait_for_rockboxd(port.parse()?, None)?;
22 match open(format!("http://localhost:{}", port)) {
23 Ok(_) => {}
24 Err(_) => println!(
25 "Open this link in your browser {}",
26 format!("http://localhost:{}", port).purple()
27 ),
28 };
29 handle.join().unwrap();
30 Ok(())
31}