A little widget for displaying a recorded waveform.

Expects a slice of int32 samples, and displays them in a familiar way. Doesn’t “curve” the waveform, simply plots it.

Can just display data 1 sample per pixel or resample data (uses disintegration/imaging to do nearest neighbour image resampling) to the width of the widget.

Default is themable, Colors are overridable. Background can be removed or not.

Usage

You can use this directly from the source code using standard go imports:

go get git.martyn.berlin/martyn/fyne-widgets/pkg/waveform@latest

Or you can download the code directly from git:

git clone https://git.martyn.berlin/martyn/fyne-widgets

Screenshots

The component is demonstrated in the following images: