conformal_component::parameters

Trait States

Source
pub trait States {
    // Required method
    fn get_by_hash(&self, id_hash: IdHash) -> Option<InternalValue>;

    // Provided methods
    fn get(&self, unique_id: &str) -> Option<InternalValue> { ... }
    fn numeric_by_hash(&self, id_hash: IdHash) -> Option<f32> { ... }
    fn get_numeric(&self, unique_id: &str) -> Option<f32> { ... }
    fn enum_by_hash(&self, id_hash: IdHash) -> Option<u32> { ... }
    fn get_enum(&self, unique_id: &str) -> Option<u32> { ... }
    fn switch_by_hash(&self, id_hash: IdHash) -> Option<bool> { ... }
    fn get_switch(&self, unique_id: &str) -> Option<bool> { ... }
}
Expand description

Represents a snapshot of all valid parameters at a given point in time.

We use this trait to provide information about parameters when we are not processing a buffer (for that, we use BufferStates).

This is passed into crate::synth::Synth::handle_events and crate::effect::Effect::handle_parameters.

For convenience, we provide States::get_numeric, States::get_enum, and States::get_switch functions, which return the value of the parameter if it is of the correct type, or None otherwise. Note that all parmeter types re-use the same ID space, so only one of the specialized get methods will return a value for a given ParameterID.

Note that in general, the Conformal wrapper will implement this trait for you, but we provide a simple implementation called StatesMap that’s appropriate to use in tests or other cases where you need to create this trait outside of a Conformal wrapper.

Required Methods§

Source

fn get_by_hash(&self, id_hash: IdHash) -> Option<InternalValue>

Get the current value of a parameter by it’s hashed unique ID.

You can get the hash of a unique ID using hash_id.

If there is no parameter with the given ID, this will return None.

Provided Methods§

Source

fn get(&self, unique_id: &str) -> Option<InternalValue>

Get the current value of a parameter by it’s unique ID.

If there is no parameter with the given ID, this will return None.

Source

fn numeric_by_hash(&self, id_hash: IdHash) -> Option<f32>

Get the current numeric value of a parameter by it’s hashed unique ID.

You can get the hash of a unique ID using hash_id.

If the parameter is not present or is not numeric, this will return None.

Source

fn get_numeric(&self, unique_id: &str) -> Option<f32>

Get the current numeric value of a parameter by it’s unique ID.

If the parameter is not present or is not numeric, this will return None.

Source

fn enum_by_hash(&self, id_hash: IdHash) -> Option<u32>

Get the current enum value of a parameter by it’s hashed unique ID.

You can get the hash of a unique ID using hash_id.

If the parameter is not present or is not an enum, this will return None.

Source

fn get_enum(&self, unique_id: &str) -> Option<u32>

Get the current enum value of a parameter by it’s unique ID.

If the parameter is not present or is not an enum, this will return None.

Source

fn switch_by_hash(&self, id_hash: IdHash) -> Option<bool>

Get the current switch value of a parameter by it’s hashed unique ID.

You can get the hash of a unique ID using hash_id.

If the parameter is not present or is not a switch, this will return None.

Source

fn get_switch(&self, unique_id: &str) -> Option<bool>

Get the current switch value of a parameter by it’s unique ID.

If the parameter is not present or is not a switch, this will return None.

Implementors§