1al_create_sample(3)                                        al_create_sample(3)
2
3
4

NAME

6       al_create_sample - Allegro 5 API
7

SYNOPSIS

9              #include <allegro5/allegro_audio.h>
10
11              ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
12                 unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
13                 ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
14

DESCRIPTION

16       Create  a  sample data structure from the supplied buffer.  If free_buf
17       is true then the buffer will be freed with al_free(3) when  the  sample
18       data structure is destroyed.  For portability (especially Windows), the
19       buffer should have been allocated  with  al_malloc(3).   Otherwise  you
20       should free the sample data yourself.
21
22       A  sample  that is referred to by the samples parameter refers to a se‐
23       quence channel intensities.  E.g.  if you’re  making  a  stereo  sample
24       with the samples set to 4, then the layout of the data in buf will be:
25
26              LRLRLRLR
27
28       Where  L  and R are the intensities for the left and right channels re‐
29       spectively.  A single sample, then, refers to the LR pair in this exam‐
30       ple.
31
32       To  allocate  a  buffer of the correct size, you can use something like
33       this:
34
35              int sample_size = al_get_channel_count(chan_conf)
36                                * al_get_audio_depth_size(depth);
37              int bytes = samples * sample_size;
38              void *buffer = al_malloc(bytes);
39

SEE ALSO

41       al_destroy_sample(3), ALLEGRO_AUDIO_DEPTH(3), ALLEGRO_CHANNEL_CONF(3)
42
43
44
45Allegro reference manual                                   al_create_sample(3)
Impressum