1 #ifndef LIBRARIES_AMBIENT_SOUND_H
    2 #define LIBRARIES_AMBIENT_SOUND_H
    3 /*
    4  * ambient_sound.library include
    5  * -----------------------------
    6  * © 2001-2004 by David Gerber <zapek@morphos.net>
    7  * All Rights Reserved
    8  */
    9 
   10 #ifndef UTILITY_TAGITEM_H
   11 #include <utility/tagitem.h>
   12 #endif
   13 
   14 
   15 /*
   16  * ASound_Create()'s mode.
   17  */
   18 enum {
   19 	SOUNDMODE_NORMAL,   /* normal mode, just plays the sound */
   20 };
   21 
   22 /*
   23  * ASound_Create() tags.
   24  */
   25 enum {
   26 	SOUNDTAG_Channels = TAG_USER + 1, /* number of channels; default: 1 */
   27 	SOUNDTAG_Resolution,              /* 8-bits, 16-bits, etc.. see the SOUNDVAL_Resolutions_#?; default: SOUNDVAL_Resolution_8 */
   28 	SOUNDTAG_Precision,               /* sound precision, see SOUNDVAL_Precision_#?; default: integer */
   29 	SOUNDTAG_Frequency,               /* frequency in Hz; default: 8000 */
   30 	SOUNDTAG_Volume,                  /* volume from 0 to 65536 (0x10000 == 1.0); default: 0x10000 */
   31 	SOUNDTAG_Priority,                /* sound priority in case there's not enough channels available, see SOUNDVAL_Priority_#?; default: SOUNDVAL_Priority_Event */
   32 };
   33 
   34 /*
   35  * SOUNDTAG_Resolution
   36  */
   37 enum {
   38 	SOUNDVAL_Resolution_8,  /* 8-bit signed fixed */
   39 	SOUNDVAL_Resolution_16, /* 16-bit signed fixed */
   40 	SOUNDVAL_Resolution_32, /* 32-bit signed fixed */
   41 };
   42 
   43 /*
   44  * SOUNDTAG_Priority
   45  */
   46 enum {
   47 	SOUNDVAL_Priority_Background,  /* background music */
   48 	SOUNDVAL_Priority_Music,       /* music */
   49 	SOUNDVAL_Priority_Event,       /* indication of some event */
   50 	SOUNDVAL_Priority_Important,   /* important event */
   51 	SOUNDVAL_Priority_Maximum,     /* emergency */
   52 };
   53 
   54 /*
   55  * SOUNDTAG_Precision
   56  */
   57 enum {
   58 	SOUNDVAL_Precision_Integer, /* integer */
   59 };
   60 
   61 /*
   62  * Some attributes can be queried for
   63  * a default context, this is what to
   64  * pass as default context then.
   65  */
   66 #define SOUNDCONTEXT_DEFAULT ((APTR)1)
   67 
   68 /*
   69  * Attributes for ASound_GetAttr()
   70  */
   71 enum {
   72 	SOUNDATTR_DriverName,      /* STRPTR: name of the sound driver (default context only) */
   73 	SOUNDATTR_BufferFillState, /* ULONG: filled state of the buffer in state */
   74 };
   75 
   76 
   77 #endif /* LIBRARIES_AMBIENT_SOUND_H */