RangeMapper

Trait RangeMapper 

Source
pub trait RangeMapper: Send + Sync {
    // Required methods
    fn normalize(&self, plain: f64) -> f64;
    fn denormalize(&self, normalized: f64) -> f64;
    fn range(&self) -> (f64, f64);

    // Provided method
    fn default_normalized(&self, plain_default: f64) -> f64 { ... }
}
Expand description

Trait for mapping between plain values and normalized values.

Implementations must be thread-safe (Send + Sync) for use in audio plugin parameters.

Required Methods§

Source

fn normalize(&self, plain: f64) -> f64

Convert a plain value to normalized (0.0-1.0).

Values outside the range are clamped.

Source

fn denormalize(&self, normalized: f64) -> f64

Convert a normalized value (0.0-1.0) to plain.

Values outside 0.0-1.0 are clamped.

Source

fn range(&self) -> (f64, f64)

Get the plain value range as (min, max).

Provided Methods§

Source

fn default_normalized(&self, plain_default: f64) -> f64

Get the default normalized value for a given plain default.

Implementors§