From 67090986bb31e9e4a6f477aa4253c1f229e29e58 Mon Sep 17 00:00:00 2001 From: polsevev Date: Sat, 4 Mar 2023 21:47:37 +0100 Subject: [PATCH] sound test wasm --- Cargo.lock | 32 +++++++++++++++------------ Cargo.toml | 2 +- src/GuiHookVec.rs | 6 ++---- src/main.rs | 54 ---------------------------------------------- src/test.wav | Bin 0 -> 88244 bytes 5 files changed, 21 insertions(+), 73 deletions(-) delete mode 100644 src/main.rs create mode 100644 src/test.wav diff --git a/Cargo.lock b/Cargo.lock index 0fc4423..e02620f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,10 +6,10 @@ version = 3 name = "BeepSortMacroQuad" version = "0.1.0" dependencies = [ - "async-recursion", "async-trait", "macroquad", "tokio-test", + "wav", ] [[package]] @@ -29,17 +29,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "async-recursion" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "async-stream" version = "0.3.4" @@ -99,9 +88,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "bitflags" -version = "1.3.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bumpalo" @@ -434,6 +423,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "riff" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b1a3d5f46d53f4a3478e2be4a5a5ce5108ea58b100dcd139830eae7f79a3a1" + [[package]] name = "smallvec" version = "0.6.14" @@ -513,6 +508,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wav" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65e199c799848b4f997072aa4d673c034f80f40191f97fe2f0a23f410be1609" +dependencies = [ + "riff", +] + [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index b030289..ddb59f9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,6 @@ edition = "2021" macroquad = "0.3.25" async-trait = "0.1.64" tokio-test = "*" -async-recursion = "1.0.2" +wav = "1.0.0" [profile.release] opt-level=3 diff --git a/src/GuiHookVec.rs b/src/GuiHookVec.rs index e0719f9..0d8fdea 100644 --- a/src/GuiHookVec.rs +++ b/src/GuiHookVec.rs @@ -1,7 +1,5 @@ -use std::borrow::{Borrow, BorrowMut}; -use std::ops::Add; -use std::path::Iter; + use async_trait::async_trait; use macroquad::color::{BROWN, WHITE}; use macroquad::hash; @@ -13,7 +11,7 @@ use macroquad::time::{get_frame_time, get_fps}; use macroquad::ui::root_ui; use macroquad::window::{next_frame, screen_height, screen_width}; use crate::BarPlugin::Bar; -use crate::algorithm::Algorithm; + diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index 00bb625..0000000 --- a/src/main.rs +++ /dev/null @@ -1,54 +0,0 @@ - -mod BarPlugin; -mod GuiHookVec; -mod algorithm; -mod dropdown; - -use dropdown::ButtonDropDown; -use macroquad::prelude::*; - -use macroquad::hash; -use macroquad::ui::root_ui; - - -#[macroquad::main("BeepSort")] -async fn main() { - let mut length = 1_usize; - let mut lengthString = "100".to_owned(); - - let mut delayText = "1".to_owned(); - - let mut algorithm = algorithm::Algorithm::new(); - let mut buttonDropDown = ButtonDropDown::new(&algorithm.getAlgorithms()); - loop{ - clear_background(WHITE); - - length = match lengthString.parse::(){ - Ok(a) => a, - Err(_)=> {100} - }; - - let mut centerX = screen_width()/2.0; - - - draw_text("Sorting!", centerX-170.0, screen_height()*0.1, 100.0, BLACK); - draw_text(&get_fps().to_string(), centerX + 300., 30.0, 20.0, BLACK); - root_ui().window(hash!(), Vec2::new(centerX - 150.0, 150.), Vec2::new(300., 45.), |ui|{ - ui.input_text(hash!(), "Delay (ms)", &mut delayText); - ui.input_text(hash!(), "Length Of Array!", &mut lengthString); - }); - - let mut algo = buttonDropDown.render(); - - if algo != ""{ - algorithm::Algorithm::run(length, 1.0, algo.to_string()).await; - } - next_frame().await - } - - - -} - - - diff --git a/src/test.wav b/src/test.wav new file mode 100644 index 0000000000000000000000000000000000000000..930ceaa2ae92f53b445e8f59678623cd910f0c71 GIT binary patch literal 88244 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

ud|1gtgAms4+3*IXTPBiN2ipGQ zN$|_^--Rl1|Ije3b)JeM<|GNs$we4qN5K#~AIymuV(YJU-osjl46!f6b22Wm8(&VS ztrG+0gw{F_fjK!8n6K74J1%9TO8k7uajp_4 z%t@P|;aKZ@g|<#gC9QSNVXgCWQBlDJTuzq3b0TY1)*IP#LWbC@6?0ON zGa6N5GQ@5MbCQI$&IV>q$Pl}o4Y8%+8zb+-TIZQqt1`saCdMR(dQ^$sYaO>CR@ypF zwbnVthS-iU#GVbepslkUmlKy^h%GClDzP1xlY@pKmexANoYZgYJZSyIDs3IPoDg#| z!np}+ombcp+poCXU`}*fCobgIP+IHcDdvQ##LM70@owv^K|#HKTc;zhbwc1dna9jY zOE4!{k#spZ6jB~^9j|rvVy$z{rIF?9*buvctHfP=R*8MDb@pa#$=sE7#zB`8TI*1i zI0IGUd$~&dJ`AyUfH}DkNX!WtV&BACXP;W@^ut<5Gbg@1C+@Y*cvOi^rsH5vs&F~U zLR*Kb#BD=I2d@HiLTjCeu+}-mhS-nbIeAVQV$WwwTW1w6Ct>ypYOUjaIT6pvbL=^h zwhkF$9bisqt+S#08LV}JYkotOc&1`bUgFEi6IknrA@;_^;Ym*<4^C+d=46rCyGp#& zB5R#7Ud#zqiD|8~SurQagKGn?XG84%s(h{zZ)HR5No9y_?W8L4*O|neG-QaCwT^gB zq^%={*fy>c>^TX#^b;Fmd-^xwwa$}ZPEJHV8yyVhBrtAV{BCAW+Ndh=7_(eXggNo{ zoKThcCtmBsf;qVk%t=IaTIBX{S7@gYF~pWCL+nX5#D1fglW)}Jq>P!9M;c*H+?Nwt z>yRO~Q{neTlZ#uF{$92ghFH0rY~afYF((t$T4x*9I+GN0B5R#Hu-3W9;?0~m!JLR8 zmOLj;(>7*K7BF){hS=fCbE2!nEz zTjzy{173#Mj#%pubJCjIIs*z$=8ewPhSojbLjmBC>8)C(CQk6H)t4d63o&N