Provided by: allegro4-doc_4.4.2-13_all bug

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(3alleg4), exsample(3alleg4)