From 59456a29733ca9f07129e4a43838f8b56b39d46b Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sat, 12 Nov 2022 01:03:55 +0100 Subject: [PATCH] Remove 128 note MIDI limit in frequency parser This is useful when the value->string function can go outside of the standard 128 note range. --- src/formatters.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/formatters.rs b/src/formatters.rs index cc91585d..206aa68e 100644 --- a/src/formatters.rs +++ b/src/formatters.rs @@ -157,12 +157,12 @@ pub fn s2v_f32_hz_then_khz() -> Arc Option + Send + Sync> { note_formatter(midi_note_number_str), cents_str.parse::(), ) { - let plain_note_freq = util::midi_note_to_freq(midi_note_number.clamp(0, 127) as u8); + let plain_note_freq = util::f32_midi_note_to_freq(midi_note_number as f32); let cents_multiplier = 2.0f32.powf(cents as f32 / 100.0); return Some(plain_note_freq * cents_multiplier); } } else if let Some(midi_note_number) = note_formatter(string) { - return Some(util::midi_note_to_freq(midi_note_number.clamp(0, 127) as u8)); + return Some(util::f32_midi_note_to_freq(midi_note_number as f32)); } // Otherwise we'll accept values in either Hz (with or without unit) or kHz