2009-08-29 13:24:31 +02:00
# ifndef CAUDIODEFINES_H
# define CAUDIODEFINES_H
2010-02-09 06:58:27 +01:00
# include "cAudioPlatform.h"
2010-02-17 02:42:45 +01:00
//! Global define for the version of cAudio.
//! This is used primarily by plugins to make sure they are linking to the right library.
2010-02-10 05:59:10 +01:00
# define CAUDIO_VERSION "2.0.0"
2009-08-29 13:24:31 +02:00
# ifndef CAUDIO_STATIC_LIB
2010-02-17 02:42:45 +01:00
//! Global define for exporting the library
2009-08-29 13:24:31 +02:00
# ifdef CAUDIO_EXPORTS
2010-01-11 01:39:08 +01:00
# define CAUDIO_API __declspec(dllexport)
2009-08-29 13:24:31 +02:00
# else
2010-01-11 01:39:08 +01:00
# define CAUDIO_API //! __declspec(dllimport)
2009-08-29 13:24:31 +02:00
# endif // CAUDIO_EXPORTS
# else
2010-02-17 02:42:45 +01:00
# define CAUDIO_API extern "C"
2009-08-29 13:24:31 +02:00
# endif // CAUDIO_STATIC_LIB
2010-01-11 01:39:08 +01:00
//////////////////////////
//Global Library Settings
//////////////////////////
2010-02-17 02:42:45 +01:00
//!Define for making the entire library Thread Safe, comment out to disable. Will also disable internal threading by the library.
2009-08-29 13:24:31 +02:00
# define CAUDIO_MAKE_THREAD_SAFE
# ifdef CAUDIO_MAKE_THREAD_SAFE
2010-02-17 02:42:45 +01:00
//! Define enables threading for the main update loop. Disable to run the internal update loop yourself. NOTE: Internal threading should NOT be used if the library is not thread safe!
2010-01-11 01:39:08 +01:00
# define CAUDIO_USE_INTERNAL_THREAD
2009-08-29 13:24:31 +02:00
# endif
2010-02-17 02:42:45 +01:00
//! This define controls whether the Ogg/Vorbis decoder is compiled into the library.
2009-11-20 04:39:56 +01:00
# define CAUDIO_COMPILE_WITH_OGG_DECODER
2010-02-17 02:42:45 +01:00
//! This define controls whether the RIFF/Wav decoder is compiled into the library.
2009-11-20 04:39:56 +01:00
# define CAUDIO_COMPILE_WITH_WAV_DECODER
2010-01-11 01:39:08 +01:00
////////////////////////
//Audio Source Settings
////////////////////////
2010-02-17 02:42:45 +01:00
//! Size of the internal buffer per source for audio data (total amount buffered is CAUDIO_SOURCE_BUFFER_SIZE * CAUDIO_SOURCE_NUM_BUFFERS)
2010-01-11 01:39:08 +01:00
# define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
2010-02-17 02:42:45 +01:00
//! Number of internal buffers to cycle through per source (Note: using only 1 leads to choppy sound or premature ending of sources)
2010-01-11 01:39:08 +01:00
# define CAUDIO_SOURCE_NUM_BUFFERS 3
/////////////////////////
//Audio Effects Settings
/////////////////////////
2010-02-17 02:42:45 +01:00
//! Comment out to remove all EFX support from the library
2010-01-11 01:39:08 +01:00
# define CAUDIO_EFX_ENABLED
# ifdef CAUDIO_EFX_ENABLED
2010-02-17 02:42:45 +01:00
//! Max number of effects that can be attached to a single sound source
2010-01-11 01:39:08 +01:00
# define CAUDIO_SOURCE_MAX_EFFECT_SLOTS 4
# endif
2010-02-16 02:38:50 +01:00
# endif //! CAUDIODEFINES_H