Man Linux: Main Page and Category List

NAME

       SAMPLE - Stores sound data. Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       typedef struct SAMPLE

DESCRIPTION

          int bits;                   - 8 or 16
          int stereo;                 - sample type flag
          int freq;                   - sample frequency
          int priority;               - 0-255
          unsigned long len;          - length (in samples)
          unsigned long loop_start;   - loop start position
          unsigned long loop_end;     - loop finish position
          void *data;                 - raw sample data

       A  sample structure, which holds sound data, used by the digital sample
       routines. You can consider all of these  fields  as  read  only  except
       priority,  loop_start  and  loop_end,  which  you  can  change them for
       example after loading a sample from disk.

       The priority is a value from 0 to 255  (by  default  set  to  128)  and
       controls  how  hardware  voices  on the sound card are allocated if you
       attempt to play more than the driver can handle. This may  be  used  to
       ensure  that  the less important sounds are cut off while the important
       ones are preserved.

       The variables loop_start and loop_end  specify  the  loop  position  in
       sample  units,  and  are  set  by  default  to the start and end of the
       sample.

       If you are creating your own samples on the fly, you might also want to
       modify the raw data of the sample pointed by the data field. The sample
       data are always in unsigned format. This means that if you are  loading
       a  PCM encoded sound file with signed 16-bit samples, you would have to
       XOR every two bytes (i.e. every sample value) with 0x8000 to change the
       signedness.

SEE ALSO

       load_sample(3alleg), exsample(3alleg)