I renamed my plugin two weeks after launch
Slammer shipped on April 12. By April 26, it wasn’t called Slammer anymore.
The reason is unromantic. Klevgrand already ships a percussion plugin called Slammer. They have prior use, prior registration, and a logo I would describe as “more registered than mine.” The right move was to rename mine, not theirs.
I picked Niner because the plugin’s whole 909-style clap voice is what shipped in v0.6.0. The lineage is in the name. Also “Niner” was available on every namespace I could find at 11pm on a Saturday: AUR, crates.io, GitHub, KVR, the .com, the trademark database. Five for five is rare; I took it.
What broke on purpose
Plugin identity in a DAW isn’t the user-visible name — it’s the CLAP_ID and VST3_CLASS_ID, host-side fingerprints DAWs use to reload the right plugin into the right track when you reopen a project. If I’d kept those IDs and only swapped the wordmark, two “Slammer” plugins would have fought for the same slot in every host’s plugin list. Fun for nobody.
So both IDs are new in v0.7.0:
CLAP_ID:com.hyperfocusdsp.slammer→com.hyperfocusdsp.ninerVST3_CLASS_ID:*b"SlammerKickSy01\0"→*b"NinerKickSynth01"
That means any DAW project saved with the old plugin will show Niner as missing. Nothing in the project file or audio is lost — drag Niner onto the track and the parameters re-bind. Inconvenient. Sorry.
What migrated cleanly
Things that didn’t have to break, didn’t:
- DSP, parameters, presets are byte-identical to v0.6.0. No knob moved, no curve changed, no envelope re-tuned. The plugin is the plugin; only the headstock changed.
- Data directory auto-migrates on first launch via
std::fs::rename. Your user presets, hidden-preset filters, and UI scale settings come along without you doing anything. - AUR: the new
ninerpackage declaresreplaces=('slammer'), soyay -Syuon a system with the old package offers the swap automatically. - GitHub repo redirects from
/slammerto/ninerforever. Old clone URLs, old release URLs, old issue links — all still resolve. GitHub is good at this.
What didn’t migrate, and why
- Bookmarks to
hyperfocusdsp.com/plugins/slammerwill 404 until the static redirects land. Doing that next. - The bounce-button devlog post moved to
/devlog/2026-04-18-niner-bounce-button. - DAW projects, as above. Re-wire by hand. Five seconds per project; no programmatic fix exists.
The lesson
Search the trademark databases before shipping a public beta, not after. USPTO TESS, EUIPO eSearch, KVR’s plugin database, crates.io, AUR. Took 15 minutes when I finally did it. Would have saved a week of cascading renames and a v0.7.0 hard-break I didn’t want to ship.
There is a stage of grief between “I’ll keep the name and hope nobody notices” and “okay, Niner” that lasts about six hours. I do not recommend it.
If you’ve got Slammer installed and you actually use it: thanks. Niner is one yay -S niner (or a download from the releases page) away. Same plugin. Different name on the same headstock.