Enum ChunkCacheHint

Source
pub enum ChunkCacheHint {
    NormalMode,
    UndoMode,
}
Expand description

A performance/caching hint which determines how REAPER internally gets or sets a chunk.

Has implications on both performance and chunk content.

Variants§

§

NormalMode

This takes longer but is the best choice for most situations.

§

UndoMode

This can be faster but has some drawbacks.

The following happens when using this mode:

  • When getting a chunk, then FX configurations are cached, e.g. if the plug-in hasn’t recently notified REAPER of a parameter change, the last configuration state is returned (which is faster). The downside is if the plug-in doesn’t properly report its state as having changed, one wouldn’t get the latest version.
  • When setting a chunk, envelope lane sizes will not be updated from the configuration state.
  • The format in which FX GUIDs are encoded is slightly different in this mode (to facilitate more efficient re-use of existing plug-in instances).
  • The logic in saving the event data for pooled MIDI items is slightly different (in undo mode only one of the items in the pool will encode, in normal mode the first instance in the chunk will get the data).

Trait Implementations§

Source§

impl Clone for ChunkCacheHint

Source§

fn clone(&self) -> ChunkCacheHint

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 ChunkCacheHint

Source§

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

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

impl Hash for ChunkCacheHint

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ChunkCacheHint

Source§

fn eq(&self, other: &ChunkCacheHint) -> 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 ChunkCacheHint

Source§

impl Eq for ChunkCacheHint

Source§

impl StructuralPartialEq for ChunkCacheHint

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.