Skip to main content

ParamSpec

Struct ParamSpec 

Source
pub struct ParamSpec {
Show 14 fields pub key: String, pub kind: ParamKind, pub stored_min: f64, pub stored_max: f64, pub default: f64, pub law: Option<UnitLaw>, pub label: String, pub choices: Vec<String>, pub provenance: Provenance, pub evidence: String, pub first_build: Option<Build>, pub verified_on: Option<Build>, pub tuning_note: Option<String>, pub legacy: bool,
}
Expand description

One control of a synth.

Fields§

§key: String

The key in the preset file. Unique within a registry.

§kind: ParamKind

What the stored value is.

§stored_min: f64

The smallest stored value.

§stored_max: f64

The largest stored value.

§default: f64

The stored value of a new patch, inside the range.

§law: Option<UnitLaw>

The physical unit and its law, or None when no unit is claimed.

§label: String

The on-screen name of the control.

§choices: Vec<String>

Menu labels of a ParamKind::Choice: choices[i] names the stored value stored_min + i.

§provenance: Provenance

Where the law comes from.

§evidence: String

The source file, document or probe behind the entry.

§first_build: Option<Build>

The first build that has the control.

§verified_on: Option<Build>

The build where a load check or a probe confirmed the key and its default. A confirmed range or law is named in evidence.

§tuning_note: Option<String>

How to tune an interim control by ear and what to hear.

§legacy: bool

The control is in the table, but no module creates it. Readers accept it and writers refuse it.

Implementations§

Source§

impl ParamSpec

Source

pub fn unit(&self) -> Option<UnitKind>

The physical unit, if the entry claims one.

Source

pub fn range_text(&self) -> String

The stored range as text, such as 8.0 to 136.0.

Source

pub fn accepts(&self, stored: f64) -> bool

Whether a stored value lies inside the range and suits the kind.

Source

pub fn accepts_saved(&self, stored: f64) -> bool

Whether a saved preset may hold stored: Self::accepts, with each bound widened to its 32-bit float form, which a synth that keeps controls as f32 saves.

Source

pub fn physical(&self, stored: f64) -> Result<Physical, ParamError>

The physical value of a stored value.

§Errors

A ParamError naming the key when the entry has no unit, the stored value is outside the range or not whole where it must be, or the law or the unit type rejects it.

Source

pub fn stored(&self, value: &Physical) -> Result<f64, ParamError>

The stored value of a physical value.

§Errors

A ParamError naming the key when the unit type differs from the entry’s, the law rejects the value, or the result is outside the stored range or not whole where it must be.

Trait Implementations§

Source§

impl Clone for ParamSpec

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ParamSpec

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ParamSpec

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ParamSpec

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> CloneAny for T
where T: Any + Clone,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSend for T
where T: Any + Send,

§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

§

fn into_sample(self) -> T

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.