Best way to package data with a plugin

I’m currently implementing an LFO class to use in my projects. I want it to be able to load LFO shapes from a file. Currently, I’m using .wav files for this, though I realize that probably isn’t the best option.

My problem is that my current method of loading the data from the files involves using their absolute path (something like “/JUCE/Projects/myProject/Resources/sineWave.wav”) – as the File class requires – which means my plugin won’t work on a different computer.

I want to somehow package the data from these files with the build. The two methods that come to mind would be using a relative pathname (like “<resources_location>/myResource.wav”), or by including the data directly in the .vst3/.component file, but I don’t know how to do either of these.

If anyone could point me in the right direction I would very much appreciate it. I have a bit of experience with C++ and JUCE, but I’m by no means an expert on either one, so feel free to chastise me if I’ve got it all wrong.

You could simply add the .wav files to the Projucer project. They will then be accessible to your plugin as BinaryData.

Take a look at this:

2 Likes

Thank you, this is exactly what I needed!

1 Like