Keeping licensing out of the audio thread

Hey Gang,

I’ve been working on SoundSync, a licensing system for audio software developers.

I was sick a fiddling around with different options as licensing tends to become its own side-project. You start with a serial check, then need activation, restore, machine limits, refunds, revoked licenses, offline behavior, account login, support flows, blah blah blah and suddenly there is a lot of non-audio code living inside an audio product.

For the JUCE side, I wanted the integration to follow one BIG rule, licensing work should NOT belong in processBlock.

The approach is a JUCE package with a licensing component/runtime that handles activation, validation, restore, deactivation, and local machine state away from the audio callback. The plugin reads a small public state and uses that to decide whether protected features should be available.

That is the idea of SoundSync in a nutshell. Give plugin developers licensing and customer access control without turning every plugin project into a custom licensing backend. That means its SUPER easy to set up.

I’m sharing this here because the architecture is specifically aimed at JUCE plugin developers and I thought the audio-thread boundary was worth explaining.

If you have any questions or concerns, feel free to reach out.

More information about Soundsync can be found HERE.

Best and Happy Developments,

Aaron