summaryrefslogtreecommitdiff
path: root/Runtime/Audio/AudioSourceFilter.h
blob: 72795b34c534f41f98621ad1b37d8fce214d2ce9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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__