Legend:
- ✨ - New addition
- 🗑️ - Removal
- 🛠️ - Bugfix/Adjustment
⚠️ - Breaking change
- 🛠️ Fix waveforms of the same size reusing the same graphic.
- 🛠️ Fix crashes when using single channel (mono) audio.
- 🛠️ Fix waveform not rendering because some properties were outside of their intended range.
- 🛠️ Fix waveform overflowing outside of its intended area.
- ✨ Added support for making waveforms from streamed sounds.
- No additional work on the user side needs to be done. If you pass a streamed sound to a
FlxWaveform.loadDataFrom...()method, it will automatically detect and load it. - Use the
FlxWaveformBuffer.fromVorbisFile()method to create an audio buffer from alime.media.vorbis.VorbisFile.
- No additional work on the user side needs to be done. If you pass a streamed sound to a
- ✨ Added the
FlxWaveform.waveformBufferproperty that exposes the waveform's audio buffer. - ✨ Added the
FlxWaveform.waveformOrientationproperty that controls whether the waveform should be drawn horizontally (left to right) or vertically (top to bottom). - ✨ Added the
FlxWaveform.waveformChannelPaddingproperty that controls the padding between waveform channels when theFlxWaveform.waveformDrawModeis set toSPLIT_CHANNELS. - 🛠️ Fixed waveform appearance.
- Previously the waveform would only store the peak value of an audio segment. This caused the waveform to always appear symmetrical. As part of the internal data rework, this has now been corrected and the waveform now keeps track of both the minimum and maximum values of a segment. As a side effect, this also makes the waveform accurate when visualizing very small durations.
- 🛠️ Fixed waveform desync.
- 🛠️ Fixed crash due to
FlxWaveformBuffertrying to access a property on a null Lime audio buffer. - 🛠️ Adjusted
FlxWaveform's constructor arguments.xandyare now optional.widthandheightare now mandatory.
- 🛠️
FlxWaveform.waveformDurationnow defaults to 5 seconds (5000ms) instead of 0. - 🛠️ Various documentation adjustments.
- ✨ Added
waveformTimeandwaveformDuration.- Set
waveformDurationto the length (in miliseconds) you want to visualize. - Set
waveformTimeto set the audio time (in miliseconds) the waveform will start at.
- Set
⚠️ 🗑️ RemovedsetDrawRange()in favor ofwaveformTimeandwaveformDuration.- ✨ Added
waveformBarSize,waveformBarPadding.- Allows for more customizable waveform designs!
- Increase the bar size for more blockier waveforms which are also less expensive to compute.
- ✨ Added
waveformRMSColor,waveformDrawRMS.- Allows for visualizing the RMS (root mean square) of the audio data.
- The RMS represents the average/effective loudness of audio.
- ✨ Added
waveformDrawBaseline.- Simply draws a line in the middle of the waveform to represent 0
- ✨ Added
SINGLE_CHANNEL(channel)toWaveformDrawModeto allow drawing a single channel across the entire waveform area. ⚠️ 🛠️ Movedflixel.addons.display.waveform.BytesExttoflixel.addons.display.waveform._internal.BytesExt.- This was never meant to be a public class anyways...
- 🛠️ A good chunk of code was refactored, so probably quite a few bug fixes?
- 🛠️ Fix waveform not properly scaling when resizing
- ✨ Added Flash support.
- ✨ Added experimental HTML5 support.
- 🛠️ 32bit audio now assumes it's stored as in Float32 format.
- This is temporary until a proper way to differentiate the two is found. See #9
- 🛠️ Samples are now normalized in the range (-1, 1) instead of (0, 1).
- This is an internal change and should have no effect on anything public.
- ✨ Added support for 24bit audio.
- 🛠️ Fix crashing when using mono sounds.
- 🛠️ Bugfixes.
- 🎉 Initial release.