From 6653e748736ad95dd8e13f9f36cb802753741ea7 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 23 Apr 2015 21:36:52 +1000 Subject: [PATCH] vst_host: remove vstplugin folder creation, code clean-up --- .../media/media-add-ons/vst_host/VSTAddOn.cpp | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.cpp b/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.cpp index 1484f1ecee..92dc0f67bd 100644 --- a/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.cpp +++ b/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.cpp @@ -20,26 +20,24 @@ VSTAddOn::VSTAddOn(image_id image) : BMediaAddOn(image) { - const char vst_subdir[]={"media/vstplugins"}; - - BPath addons_dir; fPluginsList.MakeEmpty(); - find_directory(B_USER_NONPACKAGED_ADDONS_DIRECTORY, &addons_dir); - addons_dir.Append(vst_subdir); - ScanPluginsFolders(addons_dir.Path(), true); + directory_which dataDirectories[] = { + B_SYSTEM_ADDONS_DIRECTORY, + B_SYSTEM_NONPACKAGED_ADDONS_DIRECTORY, + B_USER_ADDONS_DIRECTORY, + B_USER_NONPACKAGED_ADDONS_DIRECTORY, + }; - find_directory(B_USER_ADDONS_DIRECTORY, &addons_dir); - addons_dir.Append(vst_subdir); - ScanPluginsFolders(addons_dir.Path() ,true); + for (uint i = 0; i < sizeof(dataDirectories)/sizeof(directory_which); i++) { + BPath path; + if (find_directory(dataDirectories[i], &path) != B_OK) + continue; - find_directory(B_SYSTEM_NONPACKAGED_ADDONS_DIRECTORY, &addons_dir); - addons_dir.Append(vst_subdir); - ScanPluginsFolders(addons_dir.Path()); + path.Append("media/vstplugins"); - find_directory(B_SYSTEM_ADDONS_DIRECTORY, &addons_dir); - addons_dir.Append(vst_subdir); - ScanPluginsFolders(addons_dir.Path()); + ScanPluginsFolders(path.Path()); + } } VSTAddOn::~VSTAddOn() @@ -112,7 +110,8 @@ VSTAddOn::ScanPluginsFolders(const char* path, bool make_dir) BDirectory dir(path); if (dir.InitCheck() != B_OK) { - create_directory(path, 0755); + if (make_dir == true) + create_directory(path, 0755); return 0; }