// 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<UAudioLinkSettingsAbstract> GetSettingsClass() const override; TUniquePtr<IAudioLink> CreateSubmixAudioLink(const FAudioLinkSubmixCreateArgs&) override; TUniquePtr<IAudioLink> CreateSourceAudioLink(const FAudioLinkSourceCreateArgs&) override; FAudioLinkSourcePushedSharedPtr CreateSourcePushedAudioLink(const FAudioLinkSourcePushedCreateArgs&) override; FAudioLinkSynchronizerSharedPtr CreateSynchronizerAudioLink() override; /** End IAudioLinkFactory */ };