[INFO] cloning repository https://github.com/JackDraak/Arrvee [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JackDraak/Arrvee" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FArrvee", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FArrvee'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e89814f069fb95db2c1e6131b6edc4dd09b24178 [INFO] checking JackDraak/Arrvee against master#b3f8586fb1e4859678d6b231e780ff81801d2282 for pr-147589 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FArrvee" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/JackDraak/Arrvee [INFO] finished tweaking git repo https://github.com/JackDraak/Arrvee [INFO] tweaked toml for git repo https://github.com/JackDraak/Arrvee written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/JackDraak/Arrvee on toolchain b3f8586fb1e4859678d6b231e780ff81801d2282 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/JackDraak/Arrvee already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.53 [INFO] [stderr] Downloaded symphonia-codec-pcm v0.5.4 [INFO] [stderr] Downloaded symphonia-codec-adpcm v0.5.4 [INFO] [stderr] Downloaded extended v0.1.0 [INFO] [stderr] Downloaded symphonia-format-riff v0.5.4 [INFO] [stderr] Downloaded egui-winit v0.28.1 [INFO] [stderr] Downloaded oorandom v11.1.5 [INFO] [stderr] Downloaded egui-wgpu v0.28.1 [INFO] [stderr] Downloaded toml_edit v0.23.6 [INFO] [stderr] Downloaded cc v1.2.38 [INFO] [stderr] Downloaded polling v3.11.0 [INFO] [stderr] Downloaded serde_derive v1.0.226 [INFO] [stderr] Downloaded asio-sys v0.2.2 [INFO] [stderr] Downloaded symphonia-codec-aac v0.5.4 [INFO] [stderr] Downloaded serde v1.0.226 [INFO] [stderr] Downloaded parse_cfg v4.1.1 [INFO] [stderr] Downloaded symphonia-bundle-flac v0.5.4 [INFO] [stderr] Downloaded symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Downloaded symphonia-format-mkv v0.5.4 [INFO] [stderr] Downloaded widestring v1.2.0 [INFO] [stderr] Downloaded serde_core v1.0.226 [INFO] [stderr] Downloaded rustfft v6.4.1 [INFO] [stderr] Downloaded web-sys v0.3.80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 626c0dd9ce4622ae727df55a29b8ad3bde83702f220f8f8fb8e5f5335c021541 [INFO] running `Command { std: "docker" "start" "-a" "626c0dd9ce4622ae727df55a29b8ad3bde83702f220f8f8fb8e5f5335c021541", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "626c0dd9ce4622ae727df55a29b8ad3bde83702f220f8f8fb8e5f5335c021541", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "626c0dd9ce4622ae727df55a29b8ad3bde83702f220f8f8fb8e5f5335c021541", kill_on_drop: false }` [INFO] [stdout] 626c0dd9ce4622ae727df55a29b8ad3bde83702f220f8f8fb8e5f5335c021541 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9da1497a40c9e401dd00359ba8a5d9751ac1eda7a71d1059c8871ae28c6c2a0 [INFO] running `Command { std: "docker" "start" "-a" "c9da1497a40c9e401dd00359ba8a5d9751ac1eda7a71d1059c8871ae28c6c2a0", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Compiling cc v1.2.38 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Compiling serde_core v1.0.226 [INFO] [stderr] Checking rustix v0.38.44 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling serde v1.0.226 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling wgpu-hal v0.21.1 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking ash v0.37.3+1.3.251 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Compiling wgpu-core v0.21.1 [INFO] [stderr] Checking wgpu-types v0.20.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling wgpu v0.20.1 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking memmap2 v0.9.8 [INFO] [stderr] Checking khronos-egl v6.0.0 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Checking extended v0.1.0 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Checking ogg v0.8.0 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Checking clap_builder v4.5.48 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking primal-check v0.3.4 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking transpose v0.2.3 [INFO] [stderr] Checking alsa v0.9.1 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking claxon v0.4.3 [INFO] [stderr] Checking lewton v0.10.2 [INFO] [stderr] Checking hound v3.5.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking futures-intrusive v0.5.0 [INFO] [stderr] Checking rustfft v6.4.1 [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking glam v0.27.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.226 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking naga v0.20.0 [INFO] [stderr] Checking symphonia-core v0.5.4 [INFO] [stderr] Checking emath v0.28.1 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking clap v4.5.48 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking gethostname v1.0.2 [INFO] [stderr] Checking ecolor v0.28.1 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking calloop v0.12.4 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking epaint v0.28.1 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking symphonia-metadata v0.5.4 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.4 [INFO] [stderr] Checking symphonia-codec-adpcm v0.5.4 [INFO] [stderr] Checking symphonia-codec-aac v0.5.4 [INFO] [stderr] Checking egui v0.28.1 [INFO] [stderr] Checking wayland-client v0.31.11 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.3 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.4 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.4 [INFO] [stderr] Checking symphonia-format-riff v0.5.4 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking symphonia-format-ogg v0.5.4 [INFO] [stderr] Checking symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Checking symphonia-format-mkv v0.5.4 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.4 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.4 [INFO] [stderr] Checking symphonia v0.5.4 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking rodio v0.18.1 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking wayland-cursor v0.31.11 [INFO] [stderr] Checking calloop-wayland-source v0.2.0 [INFO] [stderr] Checking wayland-protocols v0.32.9 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking webbrowser v1.0.5 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking wayland-protocols-plasma v0.2.0 [INFO] [stderr] Checking smithay-client-toolkit v0.18.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.9 [INFO] [stderr] Checking sctk-adwaita v0.8.3 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking smithay-clipboard v0.7.2 [INFO] [stderr] Checking egui-winit v0.28.1 [INFO] [stderr] Checking egui-wgpu v0.28.1 [INFO] [stderr] Checking arrvee-visualizer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GpuAudioAnalyzer` and `GpuAudioFeatures` [INFO] [stdout] --> src/audio/mod.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub use gpu_analyzer::{GpuAudioAnalyzer, GpuAudioFeatures}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `playback::AudioPlayback` [INFO] [stdout] --> src/audio/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use playback::AudioPlayback; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::GraphicsEngine` [INFO] [stdout] --> src/graphics/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use engine::GraphicsEngine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `playback::AudioPlayback` [INFO] [stdout] --> src/audio/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use playback::AudioPlayback; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `playback::AudioPlayback` [INFO] [stdout] --> src/audio/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use playback::AudioPlayback; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData` and `PrescanProcessor` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `playback::AudioPlayback` [INFO] [stdout] --> src/audio/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use playback::AudioPlayback; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::GraphicsEngine` [INFO] [stdout] --> src/graphics/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use engine::GraphicsEngine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GpuAudioAnalyzer` and `GpuAudioFeatures` [INFO] [stdout] --> src/audio/mod.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub use gpu_analyzer::{GpuAudioAnalyzer, GpuAudioFeatures}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData` and `PrescanProcessor` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PrescanData`, `PrescanProcessor`, and `SynchronizedPlayback` [INFO] [stdout] --> src/audio/mod.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | pub use prescan::{PrescanData, SynchronizedPlayback, PrescanProcessor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arv_format::ArvFormat` [INFO] [stdout] --> src/audio/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use arv_format::ArvFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/playback.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_prescan_frame` and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `psychedelic_manager_mut`, `psychedelic_manager`, `cleanup`, `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:393:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `renderer`, `show_controls`, `volume`, and `selected_preset` are never read [INFO] [stdout] --> src/ui/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct UserInterface { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | context: egui::Context, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | state: State, [INFO] [stdout] 12 | renderer: Renderer, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | show_controls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 14 | volume: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | selected_preset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `render`, `ui_content`, `volume`, and `selected_preset` are never used [INFO] [stdout] --> src/ui/mod.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl UserInterface { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn ui_content(ctx: &egui::Context, show_controls: &mut bool, volume: &mut f32, selected_preset: &mut usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn volume(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn selected_preset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `convert_to_audio_frame`, `get_current_audio_chunk`, `get_full_audio_buffer`, and `set_sensitivity` are never used [INFO] [stdout] --> src/audio/playback.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `pack_float`, `unpack_float`, `pack_beat_strength`, `unpack_beat_strength`, `from_prescan_frame`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sensitivity_factor` is never read [INFO] [stdout] --> src/audio/playback.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | sensitivity_factor: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `pack_float`, `unpack_float`, `pack_beat_strength`, `unpack_beat_strength`, `from_prescan_frame`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sensitivity_factor` is never read [INFO] [stdout] --> src/audio/playback.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | sensitivity_factor: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | // Compute pipelines [INFO] [stdout] 7 | fft_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | feature_extraction_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | beat_detection_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | audio_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | features_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | time_data_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | output_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fft_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | features_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | beat_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | sample_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | buffer_size: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | start_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | frame_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | last_beat_time: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze` is never used [INFO] [stdout] --> src/audio/gpu_analyzer.rs:333:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 333 | pub async fn analyze(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, audio_data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_prescan_frame` is never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv` and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn normalize(&mut self, raw: &RawAudioFeatures) -> NormalizedAudioFeatures { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn normalize_value(&self, value: f32, max_value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn effective_parameters(&self) -> NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn update_observed_ranges(&mut self, raw: &RawAudioFeatures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 49 | /// Extract raw features before normalization by replicating CPU analyzer logic [INFO] [stdout] 50 | fn extract_raw_features(&mut self, audio_data: &[f32]) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn extract_raw_frequency_bands(&self, spectrum: &[f32]) -> RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn calculate_dynamic_range(&self, current_volume: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn calculate_beat_strength(&self, bands: &RawFrequencyBands) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn update_bpm_estimation(&self, _beat_detected: bool) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawFrequencyBands` is never constructed [INFO] [stdout] --> src/audio/cpu_analyzer.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | struct RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `analyze_with_context` and `convert_gpu_features` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn convert_gpu_features(&self, gpu_features: GpuAudioFeatures) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager` and `uniform_bind_group_layout` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `psychedelic_manager` is never used [INFO] [stdout] --> src/graphics/engine.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/playback.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `pack_float`, `unpack_float`, `pack_beat_strength`, `unpack_beat_strength`, `from_prescan_frame`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager` and `uniform_bind_group_layout` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `psychedelic_manager` is never used [INFO] [stdout] --> src/graphics/engine.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/playback.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_prescan_frame` and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/playback.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `pack_float`, `unpack_float`, `pack_beat_strength`, `unpack_beat_strength`, `from_prescan_frame`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `psychedelic_manager_mut`, `psychedelic_manager`, `cleanup`, `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:393:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `renderer`, `show_controls`, `volume`, and `selected_preset` are never read [INFO] [stdout] --> src/ui/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct UserInterface { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | context: egui::Context, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | state: State, [INFO] [stdout] 12 | renderer: Renderer, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | show_controls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 14 | volume: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | selected_preset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `render`, `ui_content`, `volume`, and `selected_preset` are never used [INFO] [stdout] --> src/ui/mod.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl UserInterface { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn ui_content(ctx: &egui::Context, show_controls: &mut bool, volume: &mut f32, selected_preset: &mut usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn volume(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn selected_preset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `convert_to_audio_frame`, `get_current_audio_chunk`, `get_full_audio_buffer`, and `set_sensitivity` are never used [INFO] [stdout] --> src/audio/playback.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_prescan_frame` and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `psychedelic_manager_mut`, `psychedelic_manager`, `cleanup`, `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:393:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `renderer`, `show_controls`, `volume`, and `selected_preset` are never read [INFO] [stdout] --> src/ui/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct UserInterface { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | context: egui::Context, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | state: State, [INFO] [stdout] 12 | renderer: Renderer, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | show_controls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 14 | volume: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | selected_preset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `render`, `ui_content`, `volume`, and `selected_preset` are never used [INFO] [stdout] --> src/ui/mod.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl UserInterface { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn ui_content(ctx: &egui::Context, show_controls: &mut bool, volume: &mut f32, selected_preset: &mut usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn volume(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn selected_preset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/audio/fft.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 79 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 111 | pub fn new(sample_rate: f32, fft_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn hann_window(size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `detect_beat`, and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(sample_rate: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioPlayback` is never constructed [INFO] [stdout] --> src/audio/playback.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn load_file>(&mut self, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | // Compute pipelines [INFO] [stdout] 7 | fft_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | feature_extraction_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | beat_detection_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | audio_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | features_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | time_data_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | output_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fft_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | features_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | beat_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | sample_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | buffer_size: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | start_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | frame_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | last_beat_time: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `analyze` are never used [INFO] [stdout] --> src/audio/gpu_analyzer.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 75 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub async fn analyze(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, audio_data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `pack_float`, `unpack_float`, `pack_beat_strength`, `unpack_beat_strength`, `from_prescan_frame`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 172 | /// Create a new normalizer with default parameters [INFO] [stdout] 173 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn normalize(&mut self, raw: &RawAudioFeatures) -> NormalizedAudioFeatures { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn normalize_value(&self, value: f32, max_value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn effective_parameters(&self) -> NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn update_observed_ranges(&mut self, raw: &RawAudioFeatures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 16 | /// Create a new CPU-based audio analyzer [INFO] [stdout] 17 | pub fn new(sample_rate: f32, chunk_size: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 49 | /// Extract raw features before normalization by replicating CPU analyzer logic [INFO] [stdout] 50 | fn extract_raw_features(&mut self, audio_data: &[f32]) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn extract_raw_frequency_bands(&self, spectrum: &[f32]) -> RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn calculate_dynamic_range(&self, current_volume: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn calculate_beat_strength(&self, bands: &RawFrequencyBands) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn update_bpm_estimation(&self, _beat_detected: bool) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawFrequencyBands` is never constructed [INFO] [stdout] --> src/audio/cpu_analyzer.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | struct RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_standalone` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn new_standalone(sample_rate: f32, chunk_size: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `analyze_with_context` and `convert_gpu_features` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn convert_gpu_features(&self, gpu_features: GpuAudioFeatures) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `psychedelic_manager_mut`, `psychedelic_manager`, `cleanup`, `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:393:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `renderer`, `show_controls`, `volume`, and `selected_preset` are never read [INFO] [stdout] --> src/ui/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct UserInterface { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | context: egui::Context, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | state: State, [INFO] [stdout] 12 | renderer: Renderer, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | show_controls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 14 | volume: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | selected_preset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `render`, `ui_content`, `volume`, and `selected_preset` are never used [INFO] [stdout] --> src/ui/mod.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl UserInterface { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn ui_content(ctx: &egui::Context, show_controls: &mut bool, volume: &mut f32, selected_preset: &mut usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn volume(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn selected_preset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/audio/fft.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 79 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 111 | pub fn new(sample_rate: f32, fft_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn hann_window(size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `detect_beat`, and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(sample_rate: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioPlayback` is never constructed [INFO] [stdout] --> src/audio/playback.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn load_file>(&mut self, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | // Compute pipelines [INFO] [stdout] 7 | fft_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | feature_extraction_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | beat_detection_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | audio_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | features_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | time_data_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | output_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fft_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | features_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | beat_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | sample_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | buffer_size: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | start_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | frame_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | last_beat_time: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `analyze` are never used [INFO] [stdout] --> src/audio/gpu_analyzer.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 75 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub async fn analyze(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, audio_data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_prescan_frame` and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 172 | /// Create a new normalizer with default parameters [INFO] [stdout] 173 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn normalize(&mut self, raw: &RawAudioFeatures) -> NormalizedAudioFeatures { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn normalize_value(&self, value: f32, max_value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn effective_parameters(&self) -> NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn update_observed_ranges(&mut self, raw: &RawAudioFeatures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 16 | /// Create a new CPU-based audio analyzer [INFO] [stdout] 17 | pub fn new(sample_rate: f32, chunk_size: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 49 | /// Extract raw features before normalization by replicating CPU analyzer logic [INFO] [stdout] 50 | fn extract_raw_features(&mut self, audio_data: &[f32]) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn extract_raw_frequency_bands(&self, spectrum: &[f32]) -> RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn calculate_dynamic_range(&self, current_volume: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn calculate_beat_strength(&self, bands: &RawFrequencyBands) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn update_bpm_estimation(&self, _beat_detected: bool) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawFrequencyBands` is never constructed [INFO] [stdout] --> src/audio/cpu_analyzer.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | struct RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_standalone` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn new_standalone(sample_rate: f32, chunk_size: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `analyze_with_context` and `convert_gpu_features` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn convert_gpu_features(&self, gpu_features: GpuAudioFeatures) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_manager`, `uniform_bind_group_layout`, and `gpu_analyzer` are never read [INFO] [stdout] --> src/graphics/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | texture_manager: TextureManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | uniform_bind_group_layout: wgpu::BindGroupLayout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | gpu_analyzer: Option, // GPU-accelerated audio analysis [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `init_gpu_analyzer`, `analyze_audio_gpu`, and `gpu_features_to_audio_frame` are never used [INFO] [stdout] --> src/graphics/engine.rs:418:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/graphics/vertex.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `textures` and `bind_groups` are never read [INFO] [stdout] --> src/graphics/texture.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | textures: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | bind_groups: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sensitivity_factor` is never read [INFO] [stdout] --> src/audio/playback.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | sensitivity_factor: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | // Compute pipelines [INFO] [stdout] 7 | fft_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | feature_extraction_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | beat_detection_pipeline: wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | audio_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | features_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | time_data_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | output_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fft_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | features_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | beat_bind_group: wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | sample_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | buffer_size: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | start_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | frame_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | last_beat_time: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze` is never used [INFO] [stdout] --> src/audio/gpu_analyzer.rs:333:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 333 | pub async fn analyze(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, audio_data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `pack_float`, `pack_beat_strength`, and `from_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 55 | /// Convert normalized float (0.0-1.0) to u16 (0-65535) [INFO] [stdout] 56 | fn pack_float(value: f32) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn pack_beat_strength(strength: f32) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv` and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn normalize(&mut self, raw: &RawAudioFeatures) -> NormalizedAudioFeatures { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn normalize_value(&self, value: f32, max_value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn effective_parameters(&self) -> NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn update_observed_ranges(&mut self, raw: &RawAudioFeatures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio/cpu_analyzer.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl CpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 49 | /// Extract raw features before normalization by replicating CPU analyzer logic [INFO] [stdout] 50 | fn extract_raw_features(&mut self, audio_data: &[f32]) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn extract_raw_frequency_bands(&self, spectrum: &[f32]) -> RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn calculate_dynamic_range(&self, current_volume: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn calculate_beat_strength(&self, bands: &RawFrequencyBands) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn update_bpm_estimation(&self, _beat_detected: bool) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawFrequencyBands` is never constructed [INFO] [stdout] --> src/audio/cpu_analyzer.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | struct RawFrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `analyze_with_context` and `convert_gpu_features` are never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn convert_gpu_features(&self, gpu_features: GpuAudioFeatures) -> RawAudioFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/graphics/texture.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | queue: &wgpu::Queue, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioPlayback` is never constructed [INFO] [stdout] --> src/audio/playback.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn load_file>(&mut self, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `prescan_file`, `load_prescan_data`, `load_audio_file`, `update_statistics`, and `classify_content` are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `unpack_float`, `unpack_beat_strength`, and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | fn unpack_float(value: u16) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn unpack_beat_strength(value: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_arv` is never used [INFO] [stdout] --> src/audio/arv_format.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphicsEngine` is never constructed [INFO] [stdout] --> src/graphics/engine.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update_view_proj` are never used [INFO] [stdout] --> src/graphics/engine.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl Uniforms { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 84 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn update_view_proj(&mut self, width: f32, height: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/graphics/engine.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 124 | pub async fn new(window: &'a Window) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn create_fullscreen_quad() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn resize(&mut self, new_size: winit::dpi::PhysicalSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn render(&mut self, audio_frame: &AudioFrame, _window: &Window) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ShaderManager` is never constructed [INFO] [stdout] --> src/graphics/shader.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ShaderManager { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load_shader`, `create_pipeline`, and `get_pipeline` are never used [INFO] [stdout] --> src/graphics/shader.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ShaderManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn load_shader(&mut self, device: &Device, name: &str, source: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create_pipeline( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_pipeline(&self, name: &str) -> Option<&RenderPipeline> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `desc` is never used [INFO] [stdout] --> src/graphics/vertex.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Vertex { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn desc() -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBuffer` is never constructed [INFO] [stdout] --> src/graphics/vertex.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct VertexBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/graphics/vertex.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 44 | pub fn new(device: &wgpu::Device, vertices: &[Vertex]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextureManager` is never constructed [INFO] [stdout] --> src/graphics/texture.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PsychedelicManager` is never constructed [INFO] [stdout] --> src/effects/psychedelic_manager.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EffectConfig` is never constructed [INFO] [stdout] --> src/effects/psychedelic_manager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct EffectConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 61 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn update(&mut self, delta_time: f32, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn analyze_and_set_targets(&mut self, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn update_transitions(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn update_intensity_scalers(&mut self, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn get_effect_weights(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioPlayback` is never constructed [INFO] [stdout] --> src/audio/playback.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn load_file>(&mut self, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_full_audio_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `prescan_file`, `load_prescan_data`, `load_audio_file`, `update_statistics`, and `classify_content` are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_prescan_frame` is never used [INFO] [stdout] --> src/audio/arv_format.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_arv` is never used [INFO] [stdout] --> src/audio/arv_format.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphicsEngine` is never constructed [INFO] [stdout] --> src/graphics/engine.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphicsEngine<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update_view_proj` are never used [INFO] [stdout] --> src/graphics/engine.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl Uniforms { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 84 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn update_view_proj(&mut self, width: f32, height: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/graphics/engine.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 123 | impl<'a> GraphicsEngine<'a> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 124 | pub async fn new(window: &'a Window) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn create_fullscreen_quad() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn resize(&mut self, new_size: winit::dpi::PhysicalSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn render(&mut self, audio_frame: &AudioFrame, _window: &Window) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn psychedelic_manager_mut(&mut self) -> &mut PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn psychedelic_manager(&self) -> &PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn init_gpu_analyzer(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub async fn analyze_audio_gpu(&mut self, audio_data: &[f32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | pub fn gpu_features_to_audio_frame(&self, gpu_features: &GpuAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ShaderManager` is never constructed [INFO] [stdout] --> src/graphics/shader.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ShaderManager { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load_shader`, `create_pipeline`, and `get_pipeline` are never used [INFO] [stdout] --> src/graphics/shader.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ShaderManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn load_shader(&mut self, device: &Device, name: &str, source: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create_pipeline( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_pipeline(&self, name: &str) -> Option<&RenderPipeline> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `desc` is never used [INFO] [stdout] --> src/graphics/vertex.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Vertex { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn desc() -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBuffer` is never constructed [INFO] [stdout] --> src/graphics/vertex.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct VertexBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/graphics/vertex.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl VertexBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 44 | pub fn new(device: &wgpu::Device, vertices: &[Vertex]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn update(&self, queue: &wgpu::Queue, vertices: &[Vertex]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextureManager` is never constructed [INFO] [stdout] --> src/graphics/texture.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TextureManager { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_audio_texture`, `update_audio_texture`, and `get_bind_group` are never used [INFO] [stdout] --> src/graphics/texture.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextureManager { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn create_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn update_audio_texture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_bind_group(&self, name: &str) -> Option<&wgpu::BindGroup> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PsychedelicManager` is never constructed [INFO] [stdout] --> src/effects/psychedelic_manager.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PsychedelicManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EffectConfig` is never constructed [INFO] [stdout] --> src/effects/psychedelic_manager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct EffectConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 61 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn update(&mut self, delta_time: f32, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn analyze_and_set_targets(&mut self, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn update_transitions(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn update_intensity_scalers(&mut self, audio_frame: &AudioFrame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn get_effect_weights(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/audio/fft.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl TempoDetector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn update(&mut self, beat_detected: bool, time_delta: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/fft.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl AudioAnalyzer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn analyze(&mut self, audio_data: &[f32]) -> AudioFrame { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn apply_window(&self, audio_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn compute_fft(&self, windowed_data: &[f32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn extract_frequency_bands(&self, spectrum: &[f32]) -> FrequencyBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn average_range(data: &[f32], start: usize, end: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn calculate_spectral_centroid(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn calculate_spectral_rolloff(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn calculate_zero_crossing_rate(&self, audio_data: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn calculate_spectral_flux(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn calculate_onset_strength(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn calculate_pitch_confidence(&self, spectrum: &[f32]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn calculate_dynamic_range(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `detect_beat` and `calculate_variance` are never used [INFO] [stdout] --> src/audio/beat_detector.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BeatDetector { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn detect_beat(&mut self, bands: &FrequencyBands) -> (bool, f32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn calculate_variance(&self, data: &VecDeque, mean: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sensitivity_factor` is never read [INFO] [stdout] --> src/audio/playback.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AudioPlayback { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | sensitivity_factor: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/playback.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl AudioPlayback { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn play(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn pause(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_volume(&self, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn is_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub async fn get_current_audio_frame(&mut self) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn convert_to_audio_frame_static(normalized: &NormalizedAudioFeatures, sample_rate: f32, sensitivity: f32) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn convert_to_audio_frame(&self, normalized: &NormalizedAudioFeatures) -> AudioFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get_current_audio_chunk(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn get_sensitivity(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn set_sensitivity(&mut self, sensitivity: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn adjust_sensitivity(&mut self, delta: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn analyzer(&self) -> Option<&Self> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn analyzer_mut(&mut self) -> Option<&mut Self> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fft_buffer` and `num_frequency_bands` are never read [INFO] [stdout] --> src/audio/gpu_analyzer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct GpuAudioAnalyzer { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | fft_buffer: wgpu::Buffer, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | num_frequency_bands: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/audio/prescan.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl PrescanProcessor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 107 | pub fn new(sample_rate: f32, chunk_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn prescan_file>(&mut self, file_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn save_prescan_data>(prescan_data: &PrescanData, output_path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn load_prescan_data>(input_path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn load_audio_file>(&self, file_path: P) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn update_statistics(&self, stats: &mut AnalysisStatistics, frame: &AudioFrame, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn classify_content(&self, stats: &mut AnalysisStatistics, frames: &[PrescanFrame]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_synchronized_frame`, `get_statistics`, and `get_file_info` are never used [INFO] [stdout] --> src/audio/prescan.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl SynchronizedPlayback { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 313 | pub fn new(prescan_data: PrescanData) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_synchronized_frame(&mut self, playback_time_seconds: f32) -> Option<&PrescanFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn get_statistics(&self) -> &AnalysisStatistics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_file_info(&self) -> &FileInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_prescan_frame` and `to_prescan_frame` are never used [INFO] [stdout] --> src/audio/arv_format.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl PackedFrame { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_prescan_frame(frame: &PrescanFrame, _timestamp: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn to_prescan_frame(&self, timestamp: f32, estimated_bpm: f32) -> PrescanFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `save_arv`, `load_arv`, and `compression_ratio` are never used [INFO] [stdout] --> src/audio/arv_format.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ArvFormat { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 123 | /// Save prescan data in compact ARV binary format [INFO] [stdout] 124 | pub fn save_arv>(prescan_data: &PrescanData, path: P) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn load_arv>(path: P) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compression_ratio(arv_size: u64, json_size: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive`, `with_parameters`, `get_parameters`, `save_parameters`, and `load_parameters` are never used [INFO] [stdout] --> src/audio/feature_normalizer.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 171 | impl FeatureNormalizer { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_adaptive() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn with_parameters(parameters: NormalizationParameters) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_parameters(&self) -> &NormalizationParameters { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn save_parameters(&self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn load_parameters(&mut self, path: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 18 | /// Create a new GPU-based audio analyzer [INFO] [stdout] 19 | pub async fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_with_context` is never used [INFO] [stdout] --> src/audio/gpu_analyzer_wrapper.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 110 | impl GpuAudioAnalyzer { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 111 | /// Helper method to analyze with external GPU context [INFO] [stdout] 112 | pub async fn analyze_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_current_preset`, `set_current_preset`, `get_presets`, and `current_preset_index` are never used [INFO] [stdout] --> src/effects/preset.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PresetManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_current_preset(&self) -> &VisualizerPreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_current_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_presets(&self) -> &[VisualizerPreset] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn current_preset_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_intensity_scalers`, `set_manual_effect`, `config_mut`, `config`, and `get_debug_info` are never used [INFO] [stdout] --> src/effects/psychedelic_manager.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl PsychedelicManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn get_intensity_scalers(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn set_manual_effect(&mut self, effect_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn config_mut(&mut self) -> &mut EffectConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn config(&self) -> &EffectConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn get_debug_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s [INFO] running `Command { std: "docker" "inspect" "c9da1497a40c9e401dd00359ba8a5d9751ac1eda7a71d1059c8871ae28c6c2a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9da1497a40c9e401dd00359ba8a5d9751ac1eda7a71d1059c8871ae28c6c2a0", kill_on_drop: false }` [INFO] [stdout] c9da1497a40c9e401dd00359ba8a5d9751ac1eda7a71d1059c8871ae28c6c2a0