[Solved] Elegant implementation for a trial period?



I have a plugin that uses the OnlineUnlockStatus class to check if the plugin is registered on my database. At the moment it requires the user to have a key for the plugin before the plugin can be used at all.
However, I want to implement a trial period so users can use the plugin for a total of 2 hours (for example) before being required to purchase a key. Specifically, I want the trial period to allow 2 hours of total usage as opposed to other methods that lock the software after 30 days or so from the installation date.
Can anyone suggest an elegant way to implement such a trial period in a JUCE app/plugin? I have a few ideas floating around in my head but suspect there’s a much better way of handling this.


If you’re using online unlocking, why not use online trial period management? Have the plugin ping home when in “trial mode” to record every 10min or something. I know the idea of plugin’s calling home is a big no-no, but it seems to me that’s changing? Anyway “calling home” could be a trial mode-only thing.


easily blocked with tools like Little Snitch and other firewalls. Just build a stripped-down free version of your plugin that people can test drive, like what SoundRadix did with Surfer Boogie.