VST3: directly use bundle-path on macOS

This fixes an issue with Info.plist indirection.
This commit is contained in:
Robin Gareus
2025-12-10 22:53:12 +01:00
parent ecabfbec5a
commit a30a161288
2 changed files with 6 additions and 5 deletions

View File

@@ -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

View File

@@ -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 "";