pub struct ActionContext<'a> {
pub params: &'a [u8],
pub beat_info: Option<&'a BeatInfo>,
pub is_high_frequency: bool,
}Expand description
Context passed to every action execution
Provides access to current parameter state and timing information for context-aware actions.
§High-Frequency Actions
For performance-critical use cases like LFO (Low Frequency Oscillator)
or Audio React running at 60Hz/120Hz, set is_high_frequency: true.
This allows action implementations to use optimized paths:
- Pre-allocated buffers instead of SmallVec
- Reduced allocations and copying
- Faster parameter update paths
Regular UI button triggers should use is_high_frequency: false.
Fields§
§params: &'a [u8]Current parameter values (raw bytes from GPU buffer)
beat_info: Option<&'a BeatInfo>Optional timing information for beat-synchronized actions
is_high_frequency: boolHigh-frequency execution hint (60Hz/120Hz)
When true, action implementations should use optimized paths with pre-allocated buffers to minimize per-frame overhead.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ActionContext<'a>
impl<'a> RefUnwindSafe for ActionContext<'a>
impl<'a> Send for ActionContext<'a>
impl<'a> Sync for ActionContext<'a>
impl<'a> Unpin for ActionContext<'a>
impl<'a> UnwindSafe for ActionContext<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more