Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Audaspace.h.in « config « audaspace « extern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3e6912727b8e311b54fd04097b3a852f11c33160 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*******************************************************************************
 * Copyright 2009-2016 Jörg Müller
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

#pragma once

/**
 * @file Audaspace.h
 * @ingroup general
 * The main header file of the library defining the namespace and basic data types.
 */

/**
 * \def AUD_API
 * Used for exporting symbols in the shared library.
 */

/**
 * \def AUD_PLUGIN_API
 * Used for exporting symbols in the shared library.
 */

/**
 * \def AUD_EXPORT_API
 * Used for using exporting symbols of the shared library.
 */

/**
 * \def AUD_USE_API
 * Used for using exporting symbols of the shared library.
 */

/**
 * \def AUD_LOCAL
 * Used for hiding symbols from export in the shared library.
 */

// the following two defines and undefines are a hack to silence an error by doxygen

/**
 * \def AUD_SHARED_LIBRARY
 * Defined when audaspace was built as a shared library.
 */
#define AUD_SHARED_LIBRARY
#undef AUD_SHARED_LIBRARY

/**
 * \def AUD_STATIC_LIBRARY
 * Defined when audaspace was built as a static library.
 */
 #define AUD_STATIC_LIBRARY
 #undef AUD_STATIC_LIBRARY

#define @AUD_LIBRARY_TYPE@

#ifdef _MSC_VER
	#define AUD_EXPORT_API __declspec(dllexport)
	#define AUD_USE_API __declspec(dllimport)
	#define AUD_LOCAL
#else
	#ifdef __GNUC__
		#define AUD_EXPORT_API __attribute__((visibility ("default")))
		#define AUD_USE_API AUD_EXPORT_API
		#define AUD_LOCAL __attribute__((visibility ("hidden")))
	#else
		#define AUD_EXPORT_API
		#define AUD_USE_API
		#define AUD_LOCAL
	#endif
#endif

#ifdef AUD_SHARED_LIBRARY
	#ifdef AUD_BUILD_PLUGIN
		#define AUD_API AUD_USE_API
		#define AUD_PLUGIN_API AUD_EXPORT_API
	#else
		#ifdef AUD_BUILD_SHARED_LIBRARY
			#define AUD_API AUD_EXPORT_API
			#define AUD_PLUGIN_API AUD_EXPORT_API
		#else
			#define AUD_API AUD_USE_API
			#define AUD_PLUGIN_API AUD_USE_API
		#endif
	#endif
#else
	#define AUD_API
	#define AUD_PLUGIN_API
#endif

/// The default playback buffer size of a device.
#define AUD_DEFAULT_BUFFER_SIZE 1024

#ifdef __cplusplus

/// Opens the audaspace namespace aud.
#define AUD_NAMESPACE_BEGIN namespace aud {

/// Closes the audaspace namespace aud.
#define AUD_NAMESPACE_END }

#else

/// Opens the audaspace namespace aud.
#define AUD_NAMESPACE_BEGIN

/// Closes the audaspace namespace aud.
#define AUD_NAMESPACE_END

#endif

AUD_NAMESPACE_BEGIN

/// Sample type.(float samples)
typedef float sample_t;

/// Sample data type (format samples)
typedef unsigned char data_t;

AUD_NAMESPACE_END