Play Amiga MOD, FastTracker 2 XM and Commodore 64 SID files from
Visual Studio Code. The audio engine is reused 1:1 from the
SoundTracker web project.
Usage
Right-click a .mod / .xm / .sid file in the Explorer →
SoundTracker: Play.
Or open the file and click the ▶ button in the editor toolbar.
Or use the Command Palette (Cmd/Ctrl+Shift+P) → SoundTracker: Play.
In the player panel:
▶ plays, ❚❚ / ⏹ stops.
For SID files, switch between subtunes with ⏮ / ⏭.
Development / testing
cd vscode-extension
npm install
npm run build # bundles with esbuild into dist/
npm run typecheck # TypeScript typecheck
To test the extension: open this folder (vscode-extension/) in VS Code and press
F5 (Extension Development Host). In the window that opens, open a workspace with
.mod / .xm / .sid files.
Structure
src/extension.ts — the extension host (reads the file, opens the webview).
src/webview/main.ts — the webview runtime (parses + plays).
src/player/… — the reused MOD / XM / SID engine from SoundTracker.
Notes
SID playback runs via a ScriptProcessorNode on the main thread (the original
AudioWorkletProcessor is converted, because an AudioWorklet module cannot be
loaded reliably within the strict CSP of a VS Code webview).
MOD and XM playback use the regular Web Audio API and are carried over unchanged.