summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2024-05-31 14:59:25 +0200
committerYuval Adam <_@yuv.al>2024-05-31 14:59:25 +0200
commit4a4c5b9174cf0182d4eb755f5d97ca432e5960ca (patch)
treee0d49598fa09ed0ad859b9afb95ea4b88e51d04f /src/main.rs
parent10976b7bdfcdb57724d9e2b1dedd2c172b0b5973 (diff)
Add multiple backend support
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index aa9f938..e18b909 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,8 +1,9 @@
use crate::channels::Channel;
+use audio::AudioBackend;
use inquire::{InquireError, Select};
use spinners::{Spinner, Spinners};
-use std::process::Command;
+mod audio;
mod channels;
fn main() {
@@ -15,12 +16,9 @@ fn main() {
match ans {
Ok(ch) => {
- let _sp = Spinner::new(Spinners::Arrow3, format!("Playing {}", ch));
+ let _sp = Spinner::new(Spinners::Arrow3, format!("Playing {}", ch.title));
let url = format!("https://api.somafm.com/{}.pls", ch.id);
- Command::new("mpv")
- .args([url])
- .output()
- .expect("Failed to start mpv, make sure it is installed.");
+ audio::get_backend().play(&url);
}
Err(_e) => {
println!("\nNo channel selected, exiting.");