# WaveSurferSB A SpiderBasic wrapper for [wavesurfer.js v7](https://wavesurfer.xyz) — audio waveform visualization and playback. This is rough and partially untested. It covers the core API (create, load, play, pause, seek, zoom, events…) and three plugins: **Timeline**, **Minimap**, and **Spectrogram**. Other plugins can be loaded via the generic `RegisterPlugin()` procedure. ## Quick Start ```spiderbasic IncludeFile "WaveSurferSB.sbi" Procedure OnLoaded(Success) If Success Global ws = WaveSurferSB::Create("#waveform", WaveSurferSB::#DragToSeek) WaveSurferSB::TimelineCreate(ws) WaveSurferSB::Load(ws, "audio.mp3") EndIf EndProcedure WaveSurferSB::Download(@OnLoaded(), "timeline") ``` ## Files - `WaveSurferSB.sbi` — the module - `WaveSurferSB_Plugins_Example.sb` — working example with all three plugins ## Notes - Handles the AMD/UMD conflict with SpiderBasic's Dojo runtime automatically - Loads from unpkg CDN by default; pass `UseLocalFiles = #True` to load from `LocalFiles/JS/` - Each plugin procedure has a simple form and an `_ex` form accepting raw JSON options