Hi there,
this might be a bit of a nerdy feature request but here we go:
For custom DSP plug-ins in both Unity and UE Integrations there’s the list you can add your Dynamic Plug-ins so they are getting added to the Core System on initialization. On platforms requiring static libraries (e.g. iOS), you need to provide the exported symbols/functions returning your custom DSP description. This works well with the Unity Integration providing a separate list to add the symbol names to.
On the Unreal Engine side of things it’s different, there’s no list. It’s C++ code so the code generation would be a mess
However, if the FMODStudioModule would provide a public interface like
void addCustomDSPDescription(FMOD_DSP_DESCRIPTION* descriptionToAdd);
bool removeCustomDSPDescription(FMOD_DSP_DESCRIPTION* descriptionToRemove);
which internally simply adds to a
private:
std::vector<FMOD_DSP_DESCRIPTION*> customDspToRegister;
member and during initialization (e.g. CreateStudioSystem
) does something like this
// register custom DSP plug-ins
for (const auto& dsp : customDspToRegister)
{
unsigned int Handle = 0;
lowLevelSystem->registerDSP(dsp, &Handle);
}
Then a custom UE Plug-in could call FMODStudioModule::addCustomDSPDescription
during its own MyModule::StartupModule()
phase and have the custom DSP registered.
Hope that makes sense