/
AudioImporter.bindings.cs
278 lines (232 loc) · 12.1 KB
/
AudioImporter.bindings.cs
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
// Unity C# reference source
// Copyright (c) Unity Technologies. For terms of use, see
// https://unity3d.com/legal/licenses/Unity_Reference_Only_License
using UnityEditor.Build;
using UnityEngine;
using UnityEngine.Bindings;
namespace UnityEditor
{
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.")]
public enum AudioImporterFormat
{
Native = -1,
Compressed = 0
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("UnityEditor.AudioImporterLoadType has been deprecated. Use UnityEngine.AudioClipLoadType instead (UnityUpgradable) -> [UnityEngine] UnityEngine.AudioClipLoadType", true)]
public enum AudioImporterLoadType
{
DecompressOnLoad = -1,
CompressedInMemory = -1,
[System.Obsolete("UnityEditor.AudioImporterLoadType.StreamFromDisc has been deprecated. Use UnityEngine.AudioClipLoadType.Streaming instead (UnityUpgradable) -> UnityEngine.AudioClipLoadType.Streaming", true)]
StreamFromDisc = -1
}
[System.Obsolete("Setting and getting import channels is not used anymore (use forceToMono instead)", true)]
public enum AudioImporterChannels
{
Automatic = 0,
Mono = 1,
Stereo = 2,
}
public enum AudioSampleRateSetting
{
PreserveSampleRate = 0,
OptimizeSampleRate = 1,
OverrideSampleRate = 2
}
[System.Serializable]
public partial struct AudioImporterSampleSettings
{
public AudioClipLoadType loadType;
public AudioSampleRateSetting sampleRateSetting;
public uint sampleRateOverride;
public AudioCompressionFormat compressionFormat;
public float quality;
public int conversionMode;
public bool preloadAudioData;
}
[NativeHeader("Modules/AssetPipelineEditor/Public/AudioImporter.h")]
// Audio importer lets you modify [[AudioClip]] import settings from editor scripts.
public sealed partial class AudioImporter : AssetImporter
{
public extern AudioImporterSampleSettings defaultSampleSettings { get; set; }
public bool ContainsSampleSettingsOverride(string platform)
{
return ValidatePlatform(ref platform, "AudioImporter.ContainsSampleSettingsOverride") ?
Internal_ContainsSampleSettingsOverride(platform) :
false;
}
public bool ContainsSampleSettingsOverride(BuildTargetGroup platformGroup)
{
return ValidatePlatform(platformGroup, "AudioImporter.ContainsSampleSettingsOverride", out string platformName) ?
Internal_ContainsSampleSettingsOverride(platformName) :
false;
}
[NativeName("ContainsSampleSettingsOverride")]
internal extern bool Internal_ContainsSampleSettingsOverride(string platform);
public AudioImporterSampleSettings GetOverrideSampleSettings(string platform)
{
return ValidatePlatform(ref platform, "AudioImporter.GetOverrideSampleSettings") ?
Internal_GetOverrideSampleSettings(platform) :
defaultSampleSettings;
}
public AudioImporterSampleSettings GetOverrideSampleSettings(BuildTargetGroup platformGroup)
{
return ValidatePlatform(platformGroup, "AudioImporter.GetOverrideSampleSettings", out string platformName) ?
Internal_GetOverrideSampleSettings(platformName) :
defaultSampleSettings;
}
[NativeName("GetTranslatedSettingsForPlatform")]
internal extern AudioImporterSampleSettings Internal_GetOverrideSampleSettings(string platform);
public bool SetOverrideSampleSettings(string platform, AudioImporterSampleSettings settings)
{
return ValidatePlatform(ref platform, "AudioImporter.SetOverrideSampleSettings") ?
Internal_SetOverrideSampleSettings(platform, settings) :
false;
}
public bool SetOverrideSampleSettings(BuildTargetGroup platformGroup, AudioImporterSampleSettings settings)
{
return ValidatePlatform(platformGroup, "AudioImporter.SetOverrideSampleSettings", out string platformName) ?
Internal_SetOverrideSampleSettings(platformName, settings) :
false;
}
[NativeName("SetSampleSettingsForPlatform")]
internal extern bool Internal_SetOverrideSampleSettings(string platform, AudioImporterSampleSettings settings);
public bool ClearSampleSettingOverride(string platform)
{
return ValidatePlatform(ref platform, "AudioImporter.ClearSampleSettingOverride") ?
Internal_ClearSampleSettingOverride(platform) :
false;
}
public bool ClearSampleSettingOverride(BuildTargetGroup platformGroup)
{
return ValidatePlatform(platformGroup, "AudioImporter.ClearSampleSettingOverride", out string platformName) ?
Internal_ClearSampleSettingOverride(platformName) :
false;
}
private static bool ValidatePlatform(ref string platformName, string methodName)
{
return ValidatePlatform(BuildPipeline.GetBuildTargetGroupByName(platformName), methodName, out platformName);
}
private static bool ValidatePlatform(BuildTargetGroup platformGroup, string methodName, out string platformName)
{
if (platformGroup != BuildTargetGroup.Unknown)
{
platformName = BuildPipeline.GetBuildTargetGroupName(platformGroup);
return true;
}
platformName = null;
Debug.LogErrorFormat("Unknown platform passed to {0} ({1})", methodName, platformGroup);
return false;
}
[NativeName("ClearSampleSettingOverride")]
internal extern bool Internal_ClearSampleSettingOverride(string platformGroup);
// Force this clip to mono?
public extern bool forceToMono { get; set; }
// Is this clip ambisonic?
public extern bool ambisonic { get; set; }
//Set/get the way Unity is loading the Audio data.
public extern bool loadInBackground { get; set; }
[System.Obsolete("Preload audio data has been moved to AudioImporter.SampleSettings as a per platform local setting", true)]
public extern bool preloadAudioData { get; set; }
[System.Obsolete("Setting and getting the compression format is not used anymore (use compressionFormat in defaultSampleSettings instead). Source audio file is assumed to be PCM Wav.")]
AudioImporterFormat format
{
get
{
return (defaultSampleSettings.compressionFormat == AudioCompressionFormat.PCM) ?
AudioImporterFormat.Native : AudioImporterFormat.Compressed;
}
set
{
AudioImporterSampleSettings settings = defaultSampleSettings;
settings.compressionFormat = (value == AudioImporterFormat.Native) ? AudioCompressionFormat.PCM : AudioCompressionFormat.Vorbis;
defaultSampleSettings = settings;
}
}
[System.Obsolete("Setting and getting import channels is not used anymore (use forceToMono instead)", true)]
public AudioImporterChannels channels { get { return 0; } set {} }
// Compression bitrate.
[System.Obsolete("AudioImporter.compressionBitrate is no longer supported", true)]
public int compressionBitrate { get { return 0; } set {} }
[System.Obsolete("AudioImporter.loopable is no longer supported. All audio assets encoded by Unity are by default loopable.")]
public bool loopable { get { return true; } set {} }
[System.Obsolete("AudioImporter.hardware is no longer supported. All mixing of audio is done by software and only some platforms use hardware acceleration to perform decoding.")]
public bool hardware { get { return false; } set {} }
// Should audio data be decompressed on load?
[System.Obsolete("Setting/Getting decompressOnLoad is deprecated. Use AudioImporterSampleSettings.loadType instead.")]
bool decompressOnLoad
{
get
{
return (defaultSampleSettings.loadType == AudioClipLoadType.DecompressOnLoad);
}
set
{
AudioImporterSampleSettings settings = defaultSampleSettings;
settings.loadType = value ? AudioClipLoadType.DecompressOnLoad : AudioClipLoadType.CompressedInMemory;
defaultSampleSettings = settings;
}
}
[System.Obsolete("AudioImporter.quality is no longer supported. Use AudioImporterSampleSettings.")]
float quality
{
get
{
return defaultSampleSettings.quality;
}
set
{
AudioImporterSampleSettings settings = defaultSampleSettings;
settings.quality = value;
defaultSampleSettings = settings;
}
}
// Is this clip a 2D or 3D sound?
[System.Obsolete("AudioImporter.threeD is no longer supported")]
public bool threeD { get { return true; } set {} }
//*undocumented* Update/cache audio info. important to call this before any of the next. you only need to call it once per audiofile
[System.Obsolete("AudioImporter.updateOrigData is deprecated.", true)]
internal void updateOrigData() {}
//*undocumented* Duration of imported audio. call updateOrigData before
[System.Obsolete("AudioImporter.durationMS is deprecated.", true)]
internal int durationMS { get { return 0; } }
// Frequency (sample rate) of imported audio. call updateOrigData before
[System.Obsolete("AudioImporter.frequency is deprecated.", true)]
internal int frequency { get { return 0; } }
// Original channel count. call updateOrigData before
[System.Obsolete("AudioImporter.origChannelCount is deprecated.", true)]
internal int origChannelCount { get { return 0; } }
// Is original source compressible to Ogg/MP3 (depending on platform)? call updateOrigData before
[System.Obsolete("AudioImporter.origIsCompressible is deprecated.", true)]
internal bool origIsCompressible { get { return false; } }
// Is original source forcable(?) to mono? call updateOrigData before
[System.Obsolete("AudioImporter.origIsMonoForcable is deprecated.", true)]
internal bool origIsMonoForcable { get { return false; } }
//*undocumented* Min bitrate for ogg/mp3 compression. call updateOrigData before
[System.Obsolete("AudioImporter.minBitrate is deprecated.", true)]
internal int minBitrate(AudioType type) { return 0; }
//*undocumented* Max bitrate for ogg/mp3 compression. call updateOrigData before
[System.Obsolete("AudioImporter.maxBitrate is deprecated.", true)]
internal int maxBitrate(AudioType type) { return 0; }
[System.Obsolete("AudioImporter.defaultBitrate is deprecated.", true)]
internal int defaultBitrate { get { return 0; } }
//*undocumented* Get the format for automatic format
[System.Obsolete("AudioImporter.origType is deprecated.", true)]
internal AudioType origType { get { return 0; } }
//*undocumented* Return the size of the original file. Note this is slow
[System.Obsolete("AudioImporter.origFileSize is deprecated.", true)]
internal int origFileSize { get { return 0; } }
[NativeProperty("GetPreviewData().m_OrigSize", TargetType.Field)]
internal extern int origSize
{
get;
}
[NativeProperty("GetPreviewData().m_CompSize", TargetType.Field)]
internal extern int compSize
{
get;
}
}
}