diff --git a/framework/audioplugins/iaudiopluginsscanner.h b/framework/audioplugins/iaudiopluginsscanner.h index 80119ef747..6e3ba0d4f5 100644 --- a/framework/audioplugins/iaudiopluginsscanner.h +++ b/framework/audioplugins/iaudiopluginsscanner.h @@ -24,6 +24,7 @@ #include #include "global/io/path.h" +#include "global/progress.h" namespace muse::audioplugins { class IAudioPluginsScanner @@ -31,7 +32,7 @@ class IAudioPluginsScanner public: virtual ~IAudioPluginsScanner() = default; - virtual io::paths_t scanPlugins() const = 0; + virtual io::paths_t scanPlugins(Progress* progress = nullptr) const = 0; }; using IAudioPluginsScannerPtr = std::shared_ptr; diff --git a/framework/audioplugins/internal/registeraudiopluginsscenario.cpp b/framework/audioplugins/internal/registeraudiopluginsscenario.cpp index 1a0d8a659d..5994e8926a 100644 --- a/framework/audioplugins/internal/registeraudiopluginsscenario.cpp +++ b/framework/audioplugins/internal/registeraudiopluginsscenario.cpp @@ -50,7 +50,7 @@ void RegisterAudioPluginsScenario::init() } } -PluginScanResult RegisterAudioPluginsScenario::scanPlugins() const +PluginScanResult RegisterAudioPluginsScenario::scanPlugins(Progress* progress) const { TRACEFUNC; @@ -62,7 +62,7 @@ PluginScanResult RegisterAudioPluginsScenario::scanPlugins() const } for (const auto& scanner : scannerRegister()->scanners()) { - for (const auto& path : scanner->scanPlugins()) { + for (const auto& path : scanner->scanPlugins(progress)) { if (auto it = registered.find(path); it != registered.end()) { registered.erase(it); } else { diff --git a/framework/audioplugins/internal/registeraudiopluginsscenario.h b/framework/audioplugins/internal/registeraudiopluginsscenario.h index f3bea0efe0..8f61cede3d 100644 --- a/framework/audioplugins/internal/registeraudiopluginsscenario.h +++ b/framework/audioplugins/internal/registeraudiopluginsscenario.h @@ -50,7 +50,7 @@ class RegisterAudioPluginsScenario : public IRegisterAudioPluginsScenario, publi void init(); - PluginScanResult scanPlugins() const override; + PluginScanResult scanPlugins(Progress* progress = nullptr) const override; Ret updatePluginsRegistry() override; void registerNewPlugins(const io::paths_t& pluginPaths) override; diff --git a/framework/audioplugins/iregisteraudiopluginsscenario.h b/framework/audioplugins/iregisteraudiopluginsscenario.h index ddc442c133..739da2852e 100644 --- a/framework/audioplugins/iregisteraudiopluginsscenario.h +++ b/framework/audioplugins/iregisteraudiopluginsscenario.h @@ -24,9 +24,8 @@ #include "modularity/imoduleinterface.h" -#include "global/types/ret.h" -#include "global/io/path.h" #include "audio/common/audiotypes.h" +#include "global/progress.h" namespace muse::audioplugins { struct PluginScanResult { @@ -41,7 +40,7 @@ class IRegisterAudioPluginsScenario : MODULE_CONTEXT_INTERFACE public: virtual ~IRegisterAudioPluginsScenario() = default; - virtual PluginScanResult scanPlugins() const = 0; + virtual PluginScanResult scanPlugins(Progress* progress = nullptr) const = 0; virtual Ret updatePluginsRegistry() = 0; virtual void registerNewPlugins(const io::paths_t& pluginPaths) = 0; diff --git a/framework/audioplugins/tests/mocks/audiopluginsscannermock.h b/framework/audioplugins/tests/mocks/audiopluginsscannermock.h index 3efde68cbf..eaf4880235 100644 --- a/framework/audioplugins/tests/mocks/audiopluginsscannermock.h +++ b/framework/audioplugins/tests/mocks/audiopluginsscannermock.h @@ -29,6 +29,6 @@ namespace muse::audioplugins { class AudioPluginsScannerMock : public IAudioPluginsScanner { public: - MOCK_METHOD(io::paths_t, scanPlugins, (), (const, override)); + MOCK_METHOD(io::paths_t, scanPlugins, (Progress * progress), (const, override)); }; } diff --git a/framework/audioplugins/tests/registeraudiopluginsscenariotest.cpp b/framework/audioplugins/tests/registeraudiopluginsscenariotest.cpp index 94caca6900..1218dbd6b0 100644 --- a/framework/audioplugins/tests/registeraudiopluginsscenariotest.cpp +++ b/framework/audioplugins/tests/registeraudiopluginsscenariotest.cpp @@ -136,7 +136,7 @@ TEST_F(AudioPlugins_RegisterAudioPluginsScenarioTest, UpdatePluginsRegistry) AudioPluginsScannerMock* mock = dynamic_cast(scanner.get()); ASSERT_TRUE(mock); - ON_CALL(*mock, scanPlugins()) + ON_CALL(*mock, scanPlugins(_)) .WillByDefault(Return(foundPluginPaths)); } @@ -216,7 +216,7 @@ TEST_F(AudioPlugins_RegisterAudioPluginsScenarioTest, UpdatePluginsRegistry_NoNe AudioPluginsScannerMock* mock = dynamic_cast(scanner.get()); ASSERT_TRUE(mock); - ON_CALL(*mock, scanPlugins()) + ON_CALL(*mock, scanPlugins(_)) .WillByDefault(Return(foundPluginPaths)); } @@ -281,7 +281,7 @@ TEST_F(AudioPlugins_RegisterAudioPluginsScenarioTest, UpdatePluginsRegistry_Unre AudioPluginsScannerMock* mock = dynamic_cast(scanner.get()); ASSERT_TRUE(mock); - ON_CALL(*mock, scanPlugins()) + ON_CALL(*mock, scanPlugins(_)) .WillByDefault(Return(foundPluginPaths)); } diff --git a/framework/vst/internal/vstpluginsscanner.cpp b/framework/vst/internal/vstpluginsscanner.cpp index 03da2d84f8..98302d7349 100644 --- a/framework/vst/internal/vstpluginsscanner.cpp +++ b/framework/vst/internal/vstpluginsscanner.cpp @@ -52,7 +52,7 @@ static io::paths_t pluginPathsFromDefaultLocation() } } -io::paths_t VstPluginsScanner::scanPlugins() const +io::paths_t VstPluginsScanner::scanPlugins(Progress*) const { TRACEFUNC; diff --git a/framework/vst/internal/vstpluginsscanner.h b/framework/vst/internal/vstpluginsscanner.h index 34f11846c7..5b17b6250e 100644 --- a/framework/vst/internal/vstpluginsscanner.h +++ b/framework/vst/internal/vstpluginsscanner.h @@ -35,7 +35,7 @@ class VstPluginsScanner : public audioplugins::IAudioPluginsScanner GlobalInject fileSystem; public: - io::paths_t scanPlugins() const override; + io::paths_t scanPlugins(Progress* progress = nullptr) const override; private: io::paths_t pluginPathsFromCustomLocations(const io::paths_t& customPaths) const;