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

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.