| @@ -115,9 +115,6 @@ public: | |||||
| */ | */ | ||||
| virtual bool isTrivialToScan() const = 0; | virtual bool isTrivialToScan() const = 0; | ||||
| /** Should return true if plugins in this format can be scanned on a background thread. */ | |||||
| virtual bool canScanOnBackgroundThread() const { return true; } | |||||
| /** Searches a suggested set of directories for any plugins in this format. | /** Searches a suggested set of directories for any plugins in this format. | ||||
| The path might be ignored, e.g. by AUs, which are found by the OS rather | The path might be ignored, e.g. by AUs, which are found by the OS rather | ||||
| than manually. | than manually. | ||||
| @@ -61,13 +61,6 @@ public: | |||||
| bool canScanForPlugins() const override { return true; } | bool canScanForPlugins() const override { return true; } | ||||
| bool isTrivialToScan() const override { return false; } | bool isTrivialToScan() const override { return false; } | ||||
| /** Although there doesn't seem to be any official documentation on the matter, | |||||
| Native Instruments Kontakt VST3 crashes on macOS when its bundleEntry is called on a | |||||
| background thread. To allow this plugin (and other ones with similar problems) to be | |||||
| discovered, it's a good idea to scan VST3 plugins on the main thread. | |||||
| */ | |||||
| bool canScanOnBackgroundThread() const override { return false; } | |||||
| void findAllTypesForFile (OwnedArray<PluginDescription>&, const String& fileOrIdentifier) override; | void findAllTypesForFile (OwnedArray<PluginDescription>&, const String& fileOrIdentifier) override; | ||||
| bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; | bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; | ||||
| String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; | String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; | ||||
| @@ -393,8 +393,8 @@ public: | |||||
| propertiesToUse (properties), | propertiesToUse (properties), | ||||
| pathChooserWindow (TRANS("Select folders to scan..."), String(), MessageBoxIconType::NoIcon), | pathChooserWindow (TRANS("Select folders to scan..."), String(), MessageBoxIconType::NoIcon), | ||||
| progressWindow (title, text, MessageBoxIconType::NoIcon), | progressWindow (title, text, MessageBoxIconType::NoIcon), | ||||
| numThreads (format.canScanOnBackgroundThread() ? threads : 0), | |||||
| allowAsync (format.canScanOnBackgroundThread() && allowPluginsWhichRequireAsynchronousInstantiation) | |||||
| numThreads (threads), | |||||
| allowAsync (allowPluginsWhichRequireAsynchronousInstantiation) | |||||
| { | { | ||||
| FileSearchPath path (formatToScan.getDefaultLocationsToSearch()); | FileSearchPath path (formatToScan.getDefaultLocationsToSearch()); | ||||