1use std::env;
2
3use boppo_core::color;
4use boppo_websocket::{
5 ButtonEvents,
6 audio::{play, stop_all_sounds},
7 connect_and_setup_globals,
8};
9
10#[tokio::main]
11async fn main() {
12 if env::args().len() != 3 {
13 panic!("usage: simple <hostname> <password>");
14 }
15 let url = env::args().nth(1).unwrap();
16 let password = env::args().nth(2).unwrap();
17 connect_and_setup_globals(&url, &password)
18 .await
19 .expect("failed to connect");
20
21 let mut button_events = ButtonEvents::subscribe();
22 loop {
23 let event = button_events.next().await;
24 if event.is_pressed() {
25 event.button().set_color(color::BLUE);
26 stop_all_sounds().await.ok();
27 play("/effects/snare.qoa").await.ok();
28 } else {
29 event.button().set_color(color::OFF);
30 }
31 }
32}