Index

Package: Audio

Description

package Allegro.Audio is
Allegro 5.0.9 - Audio

Types

Allegro_Audio_Depth

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
    );

Allegro_Audio_Pan

type Allegro_Audio_Pan is new Float;

Allegro_Channel_Conf

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
    );

Allegro_Mixer

type Allegro_Mixer is limited private;

A_Allegro_Mixer

type A_Allegro_Mixer is access all Allegro_Mixer;

Allegro_Mixer_Quality

type Allegro_Mixer_Quality is (
        ALLEGRO_MIXER_QUALITY_POINT,
        ALLEGRO_MIXER_QUALITY_LINEAR,
        ALLEGRO_MIXER_QUALITY_CUBIC
    );

Allegro_Playmode

type Allegro_Playmode is (
        ALLEGRO_PLAYMODE_ONCE,
        ALLEGRO_PLAYMODE_LOOP,
        ALLEGRO_PLAYMODE_BIDIR
    );

Allegro_Sample_Id

type Allegro_Sample_Id is
        record
            index : Integer;
            id    : Integer;
        end record;

Allegro_Sample

type Allegro_Sample is limited private;

A_Allegro_Sample

type A_Allegro_Sample is access all Allegro_Sample;

Allegro_Sample_Instance

type Allegro_Sample_Instance is limited private;

A_Allegro_Sample_Instance

type A_Allegro_Sample_Instance is access all Allegro_Sample_Instance;

Allegro_Audio_Stream

type Allegro_Audio_Stream is limited private;

A_Allegro_Audio_Stream

type A_Allegro_Audio_Stream is access all Allegro_Audio_Stream;

Allegro_Voice

type Allegro_Voice is limited private;

A_Allegro_Voice

type A_Allegro_Voice is access all Allegro_Voice;

A_Mixer_Postprocess_Callback

type A_Mixer_Postprocess_Callback is access
         procedure( buf : Address; samples : unsigned; data : Address );

A_Allegro_Sample_Loader

type A_Allegro_Sample_Loader is access
        function ( filename : C.char_array ) return A_Allegro_Sample;

A_Allegro_Sample_Loader_f

type A_Allegro_Sample_Loader_f is access
        function ( fp : A_Allegro_File ) return A_Allegro_Sample;

A_Allegro_Sample_Saver

type A_Allegro_Sample_Saver is access
        function ( filename : C.char_array; spl : A_Allegro_Sample ) return Bool;

A_Allegro_Sample_Saver_f

type A_Allegro_Sample_Saver_f is access
        function ( fp : A_Allegro_File; spl : A_Allegro_Sample ) return Bool;

A_Allegro_Audio_Stream_Loader

type A_Allegro_Audio_Stream_Loader is access
        function ( filename     : C.char_array;
                   buffer_count : size_t;
                   samples      : unsigned ) return A_Allegro_Audio_Stream;

A_Allegro_Audio_Stream_Loader_f

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;

Constants & Global variables

Allegro_Audio_Pan_None (Allegro_Audio_Pan)

Allegro_Audio_Pan_None : constant Allegro_Audio_Pan := -1000.0;

ALLEGRO_MAX_CHANNELS

ALLEGRO_MAX_CHANNELS : constant := 8;

ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT (Allegro.Events.Allegro_Event_Type)

ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT : constant Allegro_Event_Type := 513;

ALLEGRO_EVENT_AUDIO_STREAM_FINISHED (Allegro.Events.Allegro_Event_Type)

ALLEGRO_EVENT_AUDIO_STREAM_FINISHED : constant Allegro_Event_Type := 514;

Subprograms & Entries

Al_Install_Audio

function Al_Install_Audio return Boolean;

Al_Uninstall_Audio

procedure Al_Uninstall_Audio;

Al_Is_Audio_Installed

function Al_Is_Audio_Installed return Boolean;

Al_Reserve_Samples

function Al_Reserve_Samples
( reserve_samples: Integer ) return Boolean;

Al_Get_Allegro_Audio_Version

function Al_Get_Allegro_Audio_Version return Unsigned_32;

Al_Get_Audio_Depth_Size

function Al_Get_Audio_Depth_Size
( conf: Allegro_Audio_Depth ) return size_t;

Al_Get_Channel_Count

function Al_Get_Channel_Count
( conf: Allegro_Channel_Conf ) return size_t;

Al_Create_Voice

function Al_Create_Voice
( freq: unsigned;
depth: Allegro_Audio_Depth;
chan_conf: Allegro_Channel_Conf ) return A_Allegro_Voice;

Al_Destroy_Voice

procedure Al_Destroy_Voice
( voice: in out A_Allegro_Voice );

Al_Detach_Voice

procedure Al_Detach_Voice
( voice: A_Allegro_Voice );

Al_Attach_Audio_Stream_To_Voice

function Al_Attach_Audio_Stream_To_Voice
( stream: A_Allegro_Audio_Stream;
voice: A_Allegro_Voice ) return Boolean;

Al_Attach_Mixer_To_Voice

function Al_Attach_Mixer_To_Voice
( mixer: A_Allegro_Mixer;
voice: A_Allegro_Voice ) return Boolean;

Al_Attach_Sample_Instance_To_Voice

function Al_Attach_Sample_Instance_To_Voice
( stream: A_Allegro_Sample_Instance;
voice: A_Allegro_Voice ) return Boolean;

Al_Get_Voice_Frequency

function Al_Get_Voice_Frequency
( voice: A_Allegro_Voice ) return unsigned;

Al_Get_Voice_Depth

function Al_Get_Voice_Depth
( voice: A_Allegro_Voice ) return Allegro_Audio_Depth;

Al_Get_Voice_Channels

function Al_Get_Voice_Channels
( voice: A_Allegro_Voice ) return Allegro_Channel_Conf;

Al_Get_Voice_Playing

function Al_Get_Voice_Playing
( voice: A_Allegro_Voice ) return Boolean;

Al_Set_Voice_Playing

function Al_Set_Voice_Playing
( voice: A_Allegro_Voice;
val: Boolean ) return Boolean;

Al_Get_Voice_Position

function Al_Get_Voice_Position
( voice: A_Allegro_Voice ) return unsigned;

Al_Set_Voice_Position

function Al_Set_Voice_Position
( voice: A_Allegro_Voice;
val: unsigned ) return Boolean;

Al_Create_Sample

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;

Al_Destroy_Sample

procedure Al_Destroy_Sample
( spl: in out A_Allegro_Sample );

Al_Play_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;

Al_Stop_Sample

procedure Al_Stop_Sample
( spl_id: Allegro_Sample_Id );

Al_Stop_Samples

procedure Al_Stop_Samples;

Al_Get_Sample_Channels

function Al_Get_Sample_Channels
( spl: A_Allegro_Sample ) return Allegro_Channel_Conf;

Al_Get_Sample_Depth

function Al_Get_Sample_Depth
( spl: A_Allegro_Sample ) return Allegro_Audio_Depth;

Al_Get_Sample_Frequency

function Al_Get_Sample_Frequency
( spl: A_Allegro_Sample ) return unsigned;

Al_Get_Sample_Length

function Al_Get_Sample_Length
( spl: A_Allegro_Sample ) return unsigned;

Al_Get_Sample_Data

function Al_Get_Sample_Data
( spl: A_Allegro_Sample ) return Address;

Al_Create_Sample_Instance

function Al_Create_Sample_Instance
( data: A_Allegro_Sample ) return A_Allegro_Sample_Instance;

Al_Destroy_Sample_Instance

procedure Al_Destroy_Sample_Instance
( spl: in out A_Allegro_Sample_Instance );

Al_Play_Sample_Instance

function Al_Play_Sample_Instance
( spl: A_Allegro_Sample_Instance ) return Boolean;

Al_Stop_Sample_Instance

function Al_Stop_Sample_Instance
( spl: A_Allegro_Sample_Instance ) return Boolean;

Al_Get_Sample_Instance_Channels

function Al_Get_Sample_Instance_Channels
( spl: A_Allegro_Sample_Instance ) return Allegro_Channel_Conf;

Al_Get_Sample_Instance_Depth

function Al_Get_Sample_Instance_Depth
( spl: A_Allegro_Sample_Instance ) return Allegro_Audio_Depth;

Al_Get_Sample_Instance_Frequency

function Al_Get_Sample_Instance_Frequency
( spl: A_Allegro_Sample_Instance ) return unsigned;

Al_Get_Sample_Instance_Length

function Al_Get_Sample_Instance_Length
( spl: A_Allegro_Sample_Instance ) return unsigned;

Al_Set_Sample_Instance_Length

function Al_Set_Sample_Instance_Length
( spl: A_Allegro_Sample_Instance;
val: unsigned ) return Boolean;

Al_Get_Sample_Instance_Position

function Al_Get_Sample_Instance_Position
( spl: A_Allegro_Sample_Instance ) return unsigned;

Al_Set_Sample_Instance_Position

function Al_Set_Sample_Instance_Position
( spl: A_Allegro_Sample_Instance;
val: unsigned ) return Boolean;

Al_Get_Sample_Instance_Speed

function Al_Get_Sample_Instance_Speed
( spl: A_Allegro_Sample_Instance ) return Float;

Al_Set_Sample_Instance_Speed

function Al_Set_Sample_Instance_Speed
( spl: A_Allegro_Sample_Instance;
val: Float ) return Boolean;

Al_Get_Sample_Instance_Gain

function Al_Get_Sample_Instance_Gain
( spl: A_Allegro_Sample_Instance ) return Float;

Al_Set_Sample_Instance_Gain

function Al_Set_Sample_Instance_Gain
( spl: A_Allegro_Sample_Instance;
val: Float ) return Boolean;

Al_Get_Sample_Instance_Pan

function Al_Get_Sample_Instance_Pan
( spl: A_Allegro_Sample_Instance ) return Float;

Al_Set_Sample_Instance_Pan

function Al_Set_Sample_Instance_Pan
( spl: A_Allegro_Sample_Instance;
val: Float ) return Boolean;

Al_Get_Sample_Instance_Time

function Al_Get_Sample_Instance_Time
( spl: A_Allegro_Sample_Instance ) return Float;

Al_Get_Sample_Instance_Playmode

function Al_Get_Sample_Instance_Playmode
( spl: A_Allegro_Sample_Instance ) return Allegro_Playmode;

Al_Set_Sample_Instance_Playmode

function Al_Set_Sample_Instance_Playmode
( spl: A_Allegro_Sample_Instance;
val: Allegro_Playmode ) return Boolean;

Al_Get_Sample_Instance_Playing

function Al_Get_Sample_Instance_Playing
( spl: A_Allegro_Sample_Instance ) return Boolean;

Al_Set_Sample_Instance_Playing

function Al_Set_Sample_Instance_Playing
( spl: A_Allegro_Sample_Instance;
val: Boolean ) return Boolean;

Al_Set_Sample_Instance_Playing

procedure Al_Set_Sample_Instance_Playing
( spl: A_Allegro_Sample_Instance;
val: Boolean );

Al_Get_Sample_Instance_Attached

function Al_Get_Sample_Instance_Attached
( spl: A_Allegro_Sample_Instance ) return Boolean;

Al_Detach_Sample_Instance

function Al_Detach_Sample_Instance
( spl: A_Allegro_Sample_Instance ) return Boolean;

Al_Detach_Sample_Instance

procedure Al_Detach_Sample_Instance
( spl: A_Allegro_Sample_Instance );

Al_Get_Sample

function Al_Get_Sample
( spl: A_Allegro_Sample_Instance ) return A_Allegro_Sample;

Al_Set_Sample

function Al_Set_Sample
( spl: A_Allegro_Sample_Instance;
data: A_Allegro_Sample ) return Boolean;

Al_Create_Mixer

function Al_Create_Mixer
( freq: unsigned;
depth: Allegro_Audio_Depth;
chan_conf: Allegro_Channel_Conf ) return A_Allegro_Mixer;

Al_Destroy_Mixer

procedure Al_Destroy_Mixer
( mixer: in out A_Allegro_Mixer );

Al_Get_Default_Mixer

function Al_Get_Default_Mixer return A_Allegro_Mixer;

Al_Set_Default_Mixer

function Al_Set_Default_Mixer
( mixer: A_Allegro_Mixer ) return Boolean;

Al_Set_Default_Mixer

procedure Al_Set_Default_Mixer
( mixer: A_Allegro_Mixer );

Al_Restore_Default_Mixer

function Al_Restore_Default_Mixer return Boolean;

Al_Attach_Mixer_To_Mixer

function Al_Attach_Mixer_To_Mixer
( stream: A_Allegro_Mixer;
mixer: A_Allegro_Mixer ) return Boolean;

Al_Attach_Sample_Instance_To_Mixer

function Al_Attach_Sample_Instance_To_Mixer
( stream: A_Allegro_Sample_Instance;
mixer: A_Allegro_Mixer ) return Boolean;

Al_Attach_Audio_Stream_To_Mixer

function Al_Attach_Audio_Stream_To_Mixer
( stream: A_Allegro_Audio_Stream;
mixer: A_Allegro_Mixer ) return Boolean;

Al_Get_Mixer_Frequency

function Al_Get_Mixer_Frequency
( mixer: A_Allegro_Mixer ) return unsigned;

Al_Set_Mixer_Frequency

function Al_Set_Mixer_Frequency
( mixer: A_Allegro_Mixer;
val: unsigned ) return Boolean;

Al_Get_Mixer_Channels

function Al_Get_Mixer_Channels
( mixer: A_Allegro_Mixer ) return Allegro_Channel_Conf;

Al_Get_Mixer_Depth

function Al_Get_Mixer_Depth
( mixer: A_Allegro_Mixer ) return Allegro_Audio_Depth;

Al_Get_Mixer_Quality

function Al_Get_Mixer_Quality
( mixer: A_Allegro_Mixer ) return Allegro_Mixer_Quality;

Al_Set_Mixer_Quality

function Al_Set_Mixer_Quality
( mixer: A_Allegro_Mixer;
val: Allegro_Mixer_Quality ) return Boolean;

Al_Get_Mixer_Gain

function Al_Get_Mixer_Gain
( mixer: A_Allegro_Mixer ) return Float;

Al_Set_Mixer_Gain

function Al_Set_Mixer_Gain
( mixer: A_Allegro_Mixer;
val: Float ) return Boolean;

Al_Get_Mixer_Playing

function Al_Get_Mixer_Playing
( mixer: A_Allegro_Mixer ) return Boolean;

Al_Set_Mixer_Playing

function Al_Set_Mixer_Playing
( mixer: A_Allegro_Mixer;
val: Boolean ) return Boolean;

Al_Get_Mixer_Attached

function Al_Get_Mixer_Attached
( mixer: A_Allegro_Mixer ) return Boolean;

Al_Detach_Mixer

function Al_Detach_Mixer
( mixer: A_Allegro_Mixer ) return Boolean;

Al_Set_Mixer_Postprocess_Callback

function Al_Set_Mixer_Postprocess_Callback
( mixer: A_Allegro_Mixer;
cb: A_Mixer_Postprocess_Callback;
data: Address ) return Boolean;

Al_Create_Audio_Stream

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;

Al_Destroy_Audio_Stream

procedure Al_Destroy_Audio_Stream
( stream: in out A_Allegro_Audio_Stream );

Al_Get_Audio_Stream_Event_Source

function Al_Get_Audio_Stream_Event_Source
( stream: A_Allegro_Audio_Stream ) return A_Allegro_Event_Source;

Al_Drain_Audio_Stream

procedure Al_Drain_Audio_Stream
( stream: A_Allegro_Audio_Stream );

Al_Rewind_Audio_Stream

function Al_Rewind_Audio_Stream
( stream: A_Allegro_Audio_Stream ) return Boolean;

Al_Get_Audio_Stream_Frequency

function Al_Get_Audio_Stream_Frequency
( stream: A_Allegro_Audio_Stream ) return unsigned;

Al_Get_Audio_Stream_Channels

function Al_Get_Audio_Stream_Channels
( stream: A_Allegro_Audio_Stream ) return Allegro_Channel_Conf;

Al_Get_Audio_Stream_Depth

function Al_Get_Audio_Stream_Depth
( stream: A_Allegro_Audio_Stream ) return Allegro_Audio_Depth;

Al_Get_Audio_Stream_Length

function Al_Get_Audio_Stream_Length
( stream: A_Allegro_Audio_Stream ) return unsigned;

Al_Get_Audio_Stream_Speed

function Al_Get_Audio_Stream_Speed
( stream: A_Allegro_Audio_Stream ) return Float;

Al_Set_Audio_Stream_Speed

function Al_Set_Audio_Stream_Speed
( stream: A_Allegro_Audio_Stream;
val: Float ) return Boolean;

Al_Get_Audio_Stream_Gain

function Al_Get_Audio_Stream_Gain
( stream: A_Allegro_Audio_Stream ) return Float;

Al_Set_Audio_Stream_Gain

function Al_Set_Audio_Stream_Gain
( stream: A_Allegro_Audio_Stream;
val: Float ) return Boolean;

Al_Get_Audio_Stream_Pan

function Al_Get_Audio_Stream_Pan
( stream: A_Allegro_Audio_Stream ) return Float;

Al_Set_Audio_Stream_Pan

function Al_Set_Audio_Stream_Pan
( stream: A_Allegro_Audio_Stream;
val: Float ) return Boolean;

Al_Get_Audio_Stream_Playing

function Al_Get_Audio_Stream_Playing
( stream: A_Allegro_Audio_Stream ) return Boolean;

Al_Set_Audio_Stream_Playing

function Al_Set_Audio_Stream_Playing
( stream: A_Allegro_Audio_Stream;
val: Boolean ) return Boolean;

Al_Set_Audio_Stream_Playing

procedure Al_Set_Audio_Stream_Playing
( stream: A_Allegro_Audio_Stream;
val: Boolean );

Al_Get_Audio_Stream_Playmode

function Al_Get_Audio_Stream_Playmode
( stream: A_Allegro_Audio_Stream ) return Allegro_Playmode;

Al_Set_Audio_Stream_Playmode

function Al_Set_Audio_Stream_Playmode
( stream: A_Allegro_Audio_Stream;
val: Allegro_Playmode ) return Boolean;

Al_Set_Audio_Stream_Playmode

procedure Al_Set_Audio_Stream_Playmode
( stream: A_Allegro_Audio_Stream;
val: Allegro_Playmode );

Al_Get_Audio_Stream_Attached

function Al_Get_Audio_Stream_Attached
( stream: A_Allegro_Audio_Stream ) return Boolean;

Al_Detach_Audio_Stream

function Al_Detach_Audio_Stream
( stream: A_Allegro_Audio_Stream ) return Boolean;

Al_Detach_Audio_Stream

procedure Al_Detach_Audio_Stream
( stream: A_Allegro_Audio_Stream );

Al_Get_Audio_Stream_Fragment

function Al_Get_Audio_Stream_Fragment
( stream: A_Allegro_Audio_Stream ) return Address;

Al_Set_Audio_Stream_Fragment

function Al_Set_Audio_Stream_Fragment
( stream: A_Allegro_Audio_Stream;
val: Address ) return Boolean;

Al_Get_Audio_Stream_Fragments

function Al_Get_Audio_Stream_Fragments
( stream: A_Allegro_Audio_Stream ) return unsigned;

Al_Get_Available_Audio_Stream_Fragments

function Al_Get_Available_Audio_Stream_Fragments
( stream: A_Allegro_Audio_Stream ) return unsigned;

Al_Seek_Audio_Stream_Secs

function Al_Seek_Audio_Stream_Secs
( stream: A_Allegro_Audio_Stream;
time: double ) return Boolean;

Al_Get_Audio_Stream_Position_Secs

function Al_Get_Audio_Stream_Position_Secs
( stream: A_Allegro_Audio_Stream ) return double;

Al_Get_Audio_Stream_Length_Secs

function Al_Get_Audio_Stream_Length_Secs
( stream: A_Allegro_Audio_Stream ) return double;

Al_Set_Audio_Stream_Loop_Secs

function Al_Set_Audio_Stream_Loop_Secs
( stream: A_Allegro_Audio_Stream;
start: double;
finish: double ) return Boolean;

Al_Register_Sample_Loader

function Al_Register_Sample_Loader
( ext: String;
loader: A_Allegro_Sample_Loader ) return Boolean;

Al_Register_Sample_Loader_f

function Al_Register_Sample_Loader_f
( ext: String;
loader: A_Allegro_Sample_Loader_f ) return Boolean;

Al_Register_Sample_Saver

function Al_Register_Sample_Saver
( ext: String;
saver: A_Allegro_Sample_Saver ) return Boolean;

Al_Register_Sample_Saver_f

function Al_Register_Sample_Saver_f
( ext: String;
saver: A_Allegro_Sample_Saver_f ) return Boolean;

Al_Register_Audio_Stream_Loader

function Al_Register_Audio_Stream_Loader
( ext: String;
stream_loader: A_Allegro_Audio_Stream_Loader ) return Boolean;

Al_Register_Audio_Stream_Loader_f

function Al_Register_Audio_Stream_Loader_f
( ext: String;
stream_loader: A_Allegro_Audio_Stream_Loader_f ) return Boolean;

Al_Load_Sample

function Al_Load_Sample
( filename: String ) return A_Allegro_Sample;

Al_Load_Sample_f

function Al_Load_Sample_f
( fp: A_Allegro_File;
ident: String ) return A_Allegro_Sample;

Al_Load_Audio_Stream

function Al_Load_Audio_Stream
( filename: String;
buffer_count: size_t;
samples: unsigned ) return A_Allegro_Audio_Stream;

Al_Load_Audio_Stream_f

function Al_Load_Audio_Stream_f
( fp: A_Allegro_File;
ident: String;
buffer_count: size_t;
samples: unsigned ) return A_Allegro_Audio_Stream;

Al_Save_Sample

function Al_Save_Sample
( filename: String;
spl: A_Allegro_Sample ) return Boolean;

Al_Save_Sample_f

function Al_Save_Sample_f
( fp: A_Allegro_File;
ident: String;
spl: A_Allegro_Sample ) return Boolean;