From 4d2816d8bf4c8668b60a467bb60634b6eb5d3aae Mon Sep 17 00:00:00 2001 From: Roman Pudashkin Date: Tue, 4 Jul 2023 16:55:23 +0300 Subject: [PATCH] register vst3 files without any audio effect inside as failed plugins --- src/framework/vst/internal/vstpluginmetareader.cpp | 4 ++++ src/framework/vst/vsterrors.h | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/framework/vst/internal/vstpluginmetareader.cpp b/src/framework/vst/internal/vstpluginmetareader.cpp index a417054c0c075..9118a041a956e 100644 --- a/src/framework/vst/internal/vstpluginmetareader.cpp +++ b/src/framework/vst/internal/vstpluginmetareader.cpp @@ -74,5 +74,9 @@ mu::RetVal VstPluginMetaReader::readMeta(const io::path_t break; } + if (result.empty()) { + return make_ret(Err::NoAudioEffect); + } + return RetVal::make_ok(result); } diff --git a/src/framework/vst/vsterrors.h b/src/framework/vst/vsterrors.h index fb7815a2bd472..777ac5ad9be97 100644 --- a/src/framework/vst/vsterrors.h +++ b/src/framework/vst/vsterrors.h @@ -35,7 +35,8 @@ enum class Err { NoPluginFactory = 1402, NoPluginProvider = 1403, NoPluginController = 1404, - NoPluginWithId = 1405 + NoPluginWithId = 1405, + NoAudioEffect = 1406, }; inline Ret make_ret(Err e) @@ -50,6 +51,7 @@ inline Ret make_ret(Err e) case Err::NoPluginProvider: return Ret(retCode, "No VST3 audio module class found"); case Err::NoPluginController: return Ret(retCode, "No VST3 editor controller class found"); case Err::NoPluginWithId: return Ret(retCode, "VST3 plugin is not found"); + case Err::NoAudioEffect: return Ret(retCode, "VST3 file contains no audio effect"); } return Ret(retCode);