I’ve nearly finished a new synth plugin, and I’m very happy with the sound and look of it, but I’m feeling a little stuck about the best way to manage having a set of internal presets which I ship with the plugin, while still having it work on as many hosts as possible. My DAW of choice is Ableton Live, which doesn’t really go in for the “program” features, so I don’t know whether that’s something I really have to think through implementing or not.
I can easily create my presets and dump XMLs of them, then add them as fixed binary resources and load them on a button press or a drop-down, but it means everything is built into the binary and feels a bit of a strange approach somehow, and also prevents having user-made presets alongside the built-in presets in the same interface.
I could externalise them into files, and have both the existing built-in presets and user-presets loaded by the file system, but that starts to increase the complexity, because now I need all the file system interactions and dialogs etc. and I quite like that it’s just a single easily transportable component.
Is it even something that needs to be internal to the plugin? I could easily ship a bunch of Ableton preset files or racks with it to capture these sounds, but of course then only people using that DAW will have full access.
Are there any other strategies for this that I haven’t considered? What do you do for your plugins? Are programs relevant for new synth plugins in 2025? I’ve love to get some different views and opinions, especially for those of you that both make plugins and make music in a different DAW