Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Unreleased

- Add packed 24-bit sample types `I24LE3`, `I24BE3`, `U24LE3` and `U24BE3` to
`dasp_sample::types`, corresponding to the ALSA `S24_3LE`, `S24_3BE`,
`U24_3LE` and `U24_3BE` formats. Unlike `I24`/`U24` these occupy exactly three
bytes with an alignment of one, so packed 24-bit PCM can be reinterpreted as a
slice of them without a copy. Out-of-range values wrap modulo 2^24.
- Bump `dasp_sample` and `dasp_frame` to 0.11.1, and raise `dasp_frame`'s
requirement on `dasp_sample` to `0.11.1`, as it now references the packed
types by name and would not build against 0.11.0.
- Renamed `window-hanning` to `window-hann`
- Made `IntoInterleavedSamples` and `IntoInterleavedSamplesIterator` stop
yielding samples when the underlying signal gets exhausted. This is a breaking
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ Use the **Sample** trait to convert between and remain generic over any
bit-depth in an optimal, performance-sensitive manner. Implementations are
provided for all signed integer, unsigned integer and floating point primitive
types along with some custom types including 11, 20, 24 and 48-bit signed and
unsigned unpacked integers. For example:
unsigned unpacked integers, and 24-bit signed and unsigned integers packed into
exactly three bytes in either byte order. For example:

```rust
assert_eq!((-1.0).to_sample::<u8>(), 0);
Expand Down
4 changes: 2 additions & 2 deletions dasp_frame/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "dasp_frame"
description = "An abstraction for audio PCM DSP frames, along with useful conversions and operations."
version = "0.11.0"
version = "0.11.1"
authors = ["mitchmindtree <mitchell.nordine@gmail.com>"]
readme = "../README.md"
keywords = ["dsp", "frame", "channel", "pcm", "audio"]
Expand All @@ -11,7 +11,7 @@ homepage = "https://github.com/rustaudio/dasp"
edition = "2018"

[dependencies]
dasp_sample = { version = "0.11", path = "../dasp_sample", default-features = false }
dasp_sample = { version = "0.11.1", path = "../dasp_sample", default-features = false }

[features]
default = ["std"]
Expand Down
6 changes: 6 additions & 0 deletions dasp_frame/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,12 @@ impl_frame_for_sample! {
dasp_sample::types::U24
dasp_sample::types::U48
}
impl_frame_for_sample! {
dasp_sample::types::I24LE3
dasp_sample::types::I24BE3
dasp_sample::types::U24LE3
dasp_sample::types::U24BE3
}

impl<F> Iterator for Channels<F>
where
Expand Down
8 changes: 4 additions & 4 deletions dasp_graph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ node-signal = ["dasp_frame", "dasp_signal"]
node-sum = ["dasp_slice"]

[dependencies]
dasp_frame = { version = "0.11", default-features = false, features = ["std"], optional = true }
dasp_ring_buffer = { version = "0.11", default-features = false, features = ["std"], optional = true }
dasp_signal = { version = "0.11", default-features = false, features = ["std"], optional = true }
dasp_slice = { version = "0.11", default-features = false, features = ["std"], optional = true }
dasp_frame = { version = "0.11", path = "../dasp_frame", default-features = false, features = ["std"], optional = true }
dasp_ring_buffer = { version = "0.11", path = "../dasp_ring_buffer", default-features = false, features = ["std"], optional = true }
dasp_signal = { version = "0.11", path = "../dasp_signal", default-features = false, features = ["std"], optional = true }
dasp_slice = { version = "0.11", path = "../dasp_slice", default-features = false, features = ["std"], optional = true }
petgraph = { version = "0.5", default-features = false }

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion dasp_sample/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "dasp_sample"
description = "An abstraction for audio PCM DSP samples, along with useful conversions and operations."
version = "0.11.0"
version = "0.11.1"
authors = ["mitchmindtree <mitchell.nordine@gmail.com>"]
readme = "../README.md"
keywords = ["dsp", "bit-depth", "sample", "pcm", "audio"]
Expand Down
Loading
Loading