Automatic license file placement, like user presets
-
Any interest in this as a PR? Or are you all handling license files in your installer?
I extended HISE to write the project's LICENSE.txt file into the AppData folder on first launch.
Same mechanism as the UserPresets system.
- When you compile the plugin VST/AU, it looks for a LICENSE.txt file in the project root
- If it finds one, it bundles into the embedded data
- On first plugin launch, it writes the LICENSE.txt to the user's AppData folder, next to UserPresets
- It respects the version number, same as UserPresets, and overwrites if the version has changed
-
@dannytaurus I include this in my installer, you could also do it through a HISE script.
-
@David-Healey How would you do it with script?
-
@dannytaurus I'd include the license in a .js file, then use
File.writeString()to put it into a file in the app data folder. -
@David-Healey Gotcha. Problem with that method is keeping two separate copies/formats of the license text in sync, assuming you also want to display it on your website/elsewhere too.
I'm not even sure how I want to show/store the plugin license yet.
I looked at a bunch of other (well-known) plugins on my system and can't find any licenses/EULA files for most of them.
They either have it in a panel in the plugin, or it's just on their website.
-
@dannytaurus I show it in the first page of the installer and it's on the website. Adding it into the app data folder too seems like a good idea so I might do that.
-
@David-Healey said in Automatic license file placement, like user presets:
the first page of the installer and it's on the website
Yeah, that's all I was going to do too. But then I thought some persisted version on the user's disk might be good too.
I think probably the best way is to show it in the plugin, even if it's a footer link in a settings/credits panel.
That's the only way to be sure that the license always travels with the plugin.
-
Why not just verify if it's on the disk or not and pull it from the server?
Assuming plugins are connect to the internet for your license system in the first place...EDIT: or even simpler, pull it at the same time you pull the plugin's license...