v0.0.3
Released on March 9, 2020
Downloads
No downloads available.
Changes
Added
- More test cases for File
- tests for
Table<T>
- misc/genstep.py, similar to gensinc.py, generates bandlimited step sets for Osc
- implementation for WaveOsc
- NoiseGen, buffered version of NoiseChannel
- Envelope, moved code from EnvChannel here (will replace EnvChannel)
- Sweep class, replaces SweepPulseChannel
- HardwareFile struct (replaces ChannelFile)
Changed
- Fix exception being thrown when attempting to insert into table of size one less than maximum
- Rewrote Osc class. Subclasses must edit the delta buffer manually instead of using
deltaSet
. - Osc no longer uses sinc sets. It uses bandlimited steps instead, similiar to blargg's http://www.slack.net/~ant/bl-synth/11.implementation.html.
Osc::generate
uses floats for samples instead of int16_t. Samples range from -1.0-1.0, exceeding both limits due to overshoot (so volume will need to be adjusted or clipping will occur). - Mixer no longer emulates terminal volume/panning (tracker doesn't use it)
- Mixer works with sample buffers as opposed to individual samples from each channel
- Length counters are no longer emulated by the Synth
- Mixer and Sequencer were moved into Synth, as only the synth used these internally.
Removed
Osc::deltaSet
as only WaveOsc needed this methodOsc::setMute
andOsc::muted
, replaced byOsc::disable
andOsc::disabled
- misc/gensinc.py no longer needed, replaced by genstep.py
- Channel, EnvChannel, PulseChannel, SweepPulseChannel, WaveChannel, NoiseChannel, ChannelFile, Mixer and Sequencer classes