pub struct RemoteSource { /* private fields */ }Expand description
The recording a Session has open, as a RecordingSource: samples (scaled f32) read on
the server as sample views, in pieces under its limits. For small reads (a window of
waveforms, the value under the cursor); a whole recording belongs on the server.
Implementations§
Source§impl RemoteSource
impl RemoteSource
Trait Implementations§
Source§impl RecordingSource for RemoteSource
impl RecordingSource for RemoteSource
Source§fn read(
&self,
channels: &[usize],
samples: Range<u64>,
out: &mut [f32],
) -> DspResult<()>
fn read( &self, channels: &[usize], samples: Range<u64>, out: &mut [f32], ) -> DspResult<()>
Samples of channels, channel-major, fetched as sample views and reassembled.
fn info(&self) -> &RecordingInfo
Source§fn read_stored(
&self,
channels: &[usize],
samples: Range<u64>,
out: &mut [u8],
) -> Result<(), DspError>
fn read_stored( &self, channels: &[usize], samples: Range<u64>, out: &mut [u8], ) -> Result<(), DspError>
Reads the stored values (
info().format, little-endian, before each channel’s gain and
offset) of samples of every channel in channels into out, channel-major:
out holds channels.len() · n · format.bytes() bytes. Lets pipelines move compact integer
samples and scale them on the device. Read moreSource§fn read_native(
&self,
samples: Range<u64>,
out: &mut [f32],
) -> Result<MemoryOrder, DspError>
fn read_native( &self, samples: Range<u64>, out: &mut [f32], ) -> Result<MemoryOrder, DspError>
Reads
samples of every channel, scaled, in the order the source stores them, and returns
that order: MemoryOrder::ChannelMajor fills out as Self::read of all channels;
MemoryOrder::TimeMajor fills out[t * channels + c]. Whole-recording passes (min/max
summaries) use it to skip the transposition read does for time-major sources. Read moreSource§fn chunk_samples(&self) -> Option<u64>
fn chunk_samples(&self) -> Option<u64>
Samples per storage chunk along time, for formats stored in independently decoded chunks
(Zarr, NWB, mtscomp). Reads covering whole multiples of it, aligned to it, decode each
chunk once;
None when every range costs the same (memory-mapped, in-memory, procedural).fn read_channel( &self, channel: usize, samples: Range<u64>, out: &mut [f32], ) -> Result<(), DspError>
Source§fn read_chunk(
&self,
channels: &[usize],
samples: Range<u64>,
) -> Result<SignalChunk, DspError>
fn read_chunk( &self, channels: &[usize], samples: Range<u64>, ) -> Result<SignalChunk, DspError>
Reads into a newly allocated channel-major
SignalChunk.Auto Trait Implementations§
impl !RefUnwindSafe for RemoteSource
impl !UnwindSafe for RemoteSource
impl Forget for RemoteSource
impl Freeze for RemoteSource
impl Move for RemoteSource
impl Send for RemoteSource
impl Sync for RemoteSource
impl Unpin for RemoteSource
impl UnsafeUnpin for RemoteSource
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more