Provided by: allegro4-doc_4.4.3.1-1_all bug


       SAMPLE - Stores sound data. Allegro game programming library.


       #include <allegro.h>

       typedef struct SAMPLE


          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.


       load_sample(3alleg4), exsample(3alleg4)