Skip to content
Closed
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
6 changes: 3 additions & 3 deletions src/converter/api/converterapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ class ConverterApi : public muse::api::ApiObject, public muse::async::Asyncable
{
Q_OBJECT

muse::Inject<muse::IInteractive> interactive;
muse::Inject<muse::io::IFileSystem> fileSystem;
muse::Inject<IConverterController> converter;
muse::Inject<muse::IInteractive> interactive = { this };
muse::Inject<muse::io::IFileSystem> fileSystem = { this };
muse::Inject<IConverterController> converter = { this };

public:
explicit ConverterApi(muse::api::IApiEngine* e);
Expand Down
7 changes: 4 additions & 3 deletions src/framework/audio/engine/internal/enginecontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,9 @@ static muse::modularity::ModulesIoC* ioc()
return muse::modularity::globalIoc();
}

EngineController::EngineController(std::shared_ptr<rpc::IRpcChannel> rpcChannel)
: m_rpcChannel(rpcChannel)
EngineController::EngineController(std::shared_ptr<rpc::IRpcChannel> rpcChannel,
const muse::modularity::ContextPtr& iocCtx)
: muse::Injectable(iocCtx), m_rpcChannel(rpcChannel)
{
m_rpcChannel->onMethod(rpc::Method::EngineInit, [this](const rpc::Msg& msg) {
OutputSpec spec;
Expand All @@ -89,7 +90,7 @@ void EngineController::registerExports()
m_configuration = std::make_shared<AudioEngineConfiguration>();
m_audioEngine = std::make_shared<AudioEngine>();
m_playback = std::make_shared<EnginePlayback>();
m_rpcController = std::make_shared<EngineRpcController>();
m_rpcController = std::make_shared<EngineRpcController>(iocContext());
m_fxResolver = std::make_shared<FxResolver>();
m_synthResolver = std::make_shared<SynthResolver>();
m_soundFontRepository = std::make_shared<SoundFontRepository>();
Expand Down
6 changes: 4 additions & 2 deletions src/framework/audio/engine/internal/enginecontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

#include <memory>

#include "global/modularity/ioc.h"

#include "../ienginecontroller.h"

namespace muse::audio::rpc {
Expand All @@ -45,10 +47,10 @@ class WebAudioChannel;
class EnginePlayback;
class EngineRpcController;

class EngineController : public IEngineController
class EngineController : public IEngineController, public muse::Injectable
{
public:
EngineController(std::shared_ptr<rpc::IRpcChannel> rpcChannel);
EngineController(std::shared_ptr<rpc::IRpcChannel> rpcChannel, const muse::modularity::ContextPtr& iocCtx);

void registerExports() override;
void onStartRunning() override;
Expand Down
15 changes: 8 additions & 7 deletions src/framework/audio/engine/internal/enginerpccontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,17 @@
#include "../iaudioengineconfiguration.h"

namespace muse::audio::engine {
class EngineRpcController : public async::Asyncable
class EngineRpcController : public async::Asyncable, public muse::Injectable
{
Inject<rpc::IRpcChannel> channel;
Inject<IAudioEngine> audioEngine;
Inject<IEnginePlayback> playback;
Inject<synth::ISoundFontRepository> soundFontRepository;
Inject<IAudioEngineConfiguration> configuration;
Inject<rpc::IRpcChannel> channel = { this };
Inject<IAudioEngine> audioEngine = { this };
Inject<IEnginePlayback> playback = { this };
Inject<synth::ISoundFontRepository> soundFontRepository = { this };
Inject<IAudioEngineConfiguration> configuration = { this };

public:
EngineRpcController() = default;
EngineRpcController(const muse::modularity::ContextPtr& iocCtx)
: Injectable(iocCtx) {}

void init();
void deinit();
Expand Down
6 changes: 3 additions & 3 deletions src/framework/audio/main/audiomodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ std::string AudioModule::moduleName() const
void AudioModule::registerExports()
{
m_configuration = std::make_shared<AudioConfiguration>(iocContext());
m_actionsController = std::make_shared<AudioActionsController>();
m_actionsController = std::make_shared<AudioActionsController>(iocContext());
m_mainPlayback = std::make_shared<Playback>(iocContext());
m_audioDriverController = std::make_shared<AudioDriverController>(iocContext());

Expand All @@ -71,10 +71,10 @@ void AudioModule::registerExports()
m_soundFontController = std::make_shared<WebSoundFontController>();
#else
m_rpcChannel = std::make_shared<rpc::GeneralRpcChannel>();
m_soundFontController = std::make_shared<GeneralSoundFontController>();
m_soundFontController = std::make_shared<GeneralSoundFontController>(iocContext());
#endif

m_startAudioController = std::make_shared<StartAudioController>(m_rpcChannel);
m_startAudioController = std::make_shared<StartAudioController>(m_rpcChannel, iocContext());

ioc()->registerExport<IAudioConfiguration>(moduleName(), m_configuration);
ioc()->registerExport<IStartAudioController>(moduleName(), m_startAudioController);
Expand Down
11 changes: 6 additions & 5 deletions src/framework/audio/main/internal/audioactionscontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,15 @@
#include "audio/common/workmode.h"

namespace muse::audio {
class AudioActionsController : public actions::Actionable
class AudioActionsController : public actions::Actionable, public muse::Injectable
{
Inject<actions::IActionsDispatcher> dispatcher;
Inject<IApplication> application;
Inject<IInteractive> interactive;
Inject<actions::IActionsDispatcher> dispatcher = { this };
Inject<IApplication> application = { this };
Inject<IInteractive> interactive = { this };

public:
AudioActionsController() = default;
AudioActionsController(const muse::modularity::ContextPtr& iocCtx)
: Injectable(iocCtx) {}

void init();

Expand Down
2 changes: 1 addition & 1 deletion src/framework/audio/main/internal/playback.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ Channel<TrackSequenceId> Playback::sequenceRemoved() const

IPlayerPtr Playback::player(const TrackSequenceId id) const
{
std::shared_ptr<Player> p = std::make_shared<Player>(id);
std::shared_ptr<Player> p = std::make_shared<Player>(id, iocContext());
p->init();
return p;
}
Expand Down
4 changes: 2 additions & 2 deletions src/framework/audio/main/internal/playback.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
namespace muse::audio {
class Playback : public IPlayback, public Injectable, public async::Asyncable
{
Inject<rpc::IRpcChannel> channel;
Inject<IStartAudioController> startAudioController;
Inject<rpc::IRpcChannel> channel = { this };
Inject<IStartAudioController> startAudioController = { this };

public:
Playback(const muse::modularity::ContextPtr& iocCtx)
Expand Down
4 changes: 2 additions & 2 deletions src/framework/audio/main/internal/player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ using namespace muse::async;
using namespace muse::audio;
using namespace muse::audio::rpc;

Player::Player(const TrackSequenceId sequenceId)
: m_sequenceId(sequenceId)
Player::Player(const TrackSequenceId sequenceId, const muse::modularity::ContextPtr& iocCtx)
: Injectable(iocCtx), m_sequenceId(sequenceId)
{
}

Expand Down
6 changes: 3 additions & 3 deletions src/framework/audio/main/internal/player.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@
#include "audio/common/rpc/irpcchannel.h"

namespace muse::audio {
class Player : public IPlayer, public async::Asyncable
class Player : public IPlayer, public async::Asyncable, public Injectable
{
Inject<rpc::IRpcChannel> channel;
Inject<rpc::IRpcChannel> channel = { this };

public:
Player(const TrackSequenceId sequenceId);
Player(const TrackSequenceId sequenceId, const muse::modularity::ContextPtr& iocCtx);

void init();

Expand Down
7 changes: 4 additions & 3 deletions src/framework/audio/main/internal/startaudiocontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,12 @@ static void measureInputLag(const float* buf, const size_t size)
}
}

StartAudioController::StartAudioController(std::shared_ptr<rpc::IRpcChannel> rpcChannel)
: m_rpcChannel(rpcChannel)
StartAudioController::StartAudioController(std::shared_ptr<rpc::IRpcChannel> rpcChannel,
const muse::modularity::ContextPtr& iocCtx)
: muse::Injectable(iocCtx), m_rpcChannel(rpcChannel)
{
#ifndef Q_OS_WASM
m_engineController = std::make_shared<engine::EngineController>(rpcChannel);
m_engineController = std::make_shared<engine::EngineController>(rpcChannel, iocCtx);
#endif
}

Expand Down
10 changes: 5 additions & 5 deletions src/framework/audio/main/internal/startaudiocontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ class GeneralAudioWorker;

namespace muse::audio {
class AlignmentBuffer;
class StartAudioController : public IStartAudioController, public async::Asyncable
class StartAudioController : public IStartAudioController, public muse::Injectable, public async::Asyncable
{
Inject<IAudioConfiguration> configuration;
Inject<IAudioDriverController> audioDriverController;
Inject<ISoundFontController> soundFontController;
Inject<IAudioConfiguration> configuration = { this };
Inject<IAudioDriverController> audioDriverController = { this };
Inject<ISoundFontController> soundFontController = { this };

public:
StartAudioController(std::shared_ptr<rpc::IRpcChannel> rpcChannel);
StartAudioController(std::shared_ptr<rpc::IRpcChannel> rpcChannel, const muse::modularity::ContextPtr& iocCtx);

void registerExports();
void init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ using namespace muse::audio;
using namespace muse::audio::rpc;
using namespace muse::audio::synth;

GeneralSoundFontController::GeneralSoundFontController(const muse::modularity::ContextPtr& iocCtx)
: muse::Injectable(iocCtx)
{
}

void GeneralSoundFontController::loadSoundFonts()
{
configuration()->soundFontDirectoriesChanged().onReceive(this, [this](const io::paths_t&) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@
#include "audio/common/rpc/irpcchannel.h"

namespace muse::audio {
class GeneralSoundFontController : public ISoundFontController, public async::Asyncable
class GeneralSoundFontController : public ISoundFontController, public async::Asyncable, public muse::Injectable
{
Inject<IInteractive> interactive;
Inject<IAudioConfiguration> configuration;
Inject<io::IFileSystem> fileSystem;
Inject<rpc::IRpcChannel> channel;
Inject<IInteractive> interactive = { this };
Inject<IAudioConfiguration> configuration = { this };
Inject<io::IFileSystem> fileSystem = { this };
Inject<rpc::IRpcChannel> channel = { this };

public:
GeneralSoundFontController() = default;
GeneralSoundFontController(const muse::modularity::ContextPtr& iocCtx);

void loadSoundFonts() override;

Expand Down
2 changes: 1 addition & 1 deletion src/framework/audioplugins/audiopluginsmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ std::string AudioPluginsModule::moduleName() const

void AudioPluginsModule::registerExports()
{
m_configuration = std::make_shared<AudioPluginsConfiguration>();
m_configuration = std::make_shared<AudioPluginsConfiguration>(iocContext());
m_registerAudioPluginsScenario = std::make_shared<RegisterAudioPluginsScenario>(iocContext());

ioc()->registerExport<IAudioPluginsConfiguration>(moduleName(), m_configuration);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,13 @@
#include "global/iglobalconfiguration.h"

namespace muse::audioplugins {
class AudioPluginsConfiguration : public IAudioPluginsConfiguration
class AudioPluginsConfiguration : public IAudioPluginsConfiguration, public muse::Injectable
{
muse::Inject<IGlobalConfiguration> globalConfiguration;
muse::Inject<IGlobalConfiguration> globalConfiguration = { this };

public:
AudioPluginsConfiguration() = default;
AudioPluginsConfiguration(const muse::modularity::ContextPtr& iocCtx)
: Injectable(iocCtx) {}

io::path_t knownAudioPluginsFilePath() const override;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,15 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "actionsviewmodel.h"
#include "modularity/ioc.h"
#include <qobject.h>

using namespace muse::diagnostics;
using namespace muse::actions;
using namespace muse::ui;

ActionsViewModel::ActionsViewModel()
ActionsViewModel::ActionsViewModel(QObject* parent)
: QAbstractListModel(parent), muse::Injectable(muse::iocCtxForQmlObject(parent))
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,16 @@
#include "ui/iuiactionsregister.h"

namespace muse::diagnostics {
class ActionsViewModel : public QAbstractListModel
class ActionsViewModel : public QAbstractListModel, public muse::Injectable
{
Q_OBJECT

QML_ELEMENT

Inject<actions::IActionsDispatcher> actionsDispatcher;
Inject<ui::IUiActionsRegister> uiActionsRegister;
Inject<actions::IActionsDispatcher> actionsDispatcher = { this };
Inject<ui::IUiActionsRegister> uiActionsRegister = { this };

public:
ActionsViewModel();
ActionsViewModel(QObject* parent = nullptr);

Q_INVOKABLE void load();
Q_INVOKABLE void find(const QString& str);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@

#include <QClipboard>
#include <QGuiApplication>
#include <qobject.h>

using namespace muse::diagnostics;

GraphicsInfoModel::GraphicsInfoModel()
GraphicsInfoModel::GraphicsInfoModel(QObject* parent)
: QObject(parent), muse::Injectable(muse::iocCtxForQmlObject(this))
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,17 @@
#include "ui/iuiengine.h"

namespace muse::diagnostics {
class GraphicsInfoModel : public QObject
class GraphicsInfoModel : public QObject, public muse::Injectable
{
Q_OBJECT

Q_PROPERTY(QString info READ info NOTIFY infoChanged FINAL)

QML_ELEMENT

muse::Inject<ui::IUiEngine> uiengine;
muse::Inject<ui::IUiEngine> uiengine = { this };

Q_PROPERTY(QString info READ info NOTIFY infoChanged FINAL)

public:
GraphicsInfoModel();
GraphicsInfoModel(QObject* parent = nullptr);

QString info() const;

Expand All @@ -50,6 +49,7 @@ class GraphicsInfoModel : public QObject
void infoChanged();

private:

QString m_info;
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static const QHash<QString, QString> TYPES_MAP = {
};

ApiDumpModel::ApiDumpModel(QObject* parent)
: QAbstractListModel(parent)
: QAbstractListModel(parent), muse::Injectable(muse::iocCtxForQmlObject(this))
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,12 @@
#include "global/api/iapiregister.h"

namespace muse::extensions {
class ApiDumpModel : public QAbstractListModel
class ApiDumpModel : public QAbstractListModel, public muse::Injectable
{
Q_OBJECT

QML_ELEMENT

muse::Inject<muse::api::IApiRegister> apiRegister;
muse::Inject<muse::api::IApiRegister> apiRegister = { this };

public:
ApiDumpModel(QObject* parent = nullptr);
Expand Down
2 changes: 1 addition & 1 deletion src/framework/global/internal/baseapplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ String BaseApplication::appRevision()
}

BaseApplication::BaseApplication(const modularity::ContextPtr& ctx)
: m_iocContext(ctx)
: muse::Injectable(ctx), m_iocContext(ctx)
{
}

Expand Down
4 changes: 2 additions & 2 deletions src/framework/global/internal/baseapplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
#include "global/itickerprovider.h"

namespace muse {
class BaseApplication : public IApplication
class BaseApplication : public IApplication, public muse::Injectable
{
Inject<ITickerProvider> tickerProvider;
Inject<ITickerProvider> tickerProvider = { this };
public:

BaseApplication(const modularity::ContextPtr& ctx);
Expand Down
Loading
Loading