Added more documentation.

This commit is contained in:
2022-04-16 04:57:34 -05:00
parent bf35220703
commit d2343a611b
8 changed files with 129 additions and 20 deletions

View File

@@ -1,5 +1,6 @@
/**
* A visualizer for an audio stream.
* Instantiates a visualizer with a given FFT window size and media source.
* Provides a simplified access point to the frequency bins in the form of a visualization update listener.
*/
export default class Visualizer {

View File

@@ -1,5 +1,12 @@
import Visualizer from "./Visualizer.js";
/**
* A visualizer update manager offers an extra layer of abstraction on top of the {@link Visualizer}'s update listener.
*
* Specifically, the update manager handles updates directly from the {@link Visualizer} and checks for changes in the individual bins. These changes are then broadcasted to the individual bin listeners.
* If a bin has not changed, then it will not receive an update call. This means that there may be savings in function calls if this is used over the {@link Visualizer} directly.
*/
export default class VisualizerUpdateManager {
/**
*

View File

@@ -1,2 +1,25 @@
export { default as Visualizer } from "./Visualizer.js";
export { default as VisualizerUpdateManager } from "./VisualizerUpdateManager.js";
import Visualizer from "./Visualizer.js";
import VisualizerUpdateManager from "./VisualizerUpdateManager.js";
/**
* Instantiates a visualizer.
*
* @see Visualizer for information on the returned object.
* @param {HTMLMediaElement|MediaSource} mediaSource the source of audio to be visualized.
* @param {number} [fftSize=1024] the FFT window size.
* @returns {Visualizer} the visualizer with the given media source and the given FFT size.
*/
export function createVisualizer(mediaSource, fftSize = 1024) {
return new Visualizer(mediaSource, fftSize);
}
/**
* Instantiates a VisualizerUpdateManager.
*
* @see VisualizerUpdateManager for information on the returned object.
* @param {Visualizer} visualizer the visualizer this update manager manages.
* @returns {VisualizerUpdateManager} the instantiated visualizer update manager for the given visualizer.
*/
export function createVisualizerUpdateManager(visualizer) {
return new VisualizerUpdateManager(visualizer);
}