Add a simple formatters library
We can add common formats here so you don't need to repeat them all the time.
This commit is contained in:
parent
6439acad84
commit
71dc144c73
|
@ -18,6 +18,7 @@
|
|||
extern crate nih_plug;
|
||||
|
||||
use nih_plug::{
|
||||
formatters,
|
||||
params::{FloatParam, Params, Range},
|
||||
plugin::{BufferConfig, BusConfig, Plugin, ProcessStatus, Vst3Plugin},
|
||||
util,
|
||||
|
@ -53,7 +54,7 @@ impl Default for GainParams {
|
|||
},
|
||||
name: "Gain",
|
||||
unit: " dB",
|
||||
value_to_string: None,
|
||||
value_to_string: formatters::f32_rounded(2),
|
||||
string_to_value: None,
|
||||
},
|
||||
}
|
||||
|
|
22
src/formatters.rs
Normal file
22
src/formatters.rs
Normal file
|
@ -0,0 +1,22 @@
|
|||
// nih-plug: plugins, but rewritten in Rust
|
||||
// Copyright (C) 2022 Robbert van der Helm
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
//! Convenience functions for formatting and parsing parameter values in common formats.
|
||||
|
||||
/// Round an `f32` value to always have a specific number of decimal digits.
|
||||
pub fn f32_rounded(digits: usize) -> Option<Box<dyn Send + Sync + Fn(f32) -> String>> {
|
||||
Some(Box::new(move |x| format!("{:.digits$}", x)))
|
||||
}
|
|
@ -14,8 +14,11 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
// TODO: Once everything is more fleshed out, document the basic usage of this library
|
||||
|
||||
#[macro_use]
|
||||
pub mod debug;
|
||||
pub mod formatters;
|
||||
pub mod params;
|
||||
pub mod plugin;
|
||||
pub mod util;
|
||||
|
|
Loading…
Reference in a new issue