@@ -91,7 +91,7 @@ interface
9191{ $I SDL_timer.inc} // 3.1.6-prev
9292{ $I SDL_error.inc} // 3.1.6-prev
9393{ $I SDL_power.inc} // 3.1.6-prev
94- { $I SDL_audio.inc} // 3.1.6-prev (unfinished)
94+ { $I SDL_audio.inc} // 3.1.6-prev
9595{ $I SDL_sensor.inc} // 3.1.6-prev
9696{ $I SDL_scancode.inc} // 3.1.6-prev
9797{ $I SDL_keycode.inc} // 3.1.6-prev
@@ -227,6 +227,58 @@ function SDL_NS_TO_US(NS: Integer): Integer;
227227 SDL_NS_TO_US:=NS div SDL_NS_PER_US;
228228end ;
229229
230+ { Macros from SDL_audio.h }
231+ function SDL_DEFINE_AUDIO_FORMAT (signed: cuint16; bigendian: cuint16;
232+ float: cuint16; size: Integer): TSDL_AudioFormat;
233+ begin
234+ Result:=(signed shl 15 ) or (bigendian shl 12 ) or (float shl 8 ) or (size and SDL_AUDIO_MASK_BITSIZE);
235+ end ;
236+
237+ function SDL_AUDIO_BITSIZE (x: TSDL_AudioFormat): Integer;
238+ begin
239+ Result:=x and SDL_AUDIO_MASK_BITSIZE;
240+ end ;
241+
242+ function SDL_AUDIO_BYTESIZE (x: TSDL_AudioFormat): Integer;
243+ begin
244+ Result:=SDL_AUDIO_BITSIZE(x) div 8 ;
245+ end ;
246+
247+ function SDL_AUDIO_ISFLOAT (x: TSDL_AudioFormat): Integer;
248+ begin
249+ Result:=x and SDL_AUDIO_MASK_FLOAT;
250+ end ;
251+
252+ function SDL_AUDIO_ISBIGENDIAN (x: TSDL_AudioFormat): Integer;
253+ begin
254+ Result:=x and SDL_AUDIO_MASK_BIG_ENDIAN;
255+ end ;
256+
257+ function SDL_AUDIO_ISLITTLEENDIAN (x: TSDL_AudioFormat): Integer;
258+ begin
259+ Result:=not (x) and SDL_AUDIO_MASK_BIG_ENDIAN;
260+ end ;
261+
262+ function SDL_AUDIO_ISSIGNED (x: TSDL_AudioFormat): Integer;
263+ begin
264+ Result:=x and SDL_AUDIO_MASK_SIGNED;
265+ end ;
266+
267+ function SDL_AUDIO_ISINT (x: TSDL_AudioFormat): Integer;
268+ begin
269+ Result:=not (x) and SDL_AUDIO_MASK_FLOAT;
270+ end ;
271+
272+ function SDL_AUDIO_ISUNSIGNED (x: TSDL_AudioFormat): Integer;
273+ begin
274+ Result:=not (x) and SDL_AUDIO_MASK_SIGNED;
275+ end ;
276+
277+ function SDL_AUDIO_FRAMESIZE (x: TSDL_AudioSpec): Integer;
278+ begin
279+ Result:=SDL_AUDIO_BYTESIZE(x.format * x.channels);
280+ end ;
281+
230282{ Macros from SDL_keycode.h }
231283function SDL_SCANCODE_TO_KEYCODE (X: TSDL_Scancode): TSDL_Keycode;
232284begin
0 commit comments