Hi,
I'm pleased to present 'wavview', a single-file-abstraction waveform viewer.
It is fully "vanilla" (no external dependencies) and built with data structures. I have tried to make it versatile and easily integrable into more higher-level applications or components: no connection is required and the title is hidden.
It displays the content of a table, and allows you to zoom/scroll through the data, select a range, and set a single-point index (e.g playback position). This can be done by sending messages, or via interaction with mouse and modifier keys.
The drawing consists of as many vertical segments ("bars") as there are pixels in the width of the object. Each bar goes from the minimum value to the maximum value among the samples contained in the interval represented by the bar, so that peaks are always displayed correctly, regardless of the zoom factor.
An additional optimization is performed, which computes several subsampled min-max tables in advance; this significantly reduces the number of calculations required to compute a single bar, especially with large tables.
It's available on Deken, just search "wavview".
Feel free to report issues or requests there: https://github.com/metalunet/pd-wavview (there's also a small animated gif demo in the front page).
p.s: wavview requires Pd 0.56 to run, because it uses the new 'goprect' message.
Antoine Rousseau
Pd-announce mailing list -- pd-announce@lists.iem.at To unsubscribe send an email to pd-announce-leave@lists.iem.at
On Fri, 2025-08-08 at 19:56 +0200, Antoine Rousseau wrote:
I'm pleased to present 'wavview', a single-file-abstraction waveform viewer.
I'm very pleased to hear about this. For a long time I've been missing a good waveform display. I tried to do something similar¹, but yours is way better. And it is astonishingly smooth to edit.
Thanks for sharing.
Roman
¹https://github.com/reduzent/netpd-instruments/blob/main/abs/rh_wavedisplay.p...