summaryrefslogtreecommitdiff
path: root/Runtime/Audio/AudioSourceFilter.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Audio/AudioSourceFilter.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Audio/AudioSourceFilter.h')
-rw-r--r--Runtime/Audio/AudioSourceFilter.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/Runtime/Audio/AudioSourceFilter.h b/Runtime/Audio/AudioSourceFilter.h
new file mode 100644
index 0000000..72795b3
--- /dev/null
+++ b/Runtime/Audio/AudioSourceFilter.h
@@ -0,0 +1,36 @@
+#ifndef __AUDIOSOURCE_FILTER_H__
+#define __AUDIOSOURCE_FILTER_H__
+
+#include "Runtime/Serialize/TransferFunctions/SerializeTransfer.h"
+#include "AudioManager.h"
+#include "Runtime/GameCode/Behaviour.h"
+#include "Runtime/Audio/correct_fmod_includer.h"
+
+#if ENABLE_AUDIO_FMOD
+
+using namespace Unity;
+
+class AudioFilter : public Behaviour
+{
+public:
+ REGISTER_DERIVED_ABSTRACT_CLASS (AudioFilter, Behaviour)
+ DECLARE_OBJECT_SERIALIZE (AudioFilter)
+
+ AudioFilter(MemLabelId label, ObjectCreationMode mode) : Behaviour(label, mode), m_DSP(NULL), m_Type(FMOD_DSP_TYPE_UNKNOWN) {}
+
+ FMOD::DSP* GetDSP();
+
+ virtual void RemoveFromManager();
+ virtual void AddToManager();
+ virtual void AwakeFromLoad(AwakeFromLoadMode mode);
+
+ void Init();
+ void Cleanup();
+protected:
+ FMOD_DSP_TYPE m_Type;
+ FMOD::DSP* m_DSP;
+ friend class AudioManager;
+};
+
+#endif //ENABLE_AUDIO
+#endif // __AUDIOSOURCE_FILTER_H__