Struct ZoneBoundary
pub struct ZoneBoundary {
pub distance_samples: f64,
pub filter_state: f64,
pub coefficient: f64,
pub leak_rate: f64,
pub last_processed_pos: usize,
}Expand description
A zone boundary along the virtual delay path.
Samples are processed incrementally as they cross zone boundaries. At normal playback speed, exactly one sample crosses each zone boundary per tick, so the total cost is O(zones) per sample.
Fields§
§distance_samples: f64Distance from write head in samples.
filter_state: f64One-pole LP filter state for this zone (tape oxide model).
coefficient: f64LP coefficient applied at this boundary. Higher = stronger HF loss. Typical tape: 0.02–0.05.
leak_rate: f64Decay rate per zone crossing (BBD leakage model).
Each crossing multiplies the sample by (1 - leak_rate).
last_processed_pos: usizeTracks the last buffer position processed at this boundary.
Trait Implementations§
§impl Clone for ZoneBoundary
impl Clone for ZoneBoundary
§fn clone(&self) -> ZoneBoundary
fn clone(&self) -> ZoneBoundary
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ZoneBoundary
impl RefUnwindSafe for ZoneBoundary
impl Send for ZoneBoundary
impl Sync for ZoneBoundary
impl Unpin for ZoneBoundary
impl UnsafeUnpin for ZoneBoundary
impl UnwindSafe for ZoneBoundary
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