Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: A different DSP API? (Read 1513 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A different DSP API?

I'm stuck trying to make my VST adapter better. In fb2k API, when DSP config window is requested, there is no reliable way to find out which DSP instance is being configured (I understand that there is a reason why it's made like this):
Code: [Select]
static void g_show_config_popup_v2(const dsp_preset & p_preset,HWND p_parent,dsp_preset_edit_callback & p_callback);
The p_preset arg here could belong to any instance or not belong to anything at all, right? But in VST, you open the editor window from the plug-in instance. And you can't do that unless you know which instance to refer to. My current workaround is to add some unique data to presets and use that data to identify DSP instances. This is neither clean nor reliable because same presets may pop up in different places at the same time anyway.

Could you make a non-static version of g_show_config_popup_v2 and introduce a retain mode flag which tells the engine to not re-instantiate DSPs on each track change / playback stop?