From: <sv...@op...> - 2024-08-06 19:57:19
|
Author: sagamusix Date: Tue Aug 6 21:57:07 2024 New Revision: 21342 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21342 Log: [Ref] VST: Small cleanup. Modified: trunk/OpenMPT/mptrack/Vstplug.cpp Modified: trunk/OpenMPT/mptrack/Vstplug.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Vstplug.cpp Tue Aug 6 19:53:52 2024 (r21341) +++ trunk/OpenMPT/mptrack/Vstplug.cpp Tue Aug 6 21:57:07 2024 (r21342) @@ -255,7 +255,7 @@ result.magic = effect->magic; result.uniqueID = effect->uniqueID; - size_t shellPlugIndex = 0; + bool requestedShellPluginFound = false; if(static_cast<PluginCategory>(DispatchSEH(maskCrashes, *effect, Vst::effGetPlugCategory, 0, 0, nullptr, 0, exception)) == PluginCategory::Shell) { std::vector<char> name(256, 0); // 64 chars officially supported, but our plugin bridge assumes 256 chars max for all strings @@ -266,13 +266,13 @@ result.shellPlugins.push_back(LoadResult::ShellPlugin{name.data(), static_cast<uint32>(childID)}); if(static_cast<uint32>(childID) == plugin.shellPluginID) - shellPlugIndex = result.shellPlugins.size(); + requestedShellPluginFound = true; } } if(plugin.shellPluginID) { - if(!shellPlugIndex) + if(!requestedShellPluginFound) { result.effect = nullptr; Reporting::Error(MPT_UFORMAT("The shell plugin \"{}\" does not contain \"{}\".") @@ -290,11 +290,8 @@ bool CVstPlugin::SelectShellPlugin(bool maskCrashes, LoadResult &loadResult, const VSTPluginLib &plugin) { - if(!loadResult.effect) - return false; - - g_shellPluginToLoad = plugin.shellPluginID; - if(IsBridged(*loadResult.effect)) + g_shellPluginToLoad = plugin.shellPluginID.ToInt(); + if(loadResult.effect && IsBridged(*loadResult.effect)) { loadResult.effect->dispatcher(loadResult.effect, Vst::effVendorSpecific, kVendorOpenMPT, kCallVSTPluginMain, nullptr, 0.0f); } else |