2011-06-02 21:59:20 +02:00
// Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
2011-05-29 20:33:24 +02:00
# pragma once
2011-05-19 06:36:14 +02:00
# include "cAudioPlatform.h"
2011-06-02 21:59:20 +02:00
// CMake-generated build settings.
// %BUILD_DIR%/include to your include search path to find cAudioBuildSettings.h.
# include "cAudioBuildSettings.h"
2011-05-19 06:36:14 +02:00
//! Global define for the version of cAudio.
//! This is used primarily by plugins to make sure they are linking to the right library.
# define CAUDIO_VERSION "2.2.0"
# if !defined( CAUDIO_DEBUG )
# if defined( DEBUG ) || defined( _DEBUG )
# define CAUDIO_DEBUG
# endif
# endif
2011-06-02 21:59:20 +02:00
# ifdef CAUDIO_PLATFORM_WIN
# if CAUDIO_STATIC_LIB == 0
# define CAUDIO_API __declspec(dllexport)
# else
# define CAUDIO_API extern "C"
# endif // CAUDIO_STATIC_LIB
2011-06-05 23:47:07 +02:00
# else
# define CAUDIO_API
2011-06-02 21:59:20 +02:00
# endif
2011-05-19 06:36:14 +02:00
2011-06-02 21:59:20 +02: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!
# if CAUDIO_MAKE_THREAD_SAFE == 1
2011-05-19 06:36:14 +02:00
# define CAUDIO_USE_INTERNAL_THREAD
2011-06-02 21:59:20 +02:00
# endif
2011-05-19 06:36:14 +02:00
2011-06-02 21:59:20 +02:00
# if !defined( CAUDIO_PLATFORM_IPHONE ) && CAUDIO_STATIC_LIB == 0
2011-05-19 06:36:14 +02:00
//! This define controls whether plugin support is added into the library, commenting it out will prevent any plugins from working
2011-06-02 21:59:20 +02:00
# define CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
# endif
2011-05-19 06:36:14 +02:00
//! Size of the internal buffer per source for audio data (total amount buffered is CAUDIO_SOURCE_BUFFER_SIZE * CAUDIO_SOURCE_NUM_BUFFERS)
# define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
//! Number of internal buffers to cycle through per source (Note: using only 1 leads to choppy sound or premature ending of sources)
# define CAUDIO_SOURCE_NUM_BUFFERS 3
//! Max number of effects that can be attached to a single sound source
# define CAUDIO_SOURCE_MAX_EFFECT_SLOTS 4