Struct nih_plug::params::ParamFlags
source · #[repr(transparent)]pub struct ParamFlags { /* private fields */ }
Expand description
Flags for controlling a parameter’s behavior.
Implementations§
source§impl ParamFlags
impl ParamFlags
sourcepub const BYPASS: Self = _
pub const BYPASS: Self = _
When applied to a BoolParam
, this will cause the parameter to be linked to the
host’s bypass control. Only a single parameter can be marked as a bypass parameter. If
you don’t have a bypass parameter, then NIH-plug will add one for you. You will need to
implement this yourself if your plugin introduces latency.
sourcepub const NON_AUTOMATABLE: Self = _
pub const NON_AUTOMATABLE: Self = _
The parameter cannot be changed from an automation lane. The parameter can however still be manually changed by the user from either the plugin’s own GUI or from the host’s generic UI.
sourcepub const HIDDEN: Self = _
pub const HIDDEN: Self = _
Hides the parameter in the host’s generic UI for this plugin. This also implies
NON_AUTOMATABLE
. Setting this does not prevent you from changing the parameter in the
plugin’s editor GUI.
sourcepub const HIDE_IN_GENERIC_UI: Self = _
pub const HIDE_IN_GENERIC_UI: Self = _
Don’t show this parameter when generating a generic UI for the plugin using one of NIH-plug’s generic UI widgets.
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
Trait Implementations§
source§impl Binary for ParamFlags
impl Binary for ParamFlags
source§impl BitAnd<ParamFlags> for ParamFlags
impl BitAnd<ParamFlags> for ParamFlags
source§impl BitAndAssign<ParamFlags> for ParamFlags
impl BitAndAssign<ParamFlags> for ParamFlags
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr<ParamFlags> for ParamFlags
impl BitOr<ParamFlags> for ParamFlags
source§fn bitor(self, other: ParamFlags) -> Self
fn bitor(self, other: ParamFlags) -> Self
Returns the union of the two sets of flags.
§type Output = ParamFlags
type Output = ParamFlags
|
operator.source§impl BitOrAssign<ParamFlags> for ParamFlags
impl BitOrAssign<ParamFlags> for ParamFlags
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor<ParamFlags> for ParamFlags
impl BitXor<ParamFlags> for ParamFlags
source§impl BitXorAssign<ParamFlags> for ParamFlags
impl BitXorAssign<ParamFlags> for ParamFlags
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for ParamFlags
impl Clone for ParamFlags
source§fn clone(&self) -> ParamFlags
fn clone(&self) -> ParamFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ParamFlags
impl Debug for ParamFlags
source§impl Default for ParamFlags
impl Default for ParamFlags
source§fn default() -> ParamFlags
fn default() -> ParamFlags
source§impl Extend<ParamFlags> for ParamFlags
impl Extend<ParamFlags> for ParamFlags
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl FromIterator<ParamFlags> for ParamFlags
impl FromIterator<ParamFlags> for ParamFlags
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for ParamFlags
impl Hash for ParamFlags
source§impl LowerHex for ParamFlags
impl LowerHex for ParamFlags
source§impl Not for ParamFlags
impl Not for ParamFlags
source§impl Octal for ParamFlags
impl Octal for ParamFlags
source§impl Ord for ParamFlags
impl Ord for ParamFlags
source§fn cmp(&self, other: &ParamFlags) -> Ordering
fn cmp(&self, other: &ParamFlags) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<ParamFlags> for ParamFlags
impl PartialEq<ParamFlags> for ParamFlags
source§fn eq(&self, other: &ParamFlags) -> bool
fn eq(&self, other: &ParamFlags) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ParamFlags> for ParamFlags
impl PartialOrd<ParamFlags> for ParamFlags
source§fn partial_cmp(&self, other: &ParamFlags) -> Option<Ordering>
fn partial_cmp(&self, other: &ParamFlags) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Sub<ParamFlags> for ParamFlags
impl Sub<ParamFlags> for ParamFlags
source§impl SubAssign<ParamFlags> for ParamFlags
impl SubAssign<ParamFlags> for ParamFlags
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.