type Allegro_Audio_Depth is ( ALLEGRO_AUDIO_DEPTH_INT8, ALLEGRO_AUDIO_DEPTH_INT16, ALLEGRO_AUDIO_DEPTH_INT24, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_AUDIO_DEPTH_UINT8, ALLEGRO_AUDIO_DEPTH_UINT16, ALLEGRO_AUDIO_DEPTH_UINT24 );
type Allegro_Channel_Conf is ( ALLEGRO_CHANNEL_CONF_1, ALLEGRO_CHANNEL_CONF_2, ALLEGRO_CHANNEL_CONF_3, ALLEGRO_CHANNEL_CONF_4, ALLEGRO_CHANNEL_CONF_5_1, ALLEGRO_CHANNEL_CONF_6_1, ALLEGRO_CHANNEL_CONF_7_1 );
type A_Allegro_Mixer is access all Allegro_Mixer;
type Allegro_Mixer_Quality is ( ALLEGRO_MIXER_QUALITY_POINT, ALLEGRO_MIXER_QUALITY_LINEAR, ALLEGRO_MIXER_QUALITY_CUBIC );
type Allegro_Playmode is ( ALLEGRO_PLAYMODE_ONCE, ALLEGRO_PLAYMODE_LOOP, ALLEGRO_PLAYMODE_BIDIR );
type A_Allegro_Sample is access all Allegro_Sample;
type A_Allegro_Sample_Instance is access all Allegro_Sample_Instance;
type A_Allegro_Audio_Stream is access all Allegro_Audio_Stream;
type A_Allegro_Voice is access all Allegro_Voice;
type A_Mixer_Postprocess_Callback is access procedure( buf : Address; samples : unsigned; data : Address );
type A_Allegro_Sample_Loader is access function ( filename : C.char_array ) return A_Allegro_Sample;
type A_Allegro_Sample_Loader_f is access function ( fp : A_Allegro_File ) return A_Allegro_Sample;
type A_Allegro_Sample_Saver is access function ( filename : C.char_array; spl : A_Allegro_Sample ) return Bool;
type A_Allegro_Sample_Saver_f is access function ( fp : A_Allegro_File; spl : A_Allegro_Sample ) return Bool;
type A_Allegro_Audio_Stream_Loader is access function ( filename : C.char_array; buffer_count : size_t; samples : unsigned ) return A_Allegro_Audio_Stream;
type A_Allegro_Audio_Stream_Loader_f is access function ( fp : A_Allegro_File; buffer_count : size_t; samples : unsigned ) return A_Allegro_Audio_Stream;
Allegro_Audio_Pan_None : constant Allegro_Audio_Pan := -1000.0;
ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT : constant Allegro_Event_Type := 513;
ALLEGRO_EVENT_AUDIO_STREAM_FINISHED : constant Allegro_Event_Type := 514;
function Al_Get_Audio_Depth_Size
( | conf | : Allegro_Audio_Depth ) return size_t; |
function Al_Get_Channel_Count
( | conf | : Allegro_Channel_Conf ) return size_t; |
function Al_Create_Voice
( | freq | : unsigned; |
depth | : Allegro_Audio_Depth; | |
chan_conf | : Allegro_Channel_Conf ) return A_Allegro_Voice; |
procedure Al_Destroy_Voice
( | voice | : in out A_Allegro_Voice ); |
procedure Al_Detach_Voice
( | voice | : A_Allegro_Voice ); |
function Al_Attach_Audio_Stream_To_Voice
( | stream | : A_Allegro_Audio_Stream; |
voice | : A_Allegro_Voice ) return Boolean; |
function Al_Attach_Mixer_To_Voice
( | mixer | : A_Allegro_Mixer; |
voice | : A_Allegro_Voice ) return Boolean; |
function Al_Attach_Sample_Instance_To_Voice
( | stream | : A_Allegro_Sample_Instance; |
voice | : A_Allegro_Voice ) return Boolean; |
function Al_Get_Voice_Frequency
( | voice | : A_Allegro_Voice ) return unsigned; |
function Al_Get_Voice_Depth
( | voice | : A_Allegro_Voice ) return Allegro_Audio_Depth; |
function Al_Get_Voice_Channels
( | voice | : A_Allegro_Voice ) return Allegro_Channel_Conf; |
function Al_Get_Voice_Playing
( | voice | : A_Allegro_Voice ) return Boolean; |
function Al_Set_Voice_Playing
( | voice | : A_Allegro_Voice; |
val | : Boolean ) return Boolean; |
function Al_Get_Voice_Position
( | voice | : A_Allegro_Voice ) return unsigned; |
function Al_Set_Voice_Position
( | voice | : A_Allegro_Voice; |
val | : unsigned ) return Boolean; |
function Al_Create_Sample
( | buf | : Address; |
samples | : unsigned; | |
freq | : unsigned; | |
depth | : Allegro_Audio_Depth; | |
chan_conf | : Allegro_Channel_Conf; | |
free_buf | : Boolean ) return A_Allegro_Sample; |
procedure Al_Destroy_Sample
( | spl | : in out A_Allegro_Sample ); |
function Al_Play_Sample
( | data | : A_Allegro_Sample; |
gain | : Float; | |
pan | : Float; | |
speed | : Float; | |
playMode | : Allegro_Playmode; | |
ret_id | : access Allegro_Sample_Id ) return Boolean; |
procedure Al_Stop_Sample
( | spl_id | : Allegro_Sample_Id ); |
function Al_Get_Sample_Channels
( | spl | : A_Allegro_Sample ) return Allegro_Channel_Conf; |
function Al_Get_Sample_Depth
( | spl | : A_Allegro_Sample ) return Allegro_Audio_Depth; |
function Al_Get_Sample_Frequency
( | spl | : A_Allegro_Sample ) return unsigned; |
function Al_Get_Sample_Length
( | spl | : A_Allegro_Sample ) return unsigned; |
function Al_Get_Sample_Data
( | spl | : A_Allegro_Sample ) return Address; |
function Al_Create_Sample_Instance
( | data | : A_Allegro_Sample ) return A_Allegro_Sample_Instance; |
procedure Al_Destroy_Sample_Instance
( | spl | : in out A_Allegro_Sample_Instance ); |
function Al_Play_Sample_Instance
( | spl | : A_Allegro_Sample_Instance ) return Boolean; |
function Al_Stop_Sample_Instance
( | spl | : A_Allegro_Sample_Instance ) return Boolean; |
function Al_Get_Sample_Instance_Channels
( | spl | : A_Allegro_Sample_Instance ) return Allegro_Channel_Conf; |
function Al_Get_Sample_Instance_Depth
( | spl | : A_Allegro_Sample_Instance ) return Allegro_Audio_Depth; |
function Al_Get_Sample_Instance_Frequency
( | spl | : A_Allegro_Sample_Instance ) return unsigned; |
function Al_Get_Sample_Instance_Length
( | spl | : A_Allegro_Sample_Instance ) return unsigned; |
function Al_Set_Sample_Instance_Length
( | spl | : A_Allegro_Sample_Instance; |
val | : unsigned ) return Boolean; |
function Al_Get_Sample_Instance_Position
( | spl | : A_Allegro_Sample_Instance ) return unsigned; |
function Al_Set_Sample_Instance_Position
( | spl | : A_Allegro_Sample_Instance; |
val | : unsigned ) return Boolean; |
function Al_Get_Sample_Instance_Speed
( | spl | : A_Allegro_Sample_Instance ) return Float; |
function Al_Set_Sample_Instance_Speed
( | spl | : A_Allegro_Sample_Instance; |
val | : Float ) return Boolean; |
function Al_Get_Sample_Instance_Gain
( | spl | : A_Allegro_Sample_Instance ) return Float; |
function Al_Set_Sample_Instance_Gain
( | spl | : A_Allegro_Sample_Instance; |
val | : Float ) return Boolean; |
function Al_Get_Sample_Instance_Pan
( | spl | : A_Allegro_Sample_Instance ) return Float; |
function Al_Set_Sample_Instance_Pan
( | spl | : A_Allegro_Sample_Instance; |
val | : Float ) return Boolean; |
function Al_Get_Sample_Instance_Time
( | spl | : A_Allegro_Sample_Instance ) return Float; |
function Al_Get_Sample_Instance_Playmode
( | spl | : A_Allegro_Sample_Instance ) return Allegro_Playmode; |
function Al_Set_Sample_Instance_Playmode
( | spl | : A_Allegro_Sample_Instance; |
val | : Allegro_Playmode ) return Boolean; |
function Al_Get_Sample_Instance_Playing
( | spl | : A_Allegro_Sample_Instance ) return Boolean; |
function Al_Set_Sample_Instance_Playing
( | spl | : A_Allegro_Sample_Instance; |
val | : Boolean ) return Boolean; |
procedure Al_Set_Sample_Instance_Playing
( | spl | : A_Allegro_Sample_Instance; |
val | : Boolean ); |
function Al_Get_Sample_Instance_Attached
( | spl | : A_Allegro_Sample_Instance ) return Boolean; |
function Al_Detach_Sample_Instance
( | spl | : A_Allegro_Sample_Instance ) return Boolean; |
procedure Al_Detach_Sample_Instance
( | spl | : A_Allegro_Sample_Instance ); |
function Al_Get_Sample
( | spl | : A_Allegro_Sample_Instance ) return A_Allegro_Sample; |
function Al_Set_Sample
( | spl | : A_Allegro_Sample_Instance; |
data | : A_Allegro_Sample ) return Boolean; |
function Al_Create_Mixer
( | freq | : unsigned; |
depth | : Allegro_Audio_Depth; | |
chan_conf | : Allegro_Channel_Conf ) return A_Allegro_Mixer; |
procedure Al_Destroy_Mixer
( | mixer | : in out A_Allegro_Mixer ); |
function Al_Get_Default_Mixer return A_Allegro_Mixer;
function Al_Set_Default_Mixer
( | mixer | : A_Allegro_Mixer ) return Boolean; |
procedure Al_Set_Default_Mixer
( | mixer | : A_Allegro_Mixer ); |
function Al_Attach_Mixer_To_Mixer
( | stream | : A_Allegro_Mixer; |
mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Attach_Sample_Instance_To_Mixer
( | stream | : A_Allegro_Sample_Instance; |
mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Attach_Audio_Stream_To_Mixer
( | stream | : A_Allegro_Audio_Stream; |
mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Get_Mixer_Frequency
( | mixer | : A_Allegro_Mixer ) return unsigned; |
function Al_Set_Mixer_Frequency
( | mixer | : A_Allegro_Mixer; |
val | : unsigned ) return Boolean; |
function Al_Get_Mixer_Channels
( | mixer | : A_Allegro_Mixer ) return Allegro_Channel_Conf; |
function Al_Get_Mixer_Depth
( | mixer | : A_Allegro_Mixer ) return Allegro_Audio_Depth; |
function Al_Get_Mixer_Quality
( | mixer | : A_Allegro_Mixer ) return Allegro_Mixer_Quality; |
function Al_Set_Mixer_Quality
( | mixer | : A_Allegro_Mixer; |
val | : Allegro_Mixer_Quality ) return Boolean; |
function Al_Get_Mixer_Gain
( | mixer | : A_Allegro_Mixer ) return Float; |
function Al_Set_Mixer_Gain
( | mixer | : A_Allegro_Mixer; |
val | : Float ) return Boolean; |
function Al_Get_Mixer_Playing
( | mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Set_Mixer_Playing
( | mixer | : A_Allegro_Mixer; |
val | : Boolean ) return Boolean; |
function Al_Get_Mixer_Attached
( | mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Detach_Mixer
( | mixer | : A_Allegro_Mixer ) return Boolean; |
function Al_Set_Mixer_Postprocess_Callback
( | mixer | : A_Allegro_Mixer; |
cb | : A_Mixer_Postprocess_Callback; | |
data | : Address ) return Boolean; |
function Al_Create_Audio_Stream
( | buffer_count | : size_t; |
samples | : unsigned; | |
freq | : unsigned; | |
depth | : Allegro_Audio_Depth; | |
chan_conf | : Allegro_Channel_Conf ) return A_Allegro_Audio_Stream; |
procedure Al_Destroy_Audio_Stream
( | stream | : in out A_Allegro_Audio_Stream ); |
function Al_Get_Audio_Stream_Event_Source
( | stream | : A_Allegro_Audio_Stream ) return A_Allegro_Event_Source; |
procedure Al_Drain_Audio_Stream
( | stream | : A_Allegro_Audio_Stream ); |
function Al_Rewind_Audio_Stream
( | stream | : A_Allegro_Audio_Stream ) return Boolean; |
function Al_Get_Audio_Stream_Frequency
( | stream | : A_Allegro_Audio_Stream ) return unsigned; |
function Al_Get_Audio_Stream_Channels
( | stream | : A_Allegro_Audio_Stream ) return Allegro_Channel_Conf; |
function Al_Get_Audio_Stream_Depth
( | stream | : A_Allegro_Audio_Stream ) return Allegro_Audio_Depth; |
function Al_Get_Audio_Stream_Length
( | stream | : A_Allegro_Audio_Stream ) return unsigned; |
function Al_Get_Audio_Stream_Speed
( | stream | : A_Allegro_Audio_Stream ) return Float; |
function Al_Set_Audio_Stream_Speed
( | stream | : A_Allegro_Audio_Stream; |
val | : Float ) return Boolean; |
function Al_Get_Audio_Stream_Gain
( | stream | : A_Allegro_Audio_Stream ) return Float; |
function Al_Set_Audio_Stream_Gain
( | stream | : A_Allegro_Audio_Stream; |
val | : Float ) return Boolean; |
function Al_Get_Audio_Stream_Pan
( | stream | : A_Allegro_Audio_Stream ) return Float; |
function Al_Set_Audio_Stream_Pan
( | stream | : A_Allegro_Audio_Stream; |
val | : Float ) return Boolean; |
function Al_Get_Audio_Stream_Playing
( | stream | : A_Allegro_Audio_Stream ) return Boolean; |
function Al_Set_Audio_Stream_Playing
( | stream | : A_Allegro_Audio_Stream; |
val | : Boolean ) return Boolean; |
procedure Al_Set_Audio_Stream_Playing
( | stream | : A_Allegro_Audio_Stream; |
val | : Boolean ); |
function Al_Get_Audio_Stream_Playmode
( | stream | : A_Allegro_Audio_Stream ) return Allegro_Playmode; |
function Al_Set_Audio_Stream_Playmode
( | stream | : A_Allegro_Audio_Stream; |
val | : Allegro_Playmode ) return Boolean; |
procedure Al_Set_Audio_Stream_Playmode
( | stream | : A_Allegro_Audio_Stream; |
val | : Allegro_Playmode ); |
function Al_Get_Audio_Stream_Attached
( | stream | : A_Allegro_Audio_Stream ) return Boolean; |
function Al_Detach_Audio_Stream
( | stream | : A_Allegro_Audio_Stream ) return Boolean; |
procedure Al_Detach_Audio_Stream
( | stream | : A_Allegro_Audio_Stream ); |
function Al_Get_Audio_Stream_Fragment
( | stream | : A_Allegro_Audio_Stream ) return Address; |
function Al_Set_Audio_Stream_Fragment
( | stream | : A_Allegro_Audio_Stream; |
val | : Address ) return Boolean; |
function Al_Get_Audio_Stream_Fragments
( | stream | : A_Allegro_Audio_Stream ) return unsigned; |
function Al_Get_Available_Audio_Stream_Fragments
( | stream | : A_Allegro_Audio_Stream ) return unsigned; |
function Al_Seek_Audio_Stream_Secs
( | stream | : A_Allegro_Audio_Stream; |
time | : double ) return Boolean; |
function Al_Get_Audio_Stream_Position_Secs
( | stream | : A_Allegro_Audio_Stream ) return double; |
function Al_Get_Audio_Stream_Length_Secs
( | stream | : A_Allegro_Audio_Stream ) return double; |
function Al_Set_Audio_Stream_Loop_Secs
( | stream | : A_Allegro_Audio_Stream; |
start | : double; | |
finish | : double ) return Boolean; |
function Al_Register_Sample_Loader
( | ext | : String; |
loader | : A_Allegro_Sample_Loader ) return Boolean; |
function Al_Register_Sample_Loader_f
( | ext | : String; |
loader | : A_Allegro_Sample_Loader_f ) return Boolean; |
function Al_Register_Sample_Saver
( | ext | : String; |
saver | : A_Allegro_Sample_Saver ) return Boolean; |
function Al_Register_Sample_Saver_f
( | ext | : String; |
saver | : A_Allegro_Sample_Saver_f ) return Boolean; |
function Al_Register_Audio_Stream_Loader
( | ext | : String; |
stream_loader | : A_Allegro_Audio_Stream_Loader ) return Boolean; |
function Al_Register_Audio_Stream_Loader_f
( | ext | : String; |
stream_loader | : A_Allegro_Audio_Stream_Loader_f ) return Boolean; |
function Al_Load_Sample
( | filename | : String ) return A_Allegro_Sample; |
function Al_Load_Sample_f
( | fp | : A_Allegro_File; |
ident | : String ) return A_Allegro_Sample; |
function Al_Load_Audio_Stream
( | filename | : String; |
buffer_count | : size_t; | |
samples | : unsigned ) return A_Allegro_Audio_Stream; |
function Al_Load_Audio_Stream_f
( | fp | : A_Allegro_File; |
ident | : String; | |
buffer_count | : size_t; | |
samples | : unsigned ) return A_Allegro_Audio_Stream; |
function Al_Save_Sample
( | filename | : String; |
spl | : A_Allegro_Sample ) return Boolean; |
function Al_Save_Sample_f
( | fp | : A_Allegro_File; |
ident | : String; | |
spl | : A_Allegro_Sample ) return Boolean; |