Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved audio plugin code to audioplugin module #23964

Merged
merged 2 commits into from
Aug 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SetupConfigure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ if(BUILD_CONFIGURE MATCHES "VTEST")

set(MUSE_MODULE_ACCESSIBILITY OFF)
set(MUSE_MODULE_AUDIO OFF)
set(MUSE_MODULE_AUDIOPLUGINS OFF)
set(MUE_BUILD_BRAILLE_MODULE OFF)
set(MUSE_MODULE_MIDI OFF)
set(MUSE_MODULE_MPE OFF)
Expand Down
4 changes: 4 additions & 0 deletions src/app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@ if (MUSE_MODULE_UI)
list(APPEND LINK_LIB muse::dockwindow)
endif()

if (MUSE_MODULE_AUDIOPLUGINS)
list(APPEND LINK_LIB muse::audioplugins)
endif()

if (MUE_BUILD_CONVERTER_MODULE)
list(APPEND LINK_LIB converter)
endif()
Expand Down
7 changes: 7 additions & 0 deletions src/app/appfactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
#include "framework/stubs/audio/audiostubmodule.h"
#endif

#ifdef MUSE_MODULE_AUDIOPLUGINS
#include "framework/audioplugins/audiopluginsmodule.h"
#endif

#ifdef MUSE_MODULE_CLOUD
#include "framework/cloud/cloudmodule.h"
#else
Expand Down Expand Up @@ -218,6 +222,9 @@ std::shared_ptr<muse::IApplication> AppFactory::newGuiApp(const CmdOptions& opti
app->addModule(new muse::accessibility::AccessibilityModule());
app->addModule(new muse::actions::ActionsModule());
app->addModule(new muse::audio::AudioModule());
#ifdef MUSE_MODULE_AUDIOPLUGINS
app->addModule(new muse::audioplugins::AudioPluginsModule());
#endif
app->addModule(new muse::draw::DrawModule());
app->addModule(new muse::midi::MidiModule());
app->addModule(new muse::mpe::MpeModule());
Expand Down
4 changes: 2 additions & 2 deletions src/app/internal/consoleapp.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#include "converter/iconvertercontroller.h"
#include "engraving/devtools/drawdata/idiagnosticdrawprovider.h"
#include "autobot/iautobot.h"
#include "audio/iregisteraudiopluginsscenario.h"
#include "audioplugins/iregisteraudiopluginsscenario.h"
#include "multiinstances/imultiinstancesprovider.h"

#include "ui/iuiconfiguration.h"
Expand All @@ -60,7 +60,7 @@ class ConsoleApp : public muse::BaseApplication, public std::enable_shared_from_
muse::Inject<converter::IConverterController> converter;
muse::Inject<engraving::IDiagnosticDrawProvider> diagnosticDrawProvider;
muse::Inject<muse::autobot::IAutobot> autobot;
muse::Inject<muse::audio::IRegisterAudioPluginsScenario> registerAudioPluginsScenario;
muse::Inject<muse::audioplugins::IRegisterAudioPluginsScenario> registerAudioPluginsScenario;
muse::Inject<muse::mi::IMultiInstancesProvider> multiInstancesProvider;
muse::Inject<muse::ui::IUiConfiguration> uiConfiguration;
muse::Inject<appshell::IAppShellConfiguration> appshellConfiguration;
Expand Down
4 changes: 4 additions & 0 deletions src/framework/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ if (MUSE_MODULE_AUDIO)
add_subdirectory(audio)
endif()

if (MUSE_MODULE_AUDIOPLUGINS)
add_subdirectory(audioplugins)
endif()

if (MUSE_MODULE_AUTOBOT)
add_subdirectory(autobot)
endif()
Expand Down
18 changes: 1 addition & 17 deletions src/framework/audio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,6 @@ set(MODULE_SRC
${CMAKE_CURRENT_LIST_DIR}/iplayback.h
${CMAKE_CURRENT_LIST_DIR}/isoundfontrepository.h
${CMAKE_CURRENT_LIST_DIR}/isynthesizer.h
${CMAKE_CURRENT_LIST_DIR}/iknownaudiopluginsregister.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginsscanner.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginsscannerregister.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginmetareader.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginmetareaderregister.h
${CMAKE_CURRENT_LIST_DIR}/iregisteraudiopluginsscenario.h
${CMAKE_CURRENT_LIST_DIR}/devtools/inputlag.h

# Common internal
Expand All @@ -126,16 +120,6 @@ set(MODULE_SRC
${CMAKE_CURRENT_LIST_DIR}/internal/abstractsynthesizer.h
${CMAKE_CURRENT_LIST_DIR}/internal/abstracteventsequencer.h

# Plugins
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/knownaudiopluginsregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/knownaudiopluginsregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/audiopluginsscannerregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/audiopluginsscannerregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/audiopluginmetareaderregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/audiopluginmetareaderregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/registeraudiopluginsscenario.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/plugins/registeraudiopluginsscenario.h

# Driver
${DRIVER_SRC}

Expand Down Expand Up @@ -337,5 +321,5 @@ set(MODULE_QML_IMPORT ${CMAKE_CURRENT_LIST_DIR}/qml)
setup_module()

if (MUSE_MODULE_AUDIO_TESTS)
add_subdirectory(tests)
#add_subdirectory(tests) no tests
endif()
21 changes: 0 additions & 21 deletions src/framework/audio/audiomodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,6 @@
#include "internal/audiothreadsecurer.h"
#include "internal/audiooutputdevicecontroller.h"

#include "internal/plugins/knownaudiopluginsregister.h"
#include "internal/plugins/audiopluginsscannerregister.h"
#include "internal/plugins/audiopluginmetareaderregister.h"
#include "internal/plugins/registeraudiopluginsscenario.h"

#include "internal/worker/audioengine.h"
#include "internal/worker/playback.h"

Expand Down Expand Up @@ -124,7 +119,6 @@ void AudioModule::registerExports()
m_synthResolver = std::make_shared<SynthResolver>();
m_playbackFacade = std::make_shared<Playback>(iocContext());
m_soundFontRepository = std::make_shared<SoundFontRepository>();
m_registerAudioPluginsScenario = std::make_shared<RegisterAudioPluginsScenario>();

#if defined(MUSE_MODULE_AUDIO_JACK)
m_audioDriver = std::shared_ptr<IAudioDriver>(new JackAudioDriver());
Expand Down Expand Up @@ -160,11 +154,6 @@ void AudioModule::registerExports()
ioc()->registerExport<IFxResolver>(moduleName(), m_fxResolver);

ioc()->registerExport<ISoundFontRepository>(moduleName(), m_soundFontRepository);

ioc()->registerExport<IKnownAudioPluginsRegister>(moduleName(), std::make_shared<KnownAudioPluginsRegister>());
ioc()->registerExport<IAudioPluginsScannerRegister>(moduleName(), std::make_shared<AudioPluginsScannerRegister>());
ioc()->registerExport<IAudioPluginMetaReaderRegister>(moduleName(), std::make_shared<AudioPluginMetaReaderRegister>());
ioc()->registerExport<IRegisterAudioPluginsScenario>(moduleName(), m_registerAudioPluginsScenario);
}

void AudioModule::registerResources()
Expand Down Expand Up @@ -216,7 +205,6 @@ void AudioModule::onInit(const IApplication::RunMode& mode)

// Init configuration
m_configuration->init();
m_registerAudioPluginsScenario->init();

if (mode == IApplication::RunMode::AudioPluginRegistration) {
return;
Expand All @@ -238,15 +226,6 @@ void AudioModule::onInit(const IApplication::RunMode& mode)
for (const io::path_t& p : paths) {
pr->reg("soundfonts", p);
}
pr->reg("known_audio_plugins", m_configuration->knownAudioPluginsFilePath());
}
}

void AudioModule::onDelayedInit()
{
Ret ret = m_registerAudioPluginsScenario->registerNewPlugins();
if (!ret) {
LOGE() << ret.toString();
}
}

Expand Down
4 changes: 0 additions & 4 deletions src/framework/audio/audiomodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ class AudioModule : public modularity::IModuleSetup, public async::Asyncable
void registerUiTypes() override;
void resolveImports() override;
void onInit(const IApplication::RunMode& mode) override;
void onDelayedInit() override;
void onDeinit() override;
void onDestroy() override;

Expand All @@ -80,9 +79,6 @@ class AudioModule : public modularity::IModuleSetup, public async::Asyncable

std::shared_ptr<SoundFontRepository> m_soundFontRepository;

std::shared_ptr<KnownAudioPluginsRegister> m_knownAudioPluginsRegister;
std::shared_ptr<RegisterAudioPluginsScenario> m_registerAudioPluginsScenario;

std::shared_ptr<IAudioDriver> m_audioDriver;
};
}
Expand Down
14 changes: 0 additions & 14 deletions src/framework/audio/audiotypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,20 +179,6 @@ using AudioResourceMetaSet = std::set<AudioResourceMeta>;

static const AudioResourceId MUSE_REVERB_ID("Muse Reverb");

enum class AudioPluginType {
Undefined = -1,
Instrument,
Fx,
};

struct AudioPluginInfo {
AudioPluginType type = AudioPluginType::Undefined;
AudioResourceMeta meta;
io::path_t path;
bool enabled = false;
int errorCode = 0;
};

enum class AudioFxType {
Undefined = -1,
VstFx,
Expand Down
16 changes: 0 additions & 16 deletions src/framework/audio/audioutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,6 @@ inline AudioResourceMeta makeReverbMeta()
return meta;
}

inline AudioPluginType audioPluginTypeFromCategoriesString(const String& categoriesStr)
{
static const std::vector<std::pair<String, AudioPluginType> > STRING_TO_PLUGIN_TYPE_LIST = {
{ u"Instrument", AudioPluginType::Instrument },
{ u"Fx", AudioPluginType::Fx },
};

for (auto it = STRING_TO_PLUGIN_TYPE_LIST.cbegin(); it != STRING_TO_PLUGIN_TYPE_LIST.cend(); ++it) {
if (categoriesStr.contains(it->first)) {
return it->second;
}
}

return AudioPluginType::Undefined;
}

inline String audioSourceName(const AudioInputParams& params)
{
if (params.type() == AudioSourceType::MuseSampler) {
Expand Down
2 changes: 0 additions & 2 deletions src/framework/audio/iaudioconfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,6 @@ class IAudioConfiguration : MODULE_EXPORT_INTERFACE
virtual void setUserSoundFontDirectories(const io::paths_t& paths) = 0;
virtual async::Channel<io::paths_t> soundFontDirectoriesChanged() const = 0;

virtual io::path_t knownAudioPluginsFilePath() const = 0;

virtual bool shouldMeasureInputLag() const = 0;
};
}
Expand Down
5 changes: 0 additions & 5 deletions src/framework/audio/internal/audioconfiguration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,11 +234,6 @@ async::Channel<io::paths_t> AudioConfiguration::soundFontDirectoriesChanged() co
return m_soundFontDirsChanged;
}

io::path_t AudioConfiguration::knownAudioPluginsFilePath() const
{
return globalConfiguration()->userAppDataPath() + "/known_audio_plugins.json";
}

bool AudioConfiguration::shouldMeasureInputLag() const
{
return settings()->value(AUDIO_MEASURE_INPUT_LAG).toBool();
Expand Down
2 changes: 0 additions & 2 deletions src/framework/audio/internal/audioconfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ class AudioConfiguration : public IAudioConfiguration
void setUserSoundFontDirectories(const io::paths_t& paths) override;
async::Channel<io::paths_t> soundFontDirectoriesChanged() const override;

io::path_t knownAudioPluginsFilePath() const override;

bool shouldMeasureInputLag() const override;

private:
Expand Down
74 changes: 0 additions & 74 deletions src/framework/audio/tests/mocks/audioconfigurationmock.h

This file was deleted.

55 changes: 55 additions & 0 deletions src/framework/audioplugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SPDX-License-Identifier: GPL-3.0-only
# MuseScore-CLA-applies
#
# MuseScore
# Music Composition & Notation
#
# Copyright (C) 2021 MuseScore BVBA and others
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

declare_module(muse_audioplugins)
set(MODULE_ALIAS muse::audioplugins)

set(MODULE_SRC

${CMAKE_CURRENT_LIST_DIR}/audiopluginsmodule.cpp
${CMAKE_CURRENT_LIST_DIR}/audiopluginsmodule.h
${CMAKE_CURRENT_LIST_DIR}/audiopluginstypes.h
${CMAKE_CURRENT_LIST_DIR}/audiopluginserrors.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginsconfiguration.h
${CMAKE_CURRENT_LIST_DIR}/iknownaudiopluginsregister.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginsscanner.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginsscannerregister.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginmetareader.h
${CMAKE_CURRENT_LIST_DIR}/iaudiopluginmetareaderregister.h
${CMAKE_CURRENT_LIST_DIR}/iregisteraudiopluginsscenario.h

${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginsutils.h
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginsconfiguration.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginsconfiguration.h
${CMAKE_CURRENT_LIST_DIR}/internal/knownaudiopluginsregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/knownaudiopluginsregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginsscannerregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginsscannerregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginmetareaderregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/audiopluginmetareaderregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/registeraudiopluginsscenario.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/registeraudiopluginsscenario.h
)

setup_module()

if (MUSE_MODULE_AUDIOPLUGINS_TESTS)
add_subdirectory(tests)
endif()
Loading