blob: f8d1760e10b396c4ddd8d3a6627f3611cdfc42a2 (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#pragma once
#include "Runtime/BaseClasses/BaseObject.h"
#include "Runtime/Audio/correct_fmod_includer.h"
class Object;
class MovieTexture;
class WWW;
class AudioClip;
struct AudioStats;
namespace FMOD { class DSP; }
class AudioCustomFilter;
class MonoBehaviour;
class IAudio
{
public:
virtual void SetPause( bool pause ) = 0;
virtual void FixedUpdate() = 0;
virtual void Update() = 0;
virtual void StopVideoTextures() = 0;
virtual void UpdateVideoTextures() = 0;
virtual void PauseVideoTextures() = 0;
#if ENABLE_WWW
#if ENABLE_MOVIES
virtual MovieTexture* CreateMovieTextureFromWWW(WWW& www) = 0;
#endif
virtual AudioClip* CreateAudioClipFromWWW(WWW& www, bool threeD, bool stream, FMOD_SOUND_TYPE audioType) = 0;
virtual AudioClip* CreateAudioClipOGGFromWWW(WWW& www) = 0;
#endif
virtual bool IsFormatSupportedByPlatform(const char* type) = 0;
#if ENABLE_AUDIO_FMOD
virtual FMOD::DSP* GetOrCreateDSPFromCustomFilter(AudioCustomFilter* filter) = 0;
virtual AudioCustomFilter* CreateAudioCustomFilter(MonoBehaviour* mb) = 0;
virtual FMOD::DSP* GetDSPFromAudioCustomFilter(AudioCustomFilter* filter) = 0;
virtual void SetBypassOnDSP(FMOD::DSP* dsp, bool state) = 0;
#endif
#if ENABLE_PROFILER
virtual void GetProfilerStats(AudioStats& stats) = 0;
#endif
virtual void AudioManagerAwakeFromLoad(AwakeFromLoadMode mode) = 0;
};
IAudio* CreateAudioModule();
IAudio* EXPORT_COREMODULE GetIAudio();
void EXPORT_COREMODULE SetIAudio(IAudio* physics);
|