Plugins & extensions

Plugins extend Sonodex with tag rules, cue templates or WebAssembly modules that run in isolation and only make verifiable suggestions. Since 2.0, extensions can add their own views and data sources, and since 2.2 their own page.

ProLast updated:

On this page

What a plugin can doLink to “What a plugin can do”

  • Tag rules: tag new tracks by genre or metadata.
  • Cue templates: cue anchors for cue generation.
  • WebAssembly modules: read the selected track metadata and propose changes to tags and fields.

ConfidenceLink to “Confidence”

  • Modules run isolated, without file or network access.
  • They receive no file paths, no audio, no fingerprints and no account data.
  • A run has two seconds and at most 500 tracks.
  • Every change first appears in a preview; applying it is a single shared undo step.

UseLink to “Use”

You import and manage plugins under Settings → Plugins. “Install Warm-up Toolkit” provides an example.

Build your own pluginsLink to “Build your own plugins”

A plugin is a JSON package with a manifest and, optionally, a WebAssembly module. The contract and an example are described in the plugin SDK.

Build a package (in the Sonodex source code)
node scripts/build-plugin.mjs manifest.json module.wat output.plugin.json

Extensions (since Sonodex 2.0)Link to “Extensions (since Sonodex 2.0)”

With Extension SDK v2, extensions can do much more than make suggestions:

  • Your own views and workspaces, also as a separate window or docked.
  • Data sources for metadata and other information.
  • Tools for preparing tracks.
  • Hardware via MIDI and OSC.

Extensions come from signed directories, with updates and a rollback to the previous version. A developer mode helps you build your own extensions.

The “Extensions” pageLink to “The “Extensions” page”

Since 2.2, extensions have their own page in the bar, in the “Go to” menu and with Ctrl/⌘+Shift+X; the plugins described above are listed separately under “Legacy plugins”. Since 2.2.1 the page shows each extension as a card with detail tabs. In addition:

  • Installation as a .cfext file or from directories, with trust and life cycle per extension, dependencies and activity.
  • Setup export, your own keyboard shortcuts and themes, files and drag and drop, and background services.
  • Connections to Stream Deck, Bitfocus Companion, the local MCP server and the local API, plus a bridge to the exports.
  • You allow websites that an extension wants to reach individually; an extension can also take over pasted links. The detail page shows an extension’s network limits and current status.
  • Since 2.1, extensions may – only with your permission – share Sonodex’s own sign-ins to Beatport, SoundCloud, TIDAL, Last.fm, AcoustID and SonoVault. They never see credentials; under Integrations you see and revoke who uses which account.

New in the SDKLink to “New in the SDK”

  • Since 2.2: larger and binary responses, custom request limits within fixed upper bounds and sign-ins with session cookies held by Sonodex.
  • Since 2.2.1: a download queue with batches, naming templates, fetching a better version of a linked track, watching feeds and new releases, HLS and tagging.
  • Matching by audio fingerprint: Sonodex calculates the fingerprint itself; only the fingerprint and duration are sent to the extension, never the audio file.

Something missing or wrong? Let us know. The app interface is available in English and German.

Original Sonodex app · Demo library