Enum InfoFlags

Source
#[repr(u32)]
pub enum InfoFlags {
Show 17 variants Stepped = 1, Periodic = 2, Hidden = 4, Readonly = 8, Bypass = 16, Automatable = 32, AutomatablePerNoteId = 64, AutomatablePerKey = 128, AutomatablePerChannel = 256, AutomatablePerPort = 512, Modulatable = 1_024, ModulatablePerNoteId = 2_048, ModulatablePerKey = 4_096, ModulatablePerChannel = 8_192, ModulatablePerPort = 16_384, RequiresProcess = 32_768, Enum = 65_536,
}

Variants§

§

Stepped = 1

Is this param stepped? (integer values only) if so the double value is converted to integer using a cast (equivalent to trunc).

§

Periodic = 2

Useful for periodic parameters like a phase

§

Hidden = 4

The parameter should not be shown to the user, because it is currently not used. It is not necessary to process automation for this parameter.

§

Readonly = 8

The parameter can’t be changed by the host.

§

Bypass = 16

This parameter is used to merge the plugin and host bypass button. It implies that the parameter is stepped. min: 0 -> bypass off max: 1 -> bypass on

§

Automatable = 32

When set:

  • automation can be recorded
  • automation can be played back

The host can send live user changes for this parameter regardless of this flag.

If this parameter affects the internal processing structure of the plugin, ie: max delay, fft size, … and the plugins needs to re-allocate its working buffers, then it should call host->request_restart(), and perform the change once the plugin is re-activated.

§

AutomatablePerNoteId = 64

Does this parameter support per note automations?

§

AutomatablePerKey = 128

Does this parameter support per key automations?

§

AutomatablePerChannel = 256

Does this parameter support per channel automations?

§

AutomatablePerPort = 512

Does this parameter support per port automations?

§

Modulatable = 1_024

Does this parameter support the modulation signal?

§

ModulatablePerNoteId = 2_048

Does this parameter support per note modulations?

§

ModulatablePerKey = 4_096

Does this parameter support per key modulations?

§

ModulatablePerChannel = 8_192

Does this parameter support per channel modulations?

§

ModulatablePerPort = 16_384

Does this parameter support per port modulations?

§

RequiresProcess = 32_768

Any change to this parameter will affect the plugin output and requires to be done via process() if the plugin is active.

A simple example would be a DC Offset, changing it will change the output signal and must be processed.

§

Enum = 65_536

This parameter represents an enumerated value. If you set this flag, then you must set IsStepped too. All values from min to max must not have a blank value_to_text().

Implementations§

Source§

impl InfoFlags

Source

pub const fn set(&self, flags: u32) -> u32

Source

pub const fn is_set(&self, flags: u32) -> bool

Source

pub const fn clear(&self, flags: u32) -> u32

Trait Implementations§

Source§

impl Clone for InfoFlags

Source§

fn clone(&self) -> InfoFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for InfoFlags

Source§

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

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

impl From<InfoFlags> for u32

Source§

fn from(value: InfoFlags) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for InfoFlags

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for InfoFlags

Source§

impl Eq for InfoFlags

Source§

impl StructuralPartialEq for InfoFlags

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
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
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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.