Skip to content

IWaveformViewer

Waveform viewer canvas controller and peak renderer.

PropertyTypeInherited from
canvasToTimeFrequency?(x: number, y: number) => objectNavigableViewer.canvasToTimeFrequency
getFrequencyBounds?() => FrequencyBoundsNavigableViewer.getFrequencyBounds
getTimeBounds?() => TimeBoundsNavigableViewer.getTimeBounds
timeFrequencyToCanvas?(time: number, frequency: number) => objectNavigableViewer.timeFrequencyToCanvas
canvasToTime(x: number): number;

Converts canvas X pixel position to time in seconds.

ParameterType
xnumber

number


destroy(): void;

Disposes the renderer and event listeners.

void

IDataViewer.destroy


getCanvas(): HTMLCanvasElement;

Returns the bound HTML canvas element.

HTMLCanvasElement

NavigableViewer.getCanvas


getConfig(): ResolvedWaveformConfig;

Returns the resolved waveform configuration options.

ResolvedWaveformConfig

NavigableViewer.getConfig


getRendererKind(): string;

Returns the active rendering engine (canvas2d, webgl2, or bars).

string


optional getScope(): object;

object

getDuration(): number;

number

optional getSampleRate(): number | undefined;

number | undefined

NavigableViewer.getScope


getSource(): AudioSource;

Returns the active audio source.

AudioSource


getStatus(): WaveformStatus;

Returns the current render status.

WaveformStatus


getViewport(): WaveformViewport;

Returns the visible time viewport.

WaveformViewport

NavigableViewer.getViewport


getViewportController(): IViewportController;

Returns the bound viewport controller.

IViewportController


on<Name>(name: Name, handler: (event: WaveformEvents[Name]) => void): () => void;

Subscribes to waveform events.

Type Parameter
Name extends keyof WaveformEvents
ParameterType
nameName
handler(event: WaveformEvents[Name]) => void

() => void


render(): Promise<void>;

Renders the current waveform viewport asynchronously.

Promise<void>


requestRender(): void;

Schedules a render on the next animation frame.

void

NavigableViewer.requestRender


setConfig(input: Partial<WaveformOptions>): void;

Alias for updateConfig.

ParameterType
inputPartial<WaveformOptions>

void


setSource(source: AudioSource): void;

Updates the audio source.

ParameterType
sourceAudioSource

void

IDataViewer.setSource


setViewport(viewport: Partial<ViewportConfig>): void;
ParameterType
viewportPartial<ViewportConfig>

void

NavigableViewer.setViewport


timeToCanvas(time: number): number;

Converts time in seconds to canvas X pixel position.

ParameterType
timenumber

number


updateConfig(input: Partial<WaveformOptions>): void;

Updates configuration options and triggers a re-render.

ParameterType
inputPartial<WaveformOptions>

void