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;
|
extern crate nih_plug;
|
||||||
|
|
||||||
use nih_plug::{
|
use nih_plug::{
|
||||||
|
formatters,
|
||||||
params::{FloatParam, Params, Range},
|
params::{FloatParam, Params, Range},
|
||||||
plugin::{BufferConfig, BusConfig, Plugin, ProcessStatus, Vst3Plugin},
|
plugin::{BufferConfig, BusConfig, Plugin, ProcessStatus, Vst3Plugin},
|
||||||
util,
|
util,
|
||||||
|
@ -53,7 +54,7 @@ impl Default for GainParams {
|
||||||
},
|
},
|
||||||
name: "Gain",
|
name: "Gain",
|
||||||
unit: " dB",
|
unit: " dB",
|
||||||
value_to_string: None,
|
value_to_string: formatters::f32_rounded(2),
|
||||||
string_to_value: None,
|
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
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// 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]
|
#[macro_use]
|
||||||
pub mod debug;
|
pub mod debug;
|
||||||
|
pub mod formatters;
|
||||||
pub mod params;
|
pub mod params;
|
||||||
pub mod plugin;
|
pub mod plugin;
|
||||||
pub mod util;
|
pub mod util;
|
||||||
|
|
Loading…
Reference in a new issue