Skip to content

Releases: pipelined/signal

Unified allocator interface and channel slicing

20 Feb 17:52
e930c6b
Compare
Choose a tag to compare
  • Pool allocator methods aligned with default allocator;
  • Slice buffer channels;

Pool allocator, pointer receivers and Frequency type

22 Oct 18:30
1c7bd02
Compare
Choose a tag to compare
  • New pool allocator API is the replacement for pipelined.dev/pipe/pool package. It allows to use sync.Pool to reduce GC pressure in the hottest parts;
  • Pointer receivers for signal interfaces. The original aim was to provide an API as-close-as-possible to standard slices. However, because this package is using interfaces, copy-on-modification didn't make sense;
  • Frequency type replaces SampleRate as it's a more broad term and it's broadly used in synthesis and DSP domains.

Arbitrary signal types

12 Aug 13:38
041ce41
Compare
Choose a tag to compare

New API to manipulate arbitrary signal types:

  • signal.Slice;
  • signal.AsFloating;
  • signal.AsSigned;
  • signal.AsUnsigned;

Moved BufferIndex to signal interface.

Append allocations

08 Aug 14:31
af4fc83
Compare
Choose a tag to compare

Append functions now rely on builtin slice grow algorithm to reduce number of allocations.

Buffer clean up

25 Jul 12:31
c5030ea
Compare
Choose a tag to compare

Now buffers are cleared up once returned to the pool.

Fix floating to fixed conversions

16 Jun 19:44
e522f99
Compare
Choose a tag to compare

This patch fixes incorrect floating casting.

Avoid unnecessary slice header allocation on Pool.Put

01 Jun 17:54
Compare
Choose a tag to compare

This release removes unnecessary slice header allocation on every Pool.Put call. Buffer will be Sliced only if length of the buffer has changed.

Read, Write and Conversion functions are aligned with standard library

30 May 18:49
2dcfd5e
Compare
Choose a tag to compare

Read, Write and Conversion functions now return a number of samples read per channel. It allows to avoid to make a caller responsible for signal buffer slicing once function is called.

Also, Length is added to allocator - it allows to allocate buffers with defined length.

Signal types and pool merge

23 May 10:20
Compare
Choose a tag to compare
  • Support for all signal types
  • Conversions between all signal types
  • Merge pool into signal

Fix badge refs

26 Nov 07:10
Compare
Choose a tag to compare

Badges refer to correct import path