summaryrefslogtreecommitdiff
path: root/Runtime/Audio/AudioModule.jam
blob: 6c36e8daece6dc3f7c400c1b49dce6a00e98ca1c (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
rule AudioModule_ReportCpp
{
	local audiosources =
		AudioBehaviour.cpp
		AudioBehaviour.h
		AudioChorusFilter.cpp
		AudioChorusFilter.h
		AudioClip.Callbacks.cpp
		AudioClip.cpp
		AudioClip.h
		AudioClip_Flash.h
		AudioClip_FMOD.h
		AudioClip_Flash.cpp
		AudioDistortionFilter.cpp
		AudioDistortionFilter.h
		AudioEchoFilter.cpp
		AudioEchoFilter.h
		AudioHighPassFilter.cpp
		AudioHighPassFilter.h
		AudioListener.cpp
		AudioListener.h
		AudioLowPassFilter.cpp
		AudioLowPassFilter.h
		AudioManager.Callbacks.cpp
		AudioManager.cpp
		AudioManager.h
		AudioParameters.h
		AudioReverbFilter.cpp
		AudioReverbFilter.h
		AudioReverbZone.cpp
		AudioReverbZone.h
		AudioSource.Callbacks.cpp
		AudioSource.cpp
		AudioSource.h
		AudioSourceFilter.cpp
		AudioSourceFilter.h
		OggReader.h
		WavReader.h
		Utilities/Conversion.h
		AudioCustomFilter.cpp
		AudioCustomFilter.h
		AudioScriptBufferManager.h
		AudioScriptBufferManager.cpp

		AudioModuleRegistration.cpp
		AudioModule.cpp
	;

	local videosources = 
		MoviePlayback.cpp
		MoviePlayback.h
		MovieTexture.cpp
		MovieTexture.h
		BaseVideoTexture.h
		BaseVideoTexture.cpp
		VideoTexture.h
	;
	
	local modulesources =
		Runtime/Audio/$(audiosources)
		Runtime/Video/$(videosources)
	;

	if $(PLATFORM) in macosx32 macosx64 macosxppc
	{
		modulesources += PlatformDependent/OSX/VideoTexture.mm ;
	}

	if $(PLATFORM) in macosx32 macosx64 macosxppc iphone ipad iphonesimulator
	{
		modulesources += PlatformDependent/OSX/DecodeCVImageBufferFrame.cpp ;
	}

	# add other platforms here

	return $(modulesources) ;
}

rule AudioModule_ReportTxt
{
	return 
		Runtime/Audio/ScriptBindings/AudioBindings.txt
		Runtime/Video/ScriptBindings/MovieTextureBindings.txt
		Runtime/Video/ScriptBindings/UnityEngineWebCamTexture.txt
	;
}

rule AudioModule_ReportIncludes
{
	return 
		Projects/PrecompiledHeaders/ 
		External/Audio/FMOD/builds/macosx/include
		External/Audio/common_ogg 
	;
}

rule AudioModule_ReportLibraries
{
	local libs = ;
	if $(currentTarget) in MacEditor MacStandalonePlayer
	{
		libs += 
			External/Theora/libs/Release/libtheoradec.a 
			External/Audio/FMOD/builds/macosx/lib/libfmodex.a 
		;
	}
	return $(libs) ;
}

rule AudioModule_ReportLinkFlags
{
	local flags = ;
	if $(currentTarget) in MacEditor MacStandalonePlayer iPhonePlayer iPhoneSimulatorPlayer
	{
		flags += 
			-framework CoreAudio 
			-framework CoreVideo
			-framework QuickTime
			-framework AudioUnit
			-framework Carbon
			-framework QTKit
		;
	}
	return $(flags) ;
}


rule AudioModule_Init
{
	OverrideModule Audio : GetModule_Cpp : byOverridingWithMethod : AudioModule_ReportCpp ;
	OverrideModule Audio : GetModule_Txt : byOverridingWithMethod : AudioModule_ReportTxt ;
	OverrideModule Audio : GetModule_Inc : byOverridingWithMethod : AudioModule_ReportIncludes ;
	OverrideModule Audio : GetModule_Lib : byOverridingWithMethod : AudioModule_ReportLibraries ;
	OverrideModule Audio : GetModule_Flags : byOverridingWithMethod : AudioModule_ReportLinkFlags ;
}

#RegisterModule Audio ;