diff --git a/plugins/gain/src/lib.rs b/plugins/gain/src/lib.rs
index 5105c7ad..b1069edc 100644
--- a/plugins/gain/src/lib.rs
+++ b/plugins/gain/src/lib.rs
@@ -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,
},
}
diff --git a/src/formatters.rs b/src/formatters.rs
new file mode 100644
index 00000000..a7a14bb9
--- /dev/null
+++ b/src/formatters.rs
@@ -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 .
+
+//! 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 String>> {
+ Some(Box::new(move |x| format!("{:.digits$}", x)))
+}
diff --git a/src/lib.rs b/src/lib.rs
index 68ffaaeb..698f4ce6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -14,8 +14,11 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
+// 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;