- Renamed
window-hanning
towindow-hann
- Made
IntoInterleavedSamples
andIntoInterleavedSamplesIterator
stop yielding samples when the underlying signal gets exhausted. This is a breaking change. The return type of theIntoInterleavedSamples#next_sample
method was modified.
- Refactor the
sample
crate into a modular collection of crates underdasp
. - Rename repository from
sample
todasp
, wheredasp
stands for digital audio signal processing. - Add a suite of useful feature gates:
- Add
std
to all crates. Can be disabled in order to useno_std
. - Add a
all-features-no-std
feature todasp
,dasp_envelope
,dasp_interpolate
,dasp_signal
,dasp_slice
anddasp_window
. Enables all features within ano_std
context. dasp_envelope
crate:peak
- enables peak detector implementation.rms
- enables RMS detector implementation.
dasp_interpolate
crate:floor
- enablesFloor
Interpolate
implementation.linear
- enablesLinear
Interpolate
implementation.sinc
- enablesSinc
Interpolate
implementation.
dasp_signal
crate:boxed
- enablesSignal
implementation forBox<dyn Signal>
.bus
- enablesSignalBus
trait.envelope
- enablesSignalEnvelope
trait.rms
- enablesSignalRms
trait.window
- enablessignal::window
module.window-hanning
- enables hanning window constructor.window-rectangle
- enables rectangle window constructor.
dasp_slice
crate:boxed
- enables conversions between boxed slices.
- The
dasp
crate has a feature for each of the above.
- Add
- Make Window trait generic over its phase and amplitude type. Update the
dasp_signal::window
module items accordingly. - Remove unsafe uninitialized ring buffer constructors.
- Remove
equilibrium()
andidentity()
constructors fromSample
andFrame
traitsin favour ofEQUILIBRIUM
andIDENTITY
associated consts. - Remove
Frame::n_channels
function in favour ofFrame::CHANNELS
associated const. - Add implementation of
Frame
for all primitiveSample
types where each are assumed to represent a frame of a monophonic signal. This greatly simplifies working with monophonic signal sources as demonstrated in the updateddasp_signal
crate.
CHANGELOG begins...