Skip to content

Releases: LabSound/LabSound

v1.2.0

07 Feb 07:07
Compare
Choose a tag to compare

v1.2.0

  • rename DelayMode to DelayModel to match spec
  • refactor parameter and setting initializaiton for audio nodes to refer to
    AudioParamDescriptors and AudioSettingDescriptors. This makes parameters
    and settings fully dynamic, and consistently iterable from external programs.
  • HRTF panner now works for sample rates other than 44.1 khz.
  • panners no longer buzz or pop at the end of a sample file
  • the HRTF database is manually loaded now, so that the application has full
    control of when and how to load it. See ex_hrtf_spatialization for details.
  • channel merger and splitter now function per the WebAudio spec
  • WaveTable has been renamed to PeriodicWave to match the rename in the WebAudio spec.

breaking changes

  • AudioNode now takes an AudioNodeDescriptor. Any custom nodes will need a
    tweak to match the new API. The interface for existing nodes hasn't changed.
    For reference when updating your own nodes, have a look at any of the built
    in nodes to see what the descriptor set up looks like.
  • PannerNode no longer is responsible for managing the HRTF database
  • HRTF database is owned by the AudioContext, and must be explicitly loaded.
  • There is no default HRTF database
  • Audio parameters constructor changed due to AudioParamDescriptor change.

v1.1.0

24 Oct 06:16
Compare
Choose a tag to compare
  • autoconfigure channel counts
  • rename BPMDelay.h to BPMDelayNode.h
  • rewrite WaveShaper for efficiency
  • rewrite SampledAudioNode for efficiency and sample accurate timing
  • rewrite resampler for SampledAudioNode for quality and speed
  • use concurrent queues to eliminate mutexes in audio callback
  • minimize use of maintenance thread
  • bulletproof asynchronous connects and disconnects of node wiring
  • improved offline context interface
  • recorder node can run as a pull node indepdently of device context
  • improved miniaudio backend
  • numerous Android fixes (by xioxin)

V1.0.1 iOS, Android, Raspberry Pi

12 Apr 06:15
Compare
Choose a tag to compare

Introduces working iOS, Android, and Raspberry Pi targets. Raspberry Pi requires libpulse-dev to be installed to compile.

This is otherwise a maintenance release, fixing small regressions that slipped through in Release 1.0

Version One

16 Jan 07:50
Compare
Choose a tag to compare

This 1.0 release finalizes the API with functionality that allows full introspection of all nodes and attributes. To go with this 1.0, LabSoundGraphToy is also released at https://github.com/LabSound/LabSoundGraphToy to enable exploration of the library, its nodes, and its functionality.

Development Release 14

15 Mar 23:58
c0d778f
Compare
Choose a tag to compare
  • Removed many custom backends in favor of RtAudio and miniaudio
  • Consolidated demos into a single header
  • clang format applied to sources
  • cloning method added to AudioBus
  • Added Input and Output configuration structs to allow selection of devices
  • names added for params and settings for use in tools
  • Bus added as available Setting type
  • ADSRNode timing fixed
  • AnalyserNode can render output to any desired output buffer size by binning and interpolation
  • AudioDevice nodes added in major backend refactoring
  • ConvolverNode - new implementation
  • DiodeNode is now derived from AudioNode
  • OscillatorNode - new implementation
  • SuperSaw is now scheduled

v0.13.0 Release Candidate

18 Aug 17:37
6ea6bb3
Compare
Choose a tag to compare
Pre-release

AudioParams already exist for rate varying values on Audio Nodes. AudioParams are registered on nodes by name, and can be looked up by name. Non-rate varying parameters such as filter modes, buffer sizes, and so on could not be similarly looked up by name. AudioSettings are introduced in this release for non-rate varying parameters, such as filter modes, buffer sizes and so on. Settings for each AudioNode are documented in its corresponding header file. A vector of param or setting names can be fetched from an AudioNode and used to populate a user interface. Each fetched AudioSetting can be queried as to whether its last set type was a Uint32 or a Float, in order that user interfaces can self configure appropriately.

Added some nullchecks to AudioChannel memory management as pointed out by harmonicvision

v0.12.0 Beta

05 Jan 06:19
Compare
Choose a tag to compare
v0.12.0 Beta Pre-release
Pre-release

This release primarily cleans up how AudioNodes are connected to one another. Formerly, the connect(...) method was called directly on an AudioNode, taking the graph lock and effecting changes to the AudioContext itself. This is no longer the case. AudioContext is now the arbiter of all graph changes.

v0.11.0 Alpha

05 Jan 05:49
4e7be8e
Compare
Choose a tag to compare
v0.11.0 Alpha Pre-release
Pre-release

Numerous bug and maintenance fixes. A cmake build system.

v0.10.0 Alpha

03 Jan 01:03
4e7be8e
Compare
Choose a tag to compare
v0.10.0 Alpha Pre-release
Pre-release

Several breaking API changes related to AudioContext creation and PannerNode initialization.

v0.9.0 Alpha

03 Jan 00:20
Compare
Choose a tag to compare
v0.9.0 Alpha Pre-release
Pre-release
Maintenance vs2015