From a30a161288a70a7fd438b355f0202c14d9874657 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 10 Dec 2025 22:53:12 +0100 Subject: [PATCH] VST3: directly use bundle-path on macOS This fixes an issue with Info.plist indirection. --- libs/ardour/vst3_module.cc | 4 +--- libs/ardour/vst3_scan.cc | 7 +++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libs/ardour/vst3_module.cc b/libs/ardour/vst3_module.cc index ebb323e807..1285b3275a 100644 --- a/libs/ardour/vst3_module.cc +++ b/libs/ardour/vst3_module.cc @@ -56,10 +56,8 @@ using namespace ARDOUR; class VST3MacModule : public VST3PluginModule { public: - VST3MacModule (std::string const& module_path) + VST3MacModule (std::string const& path) { - std::string path = Glib::path_get_dirname (module_path); // Contents - path = Glib::path_get_dirname (path); // theVST.vst3 #ifndef NDEBUG _path = path; #endif diff --git a/libs/ardour/vst3_scan.cc b/libs/ardour/vst3_scan.cc index 919ef92ba2..f643a1d765 100644 --- a/libs/ardour/vst3_scan.cc +++ b/libs/ardour/vst3_scan.cc @@ -47,7 +47,7 @@ using namespace std; using namespace Steinberg; -#define ARDOUR_VST3_CACHE_FILE_VERSION 2 +#define ARDOUR_VST3_CACHE_FILE_VERSION 3 static const char* fmt_media (Vst::MediaType m) { switch (m) { @@ -369,9 +369,12 @@ ARDOUR::module_path_vst3 (string const& path) * (on macOS/X the binary name may differ from the bundle name) */ string plist = Glib::build_filename (path, "Contents", "Info.plist"); + string macos = Glib::build_filename (path, "Contents", "MacOS"); if (Glib::file_test (Glib::path_get_dirname (module_path), Glib::FILE_TEST_IS_DIR) && Glib::file_test (Glib::build_filename (path, "Contents", "Info.plist"), Glib::FILE_TEST_IS_REGULAR)) { - return plist; + return path; + } else if (Glib::file_test (macos, Glib::FILE_TEST_IS_DIR)){ + return path; } else { cerr << "VST3 not a valid bundle: '" << path << "'\n"; return "";