// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024. #pragma once #include "FMODAudioLink.h" #include "IAudioLinkFactory.h" class FFMODAudioLinkFactory : public IAudioLinkFactory { public: FFMODAudioLinkFactory() = default; virtual ~FFMODAudioLinkFactory() override = default; static FName GetFactoryNameStatic(); static bool bHasSubmix; protected: /** Begin IAudioLinkFactory */ FName GetFactoryName() const override; TSubclassOf GetSettingsClass() const override; TUniquePtr CreateSubmixAudioLink(const FAudioLinkSubmixCreateArgs&) override; TUniquePtr CreateSourceAudioLink(const FAudioLinkSourceCreateArgs&) override; FAudioLinkSourcePushedSharedPtr CreateSourcePushedAudioLink(const FAudioLinkSourcePushedCreateArgs&) override; FAudioLinkSynchronizerSharedPtr CreateSynchronizerAudioLink() override; /** End IAudioLinkFactory */ };