From 674f7e49d243ab8e38a8e107e76331afd5b9ea91 Mon Sep 17 00:00:00 2001 From: brevalferrari Date: Sat, 7 Jun 2025 15:05:07 +0200 Subject: [PATCH] log err on NaN instead of panicking --- src/cli/main.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cli/main.rs b/src/cli/main.rs index 67bd28e..ca419af 100644 --- a/src/cli/main.rs +++ b/src/cli/main.rs @@ -15,7 +15,7 @@ use clap::Parser as _; use cli::Cli; use dasp_sample::Sample; use hound::{SampleFormat, WavSpec, WavWriter}; -use log::{debug, info, warn}; +use log::{debug, error, info, warn}; use rodio::{OutputStream, Sink, buffer::SamplesBuffer}; use crate::cli::{ExportOpts, PlayOpts}; @@ -166,11 +166,11 @@ fn parse_and_compile(opts: &PlayOpts) -> anyhow::Result> { compiler .compile_all(tokens) .inspect(|v| { - for sample in v { - assert!( - !sample.abs().is_nan(), - "Waiter! There's a NaN in my samples!" - ); + let is_nan = |sample| sample.abs().is_nan(); + if v.iter().all(is_nan) { + error!("🎉 All your samples are NaN, you got yourself a \"Not a Song\" (NaS)!") + } else if v.iter().any(is_nan) { + error!("Waiter! There's a NaN in my samples!"); } }) .context("Failed to compile tokens to samples")