Plasma Engine  2.0
Loading...
Searching...
No Matches
AmplitudeAudioControlsManager.h
1#pragma once
2
3#include <EditorPluginAmplitudeAudio/EditorPluginAmplitudeAudioDLL.h>
4
5#include <AmplitudeAudioPlugin/Core/AmplitudeAudioData.h>
6#include <AudioSystemPlugin/Core/AudioSystemData.h>
7
8#include <Foundation/Configuration/Singleton.h>
9
10#include <SparkyStudios/Audio/Amplitude/Amplitude.h>
11
12using namespace SparkyStudios::Audio;
13
14class plJSONReader;
15
16class PL_EDITORPLUGINAMPLITUDEAUDIO_DLL plAmplitudeAudioControlsManager
17{
18 PL_DECLARE_SINGLETON(plAmplitudeAudioControlsManager);
19
20public:
23
26 plResult ReloadControls();
27
28private:
29 plResult SerializeTriggerControl(plStreamWriter* pStream, const plAudioSystemTriggerData* pControlData);
30 plResult SerializeRtpcControl(plStreamWriter* pStream, const plAudioSystemRtpcData* pControlData);
31 plResult SerializeSwitchStateControl(plStreamWriter* pStream, const plAudioSystemSwitchStateData* pControlData);
32 plResult SerializeEnvironmentControl(plStreamWriter* pStream, const plAudioSystemEnvironmentData* pControlData);
33 plResult SerializeSoundBankControl(plStreamWriter* pStream, const plAudioSystemBankData* pControlData);
34
35 plResult CreateTriggerControl(const char* szControlName, const plAudioSystemTriggerData* pControlData);
36 plResult CreateRtpcControl(const char* szControlName, const plAudioSystemRtpcData* pControlData);
37 plResult CreateSwitchStateControl(const char* szControlName, const plAudioSystemSwitchStateData* pControlData);
38 plResult CreateEnvironmentControl(const char* szControlName, const plAudioSystemEnvironmentData* pControlData);
39 plResult CreateSoundBankControl(const char* szControlName, const plAudioSystemBankData* pControlData);
40
41 plResult LoadSoundBanks(const char* szRootFolder, const char* szSubPath);
42 // void LoadBuses(const char* sRootFolder);
43 plResult LoadControlsInFolder(const char* szFolderPath, const plEnum<plAmplitudeAudioControlType>& eType);
44 plResult LoadControl(const plVariantDictionary& json, const plEnum<plAmplitudeAudioControlType>& eType);
45};
Definition AmplitudeAudioControlsManager.h:17
Base class for an audio middleware bank file.
Definition AudioSystemData.h:224
Base class for an audio middleware environment.
Definition AudioSystemData.h:198
Base class for an audio middleware RTPC.
Definition AudioSystemData.h:180
Base class for an audio middleware switch state.
Definition AudioSystemData.h:189
Base class for an audio middleware trigger.
Definition AudioSystemData.h:171
This JSON reader will read an entire JSON document into a hierarchical structure of plVariants.
Definition JSONReader.h:14
Interface for binary out (write) streams.
Definition Stream.h:107
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54