update to latest libraries
This commit is contained in:
parent
7b5ee1f397
commit
fe3700b751
1092
Cargo.lock
generated
1092
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
12
Cargo.toml
@ -7,13 +7,13 @@ default-run = "soundboard"
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
axum = "0.6.18"
|
axum = "0.7.5"
|
||||||
axum-template = { version = "0.19.0", features = ["minijinja"] }
|
axum-template = { version = "2.3.0", features = ["minijinja"] }
|
||||||
cpal = "0.15.2"
|
cpal = "0.15.2"
|
||||||
dotenvy = "0.15.7"
|
dotenvy = "0.15.7"
|
||||||
enigo = "0.1.3"
|
enigo = "0.2.1"
|
||||||
log = "0.4.20"
|
log = "0.4.20"
|
||||||
minijinja = { version = "1.0.3", features = ["loader"] }
|
minijinja = { version = "2.0.1", features = ["loader"] }
|
||||||
minimp3 = "0.5.1"
|
minimp3 = "0.5.1"
|
||||||
mp3-duration = "0.1.10"
|
mp3-duration = "0.1.10"
|
||||||
regex = "1.9.0"
|
regex = "1.9.0"
|
||||||
@ -24,7 +24,7 @@ xxhash-rust = { version = "0.8.6", features = ["xxh3", "const_xxh3"] }
|
|||||||
strinto = { path = "./strinto" }
|
strinto = { path = "./strinto" }
|
||||||
eframe = "0.27.2"
|
eframe = "0.27.2"
|
||||||
tray-item = "0.10"
|
tray-item = "0.10"
|
||||||
winit = "0.25"
|
winit = "0.30"
|
||||||
once_cell = "1.19.0"
|
once_cell = "1.19.0"
|
||||||
tray-icon = "0.14.3"
|
tray-icon = "0.14.3"
|
||||||
raw-window-handle = "0.6.2"
|
raw-window-handle = "0.6.2"
|
||||||
@ -33,7 +33,7 @@ raw-window-handle = "0.6.2"
|
|||||||
embed-resource = "2.3"
|
embed-resource = "2.3"
|
||||||
|
|
||||||
[dependencies.windows]
|
[dependencies.windows]
|
||||||
version = "0.56.0"
|
version = "0.57.0"
|
||||||
features = [
|
features = [
|
||||||
"Data_Xml_Dom",
|
"Data_Xml_Dom",
|
||||||
"Win32_Foundation",
|
"Win32_Foundation",
|
||||||
|
@ -9,7 +9,7 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
use tokio::sync::mpsc;
|
use tokio::{net::TcpListener, sync::mpsc};
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
struct AppState {
|
struct AppState {
|
||||||
@ -64,15 +64,10 @@ async fn run_server(app_state: AppState, mut rx: mpsc::Receiver<ServerSettings>)
|
|||||||
|
|
||||||
println!("listening on {}", addr);
|
println!("listening on {}", addr);
|
||||||
|
|
||||||
let server = axum::Server::bind(&addr).serve(app.into_make_service());
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
||||||
|
let server = axum::serve(listener, app.into_make_service());
|
||||||
|
|
||||||
tokio::select! {
|
server.await.unwrap();
|
||||||
_ = server => {},
|
|
||||||
Some(new_settings) = rx.recv() => {
|
|
||||||
println!("Received new settings: {:?}", new_settings);
|
|
||||||
// Here you can handle updates to server settings as needed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
use tokio::sync::mpsc;
|
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
|
use tokio::{net::TcpListener, sync::mpsc};
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
struct AppState {
|
struct AppState {
|
||||||
@ -105,15 +105,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
|
|||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(home))
|
.route("/", get(home))
|
||||||
.with_state(server_app_state.clone());
|
.with_state(server_app_state.clone());
|
||||||
let server = axum::Server::bind(&addr).serve(app.into_make_service());
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
||||||
|
let server = axum::serve(listener, app.into_make_service());
|
||||||
|
|
||||||
// Run the server and monitor the should_run flag
|
server.await.unwrap();
|
||||||
tokio::select! {
|
|
||||||
_ = server => {},
|
|
||||||
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
|
|
||||||
println!("Server shutdown signal received");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ use std::{
|
|||||||
},
|
},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
use tokio::sync::mpsc;
|
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
|
use tokio::{net::TcpListener, sync::mpsc};
|
||||||
use tray_item::TrayItem;
|
use tray_item::TrayItem;
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
@ -148,15 +148,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
|
|||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(home))
|
.route("/", get(home))
|
||||||
.with_state(server_app_state.clone());
|
.with_state(server_app_state.clone());
|
||||||
let server = axum::Server::bind(&addr).serve(app.into_make_service());
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
||||||
|
let server = axum::serve(listener, app.into_make_service());
|
||||||
|
|
||||||
// Run the server and monitor the should_run flag
|
server.await.unwrap();
|
||||||
tokio::select! {
|
|
||||||
_ = server => {},
|
|
||||||
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
|
|
||||||
println!("Server shutdown signal received");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
use tokio::sync::mpsc;
|
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
|
use tokio::{net::TcpListener, sync::mpsc};
|
||||||
use tray_item::TrayItem;
|
use tray_item::TrayItem;
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
@ -116,15 +116,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
|
|||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(home))
|
.route("/", get(home))
|
||||||
.with_state(server_app_state.clone());
|
.with_state(server_app_state.clone());
|
||||||
let server = axum::Server::bind(&addr).serve(app.into_make_service());
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
||||||
|
let server = axum::serve(listener, app.into_make_service());
|
||||||
|
|
||||||
// Run the server and monitor the should_run flag
|
server.await;
|
||||||
tokio::select! {
|
|
||||||
_ = server => {},
|
|
||||||
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
|
|
||||||
println!("Server shutdown signal received");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ use crate::state::AppState;
|
|||||||
use axum::{routing, Router};
|
use axum::{routing, Router};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
use tokio::sync::mpsc;
|
use tokio::{net::TcpListener, sync::mpsc};
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct ServerSettings {
|
pub struct ServerSettings {
|
||||||
@ -45,10 +45,8 @@ pub async fn run_server(app_state: AppState, mut rx: mpsc::Receiver<ServerMessag
|
|||||||
.route("/play/:hash", routing::get(handlers::play_handler))
|
.route("/play/:hash", routing::get(handlers::play_handler))
|
||||||
.route("/stop", routing::get(handlers::stop_handler))
|
.route("/stop", routing::get(handlers::stop_handler))
|
||||||
.with_state(server_app_state.clone());
|
.with_state(server_app_state.clone());
|
||||||
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
||||||
axum::Server::bind(&addr)
|
axum::serve(listener, app.into_make_service()).await
|
||||||
.serve(app.into_make_service())
|
|
||||||
.await
|
|
||||||
});
|
});
|
||||||
let server_abort_handle = server_handle.abort_handle();
|
let server_abort_handle = server_handle.abort_handle();
|
||||||
|
|
||||||
|
@ -136,18 +136,23 @@ pub mod example_handler {
|
|||||||
|
|
||||||
impl PressMouseForward {
|
impl PressMouseForward {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
let enigo = Enigo::new();
|
let enigo_settings = Settings::default();
|
||||||
|
let enigo = Enigo::new(&enigo_settings).unwrap();
|
||||||
PressMouseForward { enigo: enigo }
|
PressMouseForward { enigo: enigo }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl super::PlaybackAction for PressMouseForward {
|
impl super::PlaybackAction for PressMouseForward {
|
||||||
fn before_playback(&mut self) {
|
fn before_playback(&mut self) {
|
||||||
self.enigo.mouse_down(MouseButton::Forward);
|
self.enigo
|
||||||
|
.button(Button::Forward, Direction::Press)
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_playback(&mut self) {
|
fn after_playback(&mut self) {
|
||||||
self.enigo.mouse_up(MouseButton::Forward);
|
self.enigo
|
||||||
|
.button(Button::Forward, Direction::Release)
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user