Skip to content

Commit

Permalink
AudioPluginFormat: Remove canScanOnBackgroundThread(), as it is not g…
Browse files Browse the repository at this point in the history
…enerally useful
  • Loading branch information
reuk committed Oct 14, 2021
1 parent d36c8b4 commit d59230a
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 12 deletions.
3 changes: 0 additions & 3 deletions modules/juce_audio_processors/format/juce_AudioPluginFormat.h
Expand Up @@ -115,9 +115,6 @@ class JUCE_API AudioPluginFormat : private MessageListener
*/
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.
The path might be ignored, e.g. by AUs, which are found by the OS rather
than manually.
Expand Down
Expand Up @@ -61,13 +61,6 @@ class JUCE_API VST3PluginFormat : public AudioPluginFormat
bool canScanForPlugins() const override { return true; }
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;
bool fileMightContainThisPluginType (const String& fileOrIdentifier) override;
String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override;
Expand Down
Expand Up @@ -393,8 +393,8 @@ class PluginListComponent::Scanner : private Timer
propertiesToUse (properties),
pathChooserWindow (TRANS("Select folders to scan..."), String(), MessageBoxIconType::NoIcon),
progressWindow (title, text, MessageBoxIconType::NoIcon),
numThreads (format.canScanOnBackgroundThread() ? threads : 0),
allowAsync (format.canScanOnBackgroundThread() && allowPluginsWhichRequireAsynchronousInstantiation)
numThreads (threads),
allowAsync (allowPluginsWhichRequireAsynchronousInstantiation)
{
FileSearchPath path (formatToScan.getDefaultLocationsToSearch());

Expand Down

0 comments on commit d59230a

Please sign in to comment.