update to latest libraries

This commit is contained in:
Gabor Körber 2024-06-08 00:19:46 +02:00
parent 7b5ee1f397
commit fe3700b751
8 changed files with 398 additions and 777 deletions

1092
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -7,13 +7,13 @@ default-run = "soundboard"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
axum = "0.6.18"
axum-template = { version = "0.19.0", features = ["minijinja"] }
axum = "0.7.5"
axum-template = { version = "2.3.0", features = ["minijinja"] }
cpal = "0.15.2"
dotenvy = "0.15.7"
enigo = "0.1.3"
enigo = "0.2.1"
log = "0.4.20"
minijinja = { version = "1.0.3", features = ["loader"] }
minijinja = { version = "2.0.1", features = ["loader"] }
minimp3 = "0.5.1"
mp3-duration = "0.1.10"
regex = "1.9.0"
@ -24,7 +24,7 @@ xxhash-rust = { version = "0.8.6", features = ["xxh3", "const_xxh3"] }
strinto = { path = "./strinto" }
eframe = "0.27.2"
tray-item = "0.10"
winit = "0.25"
winit = "0.30"
once_cell = "1.19.0"
tray-icon = "0.14.3"
raw-window-handle = "0.6.2"
@ -33,7 +33,7 @@ raw-window-handle = "0.6.2"
embed-resource = "2.3"
[dependencies.windows]
version = "0.56.0"
version = "0.57.0"
features = [
"Data_Xml_Dom",
"Win32_Foundation",

View File

@ -9,7 +9,7 @@ use std::{
sync::{Arc, Mutex},
thread,
};
use tokio::sync::mpsc;
use tokio::{net::TcpListener, sync::mpsc};
#[derive(Debug, Clone)]
struct AppState {
@ -64,15 +64,10 @@ async fn run_server(app_state: AppState, mut rx: mpsc::Receiver<ServerSettings>)
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 => {},
Some(new_settings) = rx.recv() => {
println!("Received new settings: {:?}", new_settings);
// Here you can handle updates to server settings as needed
}
}
server.await.unwrap();
}
}

View File

@ -9,8 +9,8 @@ use std::{
sync::{Arc, Mutex},
thread,
};
use tokio::sync::mpsc;
use tokio::task::JoinHandle;
use tokio::{net::TcpListener, sync::mpsc};
#[derive(Debug, Clone)]
struct AppState {
@ -105,15 +105,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
let app = Router::new()
.route("/", get(home))
.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
tokio::select! {
_ = server => {},
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
println!("Server shutdown signal received");
}
}
server.await.unwrap();
})
}

View File

@ -12,8 +12,8 @@ use std::{
},
thread,
};
use tokio::sync::mpsc;
use tokio::task::JoinHandle;
use tokio::{net::TcpListener, sync::mpsc};
use tray_item::TrayItem;
#[derive(Debug, Clone)]
@ -148,15 +148,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
let app = Router::new()
.route("/", get(home))
.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
tokio::select! {
_ = server => {},
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
println!("Server shutdown signal received");
}
}
server.await.unwrap();
})
}

View File

@ -7,8 +7,8 @@ use std::{
sync::{Arc, Mutex},
thread,
};
use tokio::sync::mpsc;
use tokio::task::JoinHandle;
use tokio::{net::TcpListener, sync::mpsc};
use tray_item::TrayItem;
#[derive(Debug, Clone)]
@ -116,15 +116,10 @@ fn start_server(app_state: &AppState) -> JoinHandle<()> {
let app = Router::new()
.route("/", get(home))
.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
tokio::select! {
_ = server => {},
_ = monitor_shutdown(server_app_state.should_run.clone()) => {
println!("Server shutdown signal received");
}
}
server.await;
})
}

View File

@ -3,7 +3,7 @@ use crate::state::AppState;
use axum::{routing, Router};
use serde::{Deserialize, Serialize};
use std::net::SocketAddr;
use tokio::sync::mpsc;
use tokio::{net::TcpListener, sync::mpsc};
#[derive(Debug, Clone, Serialize, Deserialize)]
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("/stop", routing::get(handlers::stop_handler))
.with_state(server_app_state.clone());
axum::Server::bind(&addr)
.serve(app.into_make_service())
.await
let listener = TcpListener::bind(&addr).await.unwrap();
axum::serve(listener, app.into_make_service()).await
});
let server_abort_handle = server_handle.abort_handle();

View File

@ -136,18 +136,23 @@ pub mod example_handler {
impl PressMouseForward {
pub fn new() -> Self {
let enigo = Enigo::new();
let enigo_settings = Settings::default();
let enigo = Enigo::new(&enigo_settings).unwrap();
PressMouseForward { enigo: enigo }
}
}
impl super::PlaybackAction for PressMouseForward {
fn before_playback(&mut self) {
self.enigo.mouse_down(MouseButton::Forward);
self.enigo
.button(Button::Forward, Direction::Press)
.unwrap();
}
fn after_playback(&mut self) {
self.enigo.mouse_up(MouseButton::Forward);
self.enigo
.button(Button::Forward, Direction::Release)
.unwrap();
}
}
}