Releases: hvianna/audioMotion-analyzer
version 4.5.0
What's new
Added:
fadePeaks
- peaks fade out instead of falling down - thanks @TF3RDL for this idea;gravity
- customize peak drop acceleration;peakFadeTime
- customize peak fade-out time;peakHoldTime
- customize peak hold time;- UMD module export - allows using the module via require() and provides a global variable for easier usage in the browser - thanks @shahkashani for the suggestion (#71 and #72); see the Usage section for more details.
The new gravity equation restores the original peak drop behavior and decay curve (using the default value) of versions 1.0.0 through 3.4.0.
Check out the peak drop analysis tool for more information on the evolution of the equation and to compare different values of gravity
.
As usual, you can interact with all the new properties in the fluid demo.
version 4.4.0
What's new
Added:
canvas
property in the constructor options to use your own canvas - thanks @orangecoding for the suggestion;getOptions()
- retrieve all analyzer settings as an options object. Also added a getOptions() button to fluid and multi demos to copy the current settings to the clipboard - thanks @biigpongsatorn for the suggestion;radialInvert
- render radial spectrum bars towards the center of the screen;radius
- customize the size of the radial spectrum - thanks @orangecoding for the suggestion.
Changed & improved:
- The constructor can now take the options object as the first argument if you don't need to define the container;
start
has been explicitly marked as a constructor-specific property in the Options object description and will no longer work withsetOptions()
as of the next major release.
Fixed:
- Bug preventing radial mode from working when set in the constructor options - thanks @lexterror and @ianrothmann for reporting it;
- Reverted an unintended property name change in the object passed to the onCanvasDraw callback, introduced in v4.2.0.
version 4.3.0
What's new
Added:
- 'dual-horizontal' option for
channelLayout
;
Fixed:
- Fixed opacity for reflex effect on dual-combined channel layout.
Improved:
- Improved
maxFPS
frame rate throttling.
version 4.2.0
What's new
Added:
- new
stopTracks
argument todisconnectInput()
- thanks @hookedupjoe (#52); destroy()
- thanks @lucienimmink for the suggestion;maxFPS
- set the maximum desired animation frame rate;peakLine
- show peaks as a continuous line for Graphmode
;start()
andstop()
methods.
Fixed:
Improved:
version 4.1.1
- Fix a rendering bug when
roundBars
is combined withmirror
andradial
; - Add a polyfill for
Array.findLastIndex()
to restore compatibility with not-so-recent browsers.
version 4.1.0
What's new:
Added:
colorMode
- additional options for coloring analyzer bars: by bar amplitude (level) or bar position (index);roundBars
- rounded corner analyzer bars;isRoundBars
read-only property;trueLeds
- your LED bars now more vintage than ever!- New
level
property for registered gradients.
Fixed:
- Avoid drawing the Y-axis scale and unlit LEDs twice, in 'dual-combined' channel layout.
Improved:
- Improved frequency scales labeling (especially for
noteLabels
) - label sizes were slightly reduced in fullscreen; - Code cleanup and optimizations.
version 4.0.0
What's new:
🚨 BREAKING CHANGES:
-
Removed deprecated properties:
- useenergy
getEnergy()
instead- useisLedDisplay
isLedBars
instead- usepeakEnergy
getEnergy('peak')
instead- useshowLeds
ledBars
instead
-
getBars()
now includes an additionalfreq
property for each element, representing the center frequency of the band.
In addition, the range of each band has been adjusted so that frequencies that were previously at the lower edge (freqLo
) are now located at the center of the band. -
stereo
has been DEPRECATED and will be removed in version 5 - usechannelLayout
instead.
Added:
ansiBands
- use ANSI/IEC preferred frequencies for the octave bands;channelLayout
- adds option for dual channel combined spectrum, with both channel graphs overlaid;frequencyScale
- adds linear and perceptual (Bark/Mel) frequency scales;gradientLeft
andgradientRight
- allow to select different gradients for each channel;isBandsMode
read-only property;linearAmplitude
- use linear values instead of dB for spectrum amplitudes;linearBoost
- amplify low energy values when using linear amplitude;noteLabels
- display musical note labels instead of frequency values on the X-axis;weightingFilter
- select from five different weighting filters for improved spectrum visualization;- Two new built-in gradients: orangered and steelblue.
Thank you @jonathan-annett (#28) and @TF3RDL (#30 and #38) for the suggestions that led to the implementation of several of these new features.
Fixed:
- LED peaks showing below zero level when
reflexRatio
> 0.
Changed and improved:
- Optimized generation of octave bands, with more accurate ranges and center frequencies;
- Frequency labels on the X-axis now show different values depending on the value of
ansiBands
, to properly match the bands' center frequencies; - The
onCanvasDraw
callback is now passed an additional object with timestamp and gradients information; - The prism and rainbow gradients were recreated using the beautiful 12-bit rainbow palette by Kate Morley - If you need the old colors check this post;
- Custom gradients can now register a single color;
splitGradient
now works for horizontal gradients inradial
visualization;maxFreq
is now capped to half the AudioContext's sample rate (Nyquist frequency);- Export additional types and interfaces in the TypeScript definition file;
- Code optimizations, minor fixes and clean-up;
- Revised and improved demos and documentation.
version 4.0.0-beta.5
What's new:
New in 4.0.0-beta.5:
- Strings for dual
channelLayout
modes changed from camelCase to hyphen-separated words; - The dual-vertical channel layout now properly displays background colors from both selected gradients;
- Fixed
overlay
display in dual-combined channel layout; - Added two new built-in gradients: 'orangered' and 'steelblue'.
version 4.0.0-beta.4
Version bump.
version 4.0.0-beta.3
Version bump (beta.2 published to the wrong tag on npm) 🤦♂️