pub struct SamplePlayer { /* private fields */ }Expand description
Mono sample player with V/Oct pitch, start position, and looping.
§Parameter reads via ModulatedParam (Q147)
Pitch and start position are read through ModulatedParam, making that type
a live part of a real DSP path rather than an unused export:
pitchuses aParamRange::VoltPerOctavemapping. Itsbasefield carries the coarse V/Oct pitch from thevoctinput, and its value is2^voct, so 0 V plays at unity rate and +1 V doubles the playback speed.startuses aParamRange::Linear0..1mapping. Itsbaseis the panel start-position knob and its CV comes from thestartinput (normalized on theModulatedParam±5 V scale), combined into a normalized0..1position.
Implementations§
Source§impl SamplePlayer
impl SamplePlayer
Sourcepub fn new(
buffer: Vec<f64>,
buffer_sample_rate: f64,
engine_sample_rate: f64,
) -> Self
pub fn new( buffer: Vec<f64>, buffer_sample_rate: f64, engine_sample_rate: f64, ) -> Self
Create a player over buffer recorded at buffer_sample_rate, running in a
graph at engine_sample_rate.
Sourcepub fn empty(engine_sample_rate: f64) -> Self
pub fn empty(engine_sample_rate: f64) -> Self
Create an empty player (silent until a buffer is assigned).
Sourcepub fn set_buffer(&mut self, buffer: Vec<f64>, buffer_sample_rate: f64)
pub fn set_buffer(&mut self, buffer: Vec<f64>, buffer_sample_rate: f64)
Replace the sample buffer (non-real-time; allocates/moves the Vec).
Resets playback state so a stale read position cannot index past a shorter new buffer.
Sourcepub fn set_start(&mut self, start: f64)
pub fn set_start(&mut self, start: f64)
Set the panel start-position knob (0..1), the base of the start
ModulatedParam.
Sourcepub fn start_position(&self) -> f64
pub fn start_position(&self) -> f64
Current start-position knob (0..1).
Trait Implementations§
Source§impl Default for SamplePlayer
impl Default for SamplePlayer
Source§impl GraphModule for SamplePlayer
impl GraphModule for SamplePlayer
Source§fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
Process one sample given port values
Source§fn set_sample_rate(&mut self, sample_rate: f64)
fn set_sample_rate(&mut self, sample_rate: f64)
Set sample rate
Source§fn process_block(
&mut self,
inputs: &BlockPortValues,
outputs: &mut BlockPortValues,
frames: usize,
)
fn process_block( &mut self, inputs: &BlockPortValues, outputs: &mut BlockPortValues, frames: usize, )
Process a block of samples (optional optimization). Read more
Source§fn breaks_feedback_cycle(&self) -> bool
fn breaks_feedback_cycle(&self) -> bool
Whether this module breaks a feedback cycle in the patch graph. Read more
Source§fn serialize_state(&self) -> Option<Value>
fn serialize_state(&self) -> Option<Value>
Available on crate feature
alloc only.Serialize module state (alloc feature only)
Source§fn deserialize_state(&mut self, _state: &Value) -> Result<(), String>
fn deserialize_state(&mut self, _state: &Value) -> Result<(), String>
Available on crate feature
alloc only.Deserialize module state (alloc feature only)
Source§fn introspect(&self) -> Option<&dyn ModuleIntrospection>
fn introspect(&self) -> Option<&dyn ModuleIntrospection>
Available on crate feature
alloc only.Downcast this module to its
ModuleIntrospection view, if it exposes one. Read moreSource§fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
Available on crate feature
alloc only.Mutable companion to
introspect, used to set internal parameters.Source§impl ModuleIntrospection for SamplePlayer
Available on crate feature alloc only.
impl ModuleIntrospection for SamplePlayer
Available on crate feature
alloc only.Auto Trait Implementations§
impl Freeze for SamplePlayer
impl RefUnwindSafe for SamplePlayer
impl Send for SamplePlayer
impl Sync for SamplePlayer
impl Unpin for SamplePlayer
impl UnsafeUnpin for SamplePlayer
impl UnwindSafe for SamplePlayer
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