Skip to content

Commit

Permalink
Version 3.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
hvianna committed Oct 10, 2021
2 parents 5bb9491 + 710df5a commit f84619d
Show file tree
Hide file tree
Showing 12 changed files with 779 additions and 615 deletions.
80 changes: 51 additions & 29 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,42 @@
Changelog
=========

## version 3.6.0 (2021-10-10)

### Added: <!-- {docsify-ignore} -->

+ [`alphaBars`](README.md#alphabars-boolean) effect, which is similar to `lumiBars` but preserves bars' amplitudes and also works on discrete frequencies mode and radial visualization;
+ [`outlineBars`](README.md#outlinebars-boolean) effect, which extends the usage of `lineWidth` and `fillAlpha` to octave bands modes;
+ [`isAlphaBars`](README.md#isalphabars-boolean-read-only) and [`isOutlineBars`](README.md#isoutlinebars-boolean-read-only) read-only properties.

### Changed: <!-- {docsify-ignore} -->

+ `showLeds` and `isLedDisplay` **have been deprecated** in favor of [`ledBars`](README.md#ledbars-boolean) and [`isLedBars`](README.md#isledbars-boolean-read-only), for consistent naming of effects.

### Fixed: <!-- {docsify-ignore} -->

+ [`getEnergy()`](README.md#getenergy-preset-startfreq-endfreq-) would not accept a fractionary initial frequency.

### Improved: <!-- {docsify-ignore} -->

+ Regenerate the current gradient if/when it is re-registered [(#21)](https://github.com/hvianna/audioMotion-analyzer/issues/21);
+ The [fluid demo](/demo/fluid.html) now shows the status of read-only flags, for better visualization of interactions between different properties.


## version 3.5.1 (2021-09-10)

+ Removed named tuples from the TS type definitions file, for improved compatibility [(#20)](https://github.com/hvianna/audioMotion-analyzer/issues/20).


## version 3.5.0 (2021-07-15)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ [`getBars()`](README.md#getbars) method, which provides real-time analyzer data;
+ [`useCanvas`](README.md#usecanvas-boolean) property to disable rendering to the canvas - thanks **@davay42** for [suggesting this feature](https://github.com/hvianna/audioMotion-analyzer/issues/19);
+ A tool to view/debug the generated octave bands - see the `/tools` folder.

### Improved: {docsify-ignore}
### Improved: <!-- {docsify-ignore} -->

+ Fine-tuned generation of octave bands;
+ Improved FFT data interpolation;
Expand All @@ -25,11 +47,11 @@ Changelog

## version 3.4.0 (2021-05-29)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ [`fsElement`](README.md#fselement-htmlelement-object) constructor option, for easily handling fullscreen on any element.

### Fixed and improved: {docsify-ignore}
### Fixed and improved: <!-- {docsify-ignore} -->

+ Fixed radial analyzer too wide in vertical containers;
+ Fixed out of bounds bar in mode 0 (discrete frequencies) with `mirror` set to -1;
Expand All @@ -39,11 +61,11 @@ Changelog

## version 3.3.0 (2021-05-03)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ New horizontal mirroring effect; see [`mirror`](README.md#mirror-number) property - thanks **@lexterror** for [suggesting this feature](https://github.com/hvianna/audioMotion-analyzer/issues/16).

### Improvements: {docsify-ignore}
### Improvements: <!-- {docsify-ignore} -->

+ `colorStops` type definition updated for improved compatibility ([see #17](https://github.com/hvianna/audioMotion-analyzer/pull/17)) - props to [@Staijn1](https://github.com/Staijn1).

Expand All @@ -55,14 +77,14 @@ Changelog

## version 3.2.0 (2021-04-03)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ [`getEnergy()`](README.md#getenergy-preset-startfreq-endfreq-) method - see it in action on [this pen](https://codepen.io/hvianna/pen/poNmVYo) - thanks **@Staijn1** for [suggesting this feature](https://github.com/hvianna/audioMotion.js/issues/12#issuecomment-733045035);
+ [`setLedParams()`](README.md#setledparams-params-) method, which allows you to customize the look of the LEDs - you can try it in the [fluid demo](https://audiomotion.dev/demo/fluid.html);
+ [`connectSpeakers`](README.md#connectspeakers-boolean) constructor option - thanks **@evoyy** for the [suggestion](https://github.com/hvianna/audioMotion-analyzer/issues/13);
+ [`connectedTo`](README.md#connectedto-array-read-only) read only property.

### Improvements: {docsify-ignore}
### Improvements: <!-- {docsify-ignore} -->

+ When passing an AudioNode in the `source` property of constructor, it's no longer necessary to explicitly provide the `audioCtx`, as it will be inferred from the source node - thanks [@evoyy](https://github.com/evoyy) for this idea;
+ Disconnecting the output from the speakers no longer prevents the analyzer from working on Chromium-based browsers;
Expand All @@ -71,7 +93,7 @@ Changelog
+ Refactored some code for improved legibility, performance and file size (still below 20kB minified! :sunglasses:);
+ Added compatibility with *standardized-audio-context* library - thanks [@richclingman](https://github.com/richclingman) for reporting this issue.

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ `energy` and `peakEnergy` properties have been **deprecated and will be removed in the next major release** - use `getEnergy()` and `getEnergy('peak')` instead;
+ FPS display font size is now scaled relatively to the canvas height;
Expand All @@ -80,18 +102,18 @@ Changelog

## version 3.1.0 (2021-02-27)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ TypeScript definition file (props to [@alex-greff](https://github.com/alex-greff)).

### Improvements: {docsify-ignore}
### Improvements: <!-- {docsify-ignore} -->

+ Generate only the currently selected gradient on mode/gradient changes.


## version 3.0.0 (2020-11-28)

### BREAKING CHANGES: {docsify-ignore}
### BREAKING CHANGES: <!-- {docsify-ignore} -->

+ The `analyzer` object is no longer exposed - use the new [`connectInput()`](README.md#connectinput-source-) method to connect all audio sources and [`connectOutput()`](README.md#connectoutput-node-) to connect the analyzer output to other nodes;
+ `audioSource` property has been renamed to [`connectedSources`](README.md#connectedsources-array), which now returns an **array** of all connected audio sources;
Expand All @@ -101,7 +123,7 @@ Changelog
+ `showScale` property has been renamed to [`showScaleX`](README.md#showscalex-boolean);
+ `version` is now a **static** property and should always be accessed as [`AudioMotionAnalyzer.version`](README.md#audiomotionanalyzerversion-string-read-only).

### New features: {docsify-ignore}
### New features: <!-- {docsify-ignore} -->

+ Dual channel (stereo) analyzer option;
+ Built-in volume control;
Expand All @@ -118,20 +140,20 @@ Changelog
+ [`splitGradient`](README.md#splitgradient-boolean)
+ [`volume`](README.md#volume-number)

### Improvements: {docsify-ignore}
### Improvements: <!-- {docsify-ignore} -->

+ Automatically unlock/resume the AudioContext on first user click, so you don't need to handle this in your code anymore;
+ Improved FFT data interpolation on low frequencies (especially noticeable in 1/12th and 1/24th octave bands);
+ Corrected initial amplitude of line / area graph.

### Fixed: {docsify-ignore}
### Fixed: <!-- {docsify-ignore} -->

+ A compatibility issue that could cause `reflexRatio` not to work in some environments.


## version 2.5.0 (2020-10-07)

### Improvements: {docsify-ignore}
### Improvements: <!-- {docsify-ignore} -->

+ Behavior of the [`onCanvasResize`](README.md#oncanvasresize-function) callback is now consistent across different browsers. Changes worth of note:
1. on fullscreen changes, **only a `'fschange'` *reason* will be reported** to the callback function - no more redundant `'resize'` calls;
Expand All @@ -147,14 +169,14 @@ Changelog

## version 2.4.0 (2020-07-18)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ New **Radial** visualization - see [`radial`](README.md#radial-boolean) and [`spinSpeed`](README.md#spinspeed-number) properties and try them in the [demos](https://audiomotion.dev/demo)! - thanks **@inglesuniversal** for [suggesting this feature](https://github.com/hvianna/audioMotion.js/issues/6);
+ [`showScaleY`](README.md#showscaley-boolean) property for displaying the level (dB) scale on the analyzer's vertical axis;
+ [`energy`](README.md#energy-number-read-only) and [`peakEnergy`](README.md#peakenergy-number-read-only) read-only properties;
+ [Known issues](README.md#known-issues) section added to the documentation.

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ [`setOptions()`](README.md#setoptions-options-) called with no argument now **resets all configuration options to their default values** (it used to raise an error);
+ The LED effect code has been refactored to improve appearance and compatibility with other (future) effects;
Expand All @@ -165,62 +187,62 @@ Changelog

## version 2.3.0 (2020-06-08)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ [`binToFreq()`](README.md#bintofreq-bin-) and [`freqToBin()`](README.md#freqtobin-frequency-rounding-) methods;
+ [`reflexBright`](README.md#reflexbright-number) property, which allows to adjust the brightness of the reflected image.

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ Reverted the change to `reflexAlpha` introduced in [v2.2.1](https://github.com/hvianna/audioMotion-analyzer/releases/tag/2.2.1)
+ Removed the forced black layer off the reflection background.


## version 2.2.1 (2020-05-31)

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ ~~Improved the Reflex effect in [`overlay`](README.md#overlay-boolean) mode - the [`reflexAlpha`](README.md#reflexalpha-number) property is
now used to adjust the opacity of a dark layer applied *over* the reflection area, which prevents undesired transparency of the reflection itself
and creates a consistent effect, whether overlay mode is on or off~~ **(reverted in v2.3.0)**;

+ The package source code has been moved from the `dist` to the `src` folder.

### Fixed: {docsify-ignore}
### Fixed: <!-- {docsify-ignore} -->

+ Prevent showing leds below the 0 level, when both reflex and overlay are active.


## version 2.2.0 (2020-05-19)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ New [`overlay`](README.md#overlay-boolean) and [`bgAlpha`](README.md#bgalpha-number) properties allow displaying the analyzer over other contents.
[Check out the new demo!](https://audiomotion.dev/demo/overlay.html)

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ Corrected the documentation for the [`registerGradient()`](README.md#registergradient-name-options-) method, which stated the `bgColor` property was required (it has always been optional).


## version 2.1.0 (2020-04-06)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ Customizable Reflex effect - see [`reflexRatio`](README.md#reflexratio-number) and try it in the [demo](https://audiomotion.dev/demo/fluid.html).


## version 2.0.0 (2020-03-24)

### Added: {docsify-ignore}
### Added: <!-- {docsify-ignore} -->

+ New [`lineWidth`](README.md#linewidth-number) and [`fillAlpha`](README.md#fillalpha-number) properties for [mode 10](README.md#mode-number) customization, so it can now work as an area graph (default), a line graph or a combination of both;
+ New [`barSpace`](README.md#barspace-number) property for customizable bar spacing in octave bands modes;
+ You can now provide an external AudioContext via `audioCtx` property in the [constructor's `options`](README.md#constructor), allowing you to share the same context among different instances;
+ Custom [error codes](README.md#custom-errors);
+ New [`version`](README.md#version-string-read-only) property;

### Changed: {docsify-ignore}
### Changed: <!-- {docsify-ignore} -->

+ Increased default spacing between bars in octave bands modes - to get the previous look, set [`barSpace`](README.md#barspace-number) to **1**;
+ Improved accuracy when positioning the X-axis scale labels in octave bands modes;
Expand All @@ -229,13 +251,13 @@ and creates a consistent effect, whether overlay mode is on or off~~ **(reverted
+ Several functions were refactored for improved legibility, memory usage and performance;
+ Improved documentation and demos;

### Fixed: {docsify-ignore}
### Fixed: <!-- {docsify-ignore} -->

+ The multi-instance demo should now work on browsers other than Firefox (it now uses a shared audio context);
+ `isFullscreen` property now correctly reads `false` (instead of `undefined`) when the analyzer is not in fullscreen (*potentially breaking change*);
+ Setting one of the callback functions to `undefined` with `setOptions()` now properly unregisters the callback (*potentially breaking change*);

### API breaking changes: {docsify-ignore}
### API breaking changes: <!-- {docsify-ignore} -->

+ `audioCtx`, `analyzer`, `canvas` and `canvasCtx` objects are now read-only (`canvasCtx` properties may be safely modified while inside the callback for `onCanvasDraw`);
+ `frame` and `time` properties are not exposed anymore, as they are intended for internal use only;
Expand Down
Loading

0 comments on commit f84619d

Please sign in to comment.