SAMPLE(3)                       Allegro manual                       SAMPLE(3)



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



Allegro                          version 4.2.3                       SAMPLE(3)
