There's something I don't understand about compiling a plugin
-
@d-healey said in There's something I don't understand about compiling a plugin:
Easy to test. Create a new project that uses the same wavetables you already have, but don't include any sample content. See if it works.
Yeah, just had the same thought. Except my approach was to take out all sample maps and samples from the project folder. Double checked that nothing was showing up or "being looked for" inside HISE, so confirmed it wasn't looking for samples.
Turned on embed audio files, and recompiled the plugin. Insto-crash when I drag it to a track in Ableton.
-
@Orvillain Test with pluginval, see if it gives any useful output
-
@d-healey Will do! Will report back.
-
@d-healey It crashes pluginval - I'm building a VST3.
-
@Orvillain debug build?
-
@d-healey Okay, I went back to your suggestion of making a new project and just putting in the wavetable synth and including the wavetable files. That plugin does instantiate.
So either clearing the sample maps and samples wasn't enough to make my actual plugin no longer attempt to reference sample maps... or something is going on with my custom DSP networks (hardcoded)
-
@d-healey No, wasn't running the debug build of pluginval. I can do.
-
@Orvillain Okay.... went to my original project.... but a new xml file.... added a waveform generator and my poly ring mod network. Compiled plugin. It loads. I'll do this and go through each of my networks to isolate the one that doesn't run. If they all do... then I'm back to suspecting the samplers as the issue.
-
@Orvillain Okay. It isn't my networks. They will all run inside a plugin - one instance of them anyway.
-
@Orvillain Godddd I am so dumb.
I even bloomin' new about this, and just totally forgot! Commenting this out, and now the plugin compiles.
Basically, I found in the past that calls to the Builder could crash plugins. So I wrap all my Builder logic in a namespace, and I am SUPPOSED to remind myself to comment these lines out when building the plugin.
I'm pretty sure this is what was causing the crash on instantiation.
-
@Orvillain Also something to bear in mind, the docs say this:
Be aware that the wavetables will not be embedded into the binary, so if you don't want to use the monolith format, you have to untick the Embed AudioFiles option in your project settings. Also the Monolith file takes precedence over the source .hwt files, so as soon as you've created a .hwc file in the sample folder, the list of available wavetables will not reflect the audio file folder content.
-
@Orvillain said in There's something I don't understand about compiling a plugin:
Basically, I found in the past that calls to the Builder could crash plugins. So I wrap all my Builder logic in a namespace, and I am SUPPOSED to remind myself to comment these lines out when building the plugin.
According to the docs it should be disabled automatically anyway, even if you forget
This is connected to the former point: never ever use calls to the Builder in a compiled plugin (in fact, they are deactivated in the compiled plugin so don't expect them to work).
-
@d-healey Probably a bug of some kind then. All I can say is, commenting out TreeBuilder.buildModuleLayout() cured my crash. Chased my own tail for a bit over that is all!