SAF
Loading...
Searching...
No Matches
saf.h
Go to the documentation of this file.
1/*
2 * Copyright 2018-2021 Leo McCormack
3 *
4 * This software is dual-licensed.
5 *
6 * ISC License ( https://choosealicense.com/licenses/isc/ ):
7 * By default, this software is governed permissively under the terms of the
8 * ISC license; since all of the core (non-optional) modules are licensed as
9 * such. Also note that all third-party code, which has been adapted or
10 * adopted by the core modules, is also provided under similar permissive
11 * licensing terms (MIT, BSD, WOL, etc.). The specific license employed by
12 * each third-party code is stated clearly in the code comments at the point
13 * of its inclusion, and also in the "dependencies/third-party-licenses"
14 * folder.
15 *
16 * GNU GPLv2 License ( https://choosealicense.com/licenses/gpl-2.0/ ):
17 * Including and enabling certain optional modules, which are instead provided
18 * under the copy-left GNU GPLv2 license, will mean that the use of this
19 * software is instead governed by the GNU GPLv2 licencing terms.
20 *
21 * Note that the license employed by each module is stated clearly below. For
22 * more information, refer to the license terms found at the top of each source
23 * and header file.
24 *
25 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
26 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
27 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
28 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
29 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
30 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
31 * PERFORMANCE OF THIS SOFTWARE.
32 */
33
49#ifndef SAF_H_INCLUDED
50#define SAF_H_INCLUDED
51
52/* doxygen module definitions: */
75/* ========================================================================== */
76/* SAF License */
77/* ========================================================================== */
78
79/* The license governing SAF is configuration dependent */
80#if defined(SAF_ENABLE_TRACKER_MODULE) || defined(SAF_ENABLE_HADES_MODULE)
82# define SAF_LICENSE_STRING "GNU GPLv2"
83#else
85# define SAF_LICENSE_STRING "ISC"
86#endif
87
88
89/* ========================================================================== */
90/* SAF Version */
91/* ========================================================================== */
92/* Note that this version info is also scanned and employed by CMakeLists.txt */
93
94#define SAF_VERSION_MAJOR 1
95#define SAF_VERSION_MINOR 3
96#define SAF_VERSION_PATCH 2
97#define SAF_VERSION_SPECIAL ""
98#define MKSTRING_(s) #s
99#define MKSTRING(s) MKSTRING_(s)
102#define SAF_VERSION ((SAF_VERSION_MAJOR << 16) + (SAF_VERSION_MINOR << 8) + \
103 SAF_VERSION_PATCH)
104
106#define SAF_VERSION_STRING MKSTRING(SAF_VERSION_MAJOR) "." MKSTRING( \
107 SAF_VERSION_MINOR) "." MKSTRING(SAF_VERSION_PATCH) \
108 "" SAF_VERSION_SPECIAL
109
111#define SAF_VERSION_LICENSE_STRING "SAF Version: " SAF_VERSION_STRING \
112 ", License: " SAF_LICENSE_STRING "\n"
113
115#define SAF_VERSION_BANNER \
116 " _____ _____ _____ \n" \
117 " ( ____ ) ( ___ ) ( ____ ) \n" \
118 " | ( __ |/ | ( _ ) | | ( _ |/ \n" \
119 " (_____ ) | ___ | | __) \n" \
120 " /|____) | | | | | | | \n" \
121 " (_______) |_| |_| |_| (Version: " SAF_VERSION_STRING ", License:" \
122 " " SAF_LICENSE_STRING ") \n"
123
124
125/* ========================================================================== */
126/* Core Modules */
127/* ========================================================================== */
128
145#define SAF_UTILITIES_MODULE
147
163#define SAF_CDF4SAP_MODULE
165
179#define SAF_HOA_MODULE
181
194#define SAF_HRIR_MODULE
196
207#define SAF_REVERB_MODULE
209
225#define SAF_SH_MODULE
227
241#define SAF_VBAP_MODULE
243
244
245/* ========================================================================== */
246/* Optional Modules */
247/* ========================================================================== */
248
249#ifdef SAF_ENABLE_SOFA_READER_MODULE
269# define SAF_SOFA_READER_MODULE
271#endif /* SAF_ENABLE_SOFA_READER_MODULE */
272
273#ifdef SAF_ENABLE_TRACKER_MODULE
287# define SAF_TRACKER_MODULE
289#endif /* SAF_ENABLE_TRACKER_MODULE */
290
291#ifdef SAF_ENABLE_HADES_MODULE
308# define SAF_HADES_MODULE
310#endif /* SAF_ENABLE_HADES_MODULE */
311
312
313#endif /* SAF_H_INCLUDED */
Main header for the Covariance Domain Framework module (SAF_CDF4SAP_MODULE)
Main header for the HADES module (SAF_HADES_MODULE)
Main header for the higher-order Ambisonics module (SAF_HOA_MODULE)
Main header for the HRIR/HRTF processing module (SAF_HRIR_MODULE)
Main header for the reverb processing module (SAF_REVERB_MODULE)
Main header for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE...
Main header for the sofa reader module (SAF_SOFA_READER_MODULE)
Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE)
Main header for the utilities module (SAF_UTILITIES_MODULE)
Main header for the VBAP/MDAP module (SAF_VBAP_MODULE)