1+ using System . Runtime . InteropServices ;
2+ using AltV . Net . Shared . Utils ;
3+
4+ namespace AltV . Net . Client . Elements . Data ;
5+
6+ public class AudioCategory : IAudioCategory
7+ {
8+ private readonly ICore core ;
9+ private readonly string name ;
10+
11+ internal AudioCategory ( ICore core , string name )
12+ {
13+ this . core = core ;
14+ this . name = name ;
15+ }
16+
17+ public float Volume
18+ {
19+ get
20+ {
21+ unsafe
22+ {
23+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
24+ var result = core . Library . Client . AudioCategory_GetVolume ( namePtr ) ;
25+ Marshal . FreeHGlobal ( namePtr ) ;
26+ return result ;
27+ }
28+ }
29+ set
30+ {
31+ unsafe
32+ {
33+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
34+ core . Library . Client . AudioCategory_SetVolume ( namePtr , value ) ;
35+ Marshal . FreeHGlobal ( namePtr ) ;
36+ }
37+ }
38+ }
39+
40+ public float DistanceRolloffScale
41+ {
42+ get
43+ {
44+ unsafe
45+ {
46+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
47+ var result = core . Library . Client . AudioCategory_GetDistanceRolloffScale ( namePtr ) ;
48+ Marshal . FreeHGlobal ( namePtr ) ;
49+ return result ;
50+ }
51+ }
52+ set
53+ {
54+ unsafe
55+ {
56+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
57+ core . Library . Client . AudioCategory_SetDistanceRolloffScale ( namePtr , value ) ;
58+ Marshal . FreeHGlobal ( namePtr ) ;
59+ }
60+ }
61+ }
62+
63+ public float PlateauRolloffScale
64+ {
65+ get
66+ {
67+ unsafe
68+ {
69+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
70+ var result = core . Library . Client . AudioCategory_GetPlateauRolloffScale ( namePtr ) ;
71+ Marshal . FreeHGlobal ( namePtr ) ;
72+ return result ;
73+ }
74+ }
75+ set
76+ {
77+ unsafe
78+ {
79+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
80+ core . Library . Client . AudioCategory_SetPlateauRolloffScale ( namePtr , value ) ;
81+ Marshal . FreeHGlobal ( namePtr ) ;
82+ }
83+ }
84+ }
85+
86+ public float OcclusionDamping
87+ {
88+ get
89+ {
90+ unsafe
91+ {
92+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
93+ var result = core . Library . Client . AudioCategory_GetOcclusionDamping ( namePtr ) ;
94+ Marshal . FreeHGlobal ( namePtr ) ;
95+ return result ;
96+ }
97+ }
98+ set
99+ {
100+ unsafe
101+ {
102+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
103+ core . Library . Client . AudioCategory_SetOcclusionDamping ( namePtr , value ) ;
104+ Marshal . FreeHGlobal ( namePtr ) ;
105+ }
106+ }
107+ }
108+
109+ public float EnvironmentalFilterDamping
110+ {
111+ get
112+ {
113+ unsafe
114+ {
115+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
116+ var result = core . Library . Client . AudioCategory_GetEnvironmentalFilterDamping ( namePtr ) ;
117+ Marshal . FreeHGlobal ( namePtr ) ;
118+ return result ;
119+ }
120+ }
121+ set
122+ {
123+ unsafe
124+ {
125+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
126+ core . Library . Client . AudioCategory_SetEnvironmentalFilterDamping ( namePtr , value ) ;
127+ Marshal . FreeHGlobal ( namePtr ) ;
128+ }
129+ }
130+ }
131+
132+ public float SourceReverbDamping
133+ {
134+ get
135+ {
136+ unsafe
137+ {
138+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
139+ var result = core . Library . Client . AudioCategory_GetSourceReverbDamping ( namePtr ) ;
140+ Marshal . FreeHGlobal ( namePtr ) ;
141+ return result ;
142+ }
143+ }
144+ set
145+ {
146+ unsafe
147+ {
148+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
149+ core . Library . Client . AudioCategory_SetSourceReverbDamping ( namePtr , value ) ;
150+ Marshal . FreeHGlobal ( namePtr ) ;
151+ }
152+ }
153+ }
154+
155+ public float DistanceReverbDamping
156+ {
157+ get
158+ {
159+ unsafe
160+ {
161+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
162+ var result = core . Library . Client . AudioCategory_GetDistanceReverbDamping ( namePtr ) ;
163+ Marshal . FreeHGlobal ( namePtr ) ;
164+ return result ;
165+ }
166+ }
167+ set
168+ {
169+ unsafe
170+ {
171+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
172+ core . Library . Client . AudioCategory_SetDistanceReverbDamping ( namePtr , value ) ;
173+ Marshal . FreeHGlobal ( namePtr ) ;
174+ }
175+ }
176+ }
177+
178+ public float InteriorReverbDamping
179+ {
180+ get
181+ {
182+ unsafe
183+ {
184+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
185+ var result = core . Library . Client . AudioCategory_GetInteriorReverbDamping ( namePtr ) ;
186+ Marshal . FreeHGlobal ( namePtr ) ;
187+ return result ;
188+ }
189+ }
190+ set
191+ {
192+ unsafe
193+ {
194+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
195+ core . Library . Client . AudioCategory_SetInteriorReverbDamping ( namePtr , value ) ;
196+ Marshal . FreeHGlobal ( namePtr ) ;
197+ }
198+ }
199+ }
200+
201+ public float EnvironmentalLoudness
202+ {
203+ get
204+ {
205+ unsafe
206+ {
207+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
208+ var result = core . Library . Client . AudioCategory_GetEnvironmentalLoudness ( namePtr ) ;
209+ Marshal . FreeHGlobal ( namePtr ) ;
210+ return result ;
211+ }
212+ }
213+ set
214+ {
215+ unsafe
216+ {
217+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
218+ core . Library . Client . AudioCategory_SetEnvironmentalLoudness ( namePtr , value ) ;
219+ Marshal . FreeHGlobal ( namePtr ) ;
220+ }
221+ }
222+ }
223+
224+ public float UnderwaterWetLevel
225+ {
226+ get
227+ {
228+ unsafe
229+ {
230+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
231+ var result = core . Library . Client . AudioCategory_GetUnderwaterWetLevel ( namePtr ) ;
232+ Marshal . FreeHGlobal ( namePtr ) ;
233+ return result ;
234+ }
235+ }
236+ set
237+ {
238+ unsafe
239+ {
240+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
241+ core . Library . Client . AudioCategory_SetUnderwaterWetLevel ( namePtr , value ) ;
242+ Marshal . FreeHGlobal ( namePtr ) ;
243+ }
244+ }
245+ }
246+
247+ public float StonedWetLevel
248+ {
249+ get
250+ {
251+ unsafe
252+ {
253+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
254+ var result = core . Library . Client . AudioCategory_GetStonedWetLevel ( namePtr ) ;
255+ Marshal . FreeHGlobal ( namePtr ) ;
256+ return result ;
257+ }
258+ }
259+ set
260+ {
261+ unsafe
262+ {
263+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
264+ core . Library . Client . AudioCategory_SetStonedWetLevel ( namePtr , value ) ;
265+ Marshal . FreeHGlobal ( namePtr ) ;
266+ }
267+ }
268+ }
269+
270+ public short Pitch
271+ {
272+ get
273+ {
274+ unsafe
275+ {
276+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
277+ var result = core . Library . Client . AudioCategory_GetPitch ( namePtr ) ;
278+ Marshal . FreeHGlobal ( namePtr ) ;
279+ return result ;
280+ }
281+ }
282+ set
283+ {
284+ unsafe
285+ {
286+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
287+ core . Library . Client . AudioCategory_SetPitch ( namePtr , value ) ;
288+ Marshal . FreeHGlobal ( namePtr ) ;
289+ }
290+ }
291+ }
292+
293+ public short LowPassFilterCutoff
294+ {
295+ get
296+ {
297+ unsafe
298+ {
299+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
300+ var result = core . Library . Client . AudioCategory_GetLowPassFilterCutoff ( namePtr ) ;
301+ Marshal . FreeHGlobal ( namePtr ) ;
302+ return result ;
303+ }
304+ }
305+ set
306+ {
307+ unsafe
308+ {
309+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
310+ core . Library . Client . AudioCategory_SetLowPassFilterCutoff ( namePtr , value ) ;
311+ Marshal . FreeHGlobal ( namePtr ) ;
312+ }
313+ }
314+ }
315+
316+ public short HighPassFilterCutoff
317+ {
318+ get
319+ {
320+ unsafe
321+ {
322+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
323+ var result = core . Library . Client . AudioCategory_GetHighPassFilterCutoff ( namePtr ) ;
324+ Marshal . FreeHGlobal ( namePtr ) ;
325+ return result ;
326+ }
327+ }
328+ set
329+ {
330+ unsafe
331+ {
332+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
333+ core . Library . Client . AudioCategory_SetHighPassFilterCutoff ( namePtr , value ) ;
334+ Marshal . FreeHGlobal ( namePtr ) ;
335+ }
336+ }
337+ }
338+ public void Reset ( )
339+ {
340+ unsafe
341+ {
342+ var namePtr = MemoryUtils . StringToHGlobalUtf8 ( name ) ;
343+ core . Library . Client . AudioCategory_Reset ( namePtr ) ;
344+ Marshal . FreeHGlobal ( namePtr ) ;
345+ }
346+ }
347+ }
0 commit comments