Releases: h4yn0nnym0u5e/Audio
Many new fixes and features
- Fixes for SPDIF issues
- PTS8211 fixes (via forum / PJRC repo)
- Allow selection of I²C bus and address for all Control objects that use it
- Fix bugs in TDM and freeverb
- Implement CS42448 "magic bit" option
- Various envelope fixes
- Documentation updates and fixes for Design Tool
- AudioPlaySdRaw and Wav fixes to make them work with different AUDIO_BLOCK_SAMPLES values
- Include the buffered SD (and other filesystem) playback objects
AudioEffectDelayExternal fixes and improvements
This release merges recent changes from the PJRC repo master, and is a first attempt at making AudioEffectDelayExternal properly dynamic. In addition, it expands the options available for the delay memory, adding AUDIO_MEMORY_PSRAM64 (8MB SPI), AUDIO_MEMORY_EXTMEM (8 or 16MB high-speed QSPI) and AUDIO_MEMORY_HEAP (processor RAM). It should now be possible to create (and delete) multiple instances using any desired combination of memory types.
Add soft knee overload to multi-width mixers
Also added mixer documentation in GUI, though in fact you need manicken's GUI++ to use these mixers. See https://manicken.github.io/
Teensy 3.x initial support
- Teensy 3.x initial support
- Add stereo mixer
- bugfixes (analogue stereo DAC wasn't working)
Add variable-width mixer
Credit to manicken for this.
DynMixer.cpp / .h adds a parameterised mixer of variable width, to support GUI++. I've slightly changed it to add a getChannels() function, and to avoid crashes if the control structure allocations fail. Requires corresponding version of AudioStream from cores for complete safety.
Stability and merge update
Improved stability when deleting objects, as the old method of ensuring audio blocks weren't left in use was not well thought through. Also merges in latest changes from the upstream repo.
Teensy 3 support
First semi-official release with Teensy 3 support.
Working dynamic I2S objects + AudioAnalyzeEvent
Previous versions had problems with repeated creation and destruction of I2S objects, due to DMA channel leakage and not initialising the hardware properly. There were also problems due to attempts to transmit NULL audio blocks. These have been fixed and tested for AudioOutputI2S and AudioInputI2S on Teensy 4.1; other fixes for different hardware have been made but remain untested at this time. Note that Teensy 3.x is in any case unsupported by this release.
Known issue: when an I/O object is "destroyed" its static data remain, and in particular its DMA channel is still allocated and active - I don't know enough about the hardware to perform a proper tear-down of these.
In addition, an AudioAnalyzeEvent object has been added to aid synchronisation of foreground code with the audio engine, and for use in debugging.
Allow objects not in the main update list to execute
Previous versions did not execute objects which were unconnected, or were connected only to objects not in the main "update list". This is inconsistent with the original Audio library, and could cause unexpected results.
Note that this release only documents the changes made in the cores v0.2-alpha: both should be updated together.
Bugfix and minor feature update
- Bring into line with upstream development
- fix [upstream] issue PaulStoffregen#403