Mozzi  version v2.0
sound synthesis library for Arduino
MozziConfigValues.h
Go to the documentation of this file.
1 /*
2  * MozziConfigValues.h
3  *
4  * This file is part of Mozzi.
5  *
6  * Copyright 2023-2024 Thomas Friedrichsmeier and the Mozzi Team
7  *
8  * Mozzi is licensed under the GNU Lesser General Public Licence (LGPL) Version 2.1 or later.
9  *
10  */
11 
12 /** @file MozziConfigValues.h
13  * This file keeps a list of named configuration values.
14  *
15  * Note that these are all given as defines, instead of e.g. const ints or enum values, because they need to be usable at preprocessor level, in order to control conditional compilation.
16 */
17 
18 #ifndef MOZZICONFIG_VALUES_H
19 #define MOZZICONFIG_VALUES_H
20 
21 
22 
23 #define MOZZI_MONO 1
24 #define MOZZI_STEREO 2
25 
26 // We try to use distinct values as much as possible so we can catch semantic errors like "#define MOZZI_AUDIO_MODE MOZZI_STEREO"
27 #define MOZZI_OUTPUT_PWM 101
28 #define MOZZI_OUTPUT_2PIN_PWM 102
29 #define MOZZI_OUTPUT_EXTERNAL_TIMED 103
30 #define MOZZI_OUTPUT_EXTERNAL_CUSTOM 104
31 #define MOZZI_OUTPUT_PDM_VIA_I2S 105
32 #define MOZZI_OUTPUT_PDM_VIA_SERIAL 106
33 #define MOZZI_OUTPUT_I2S_DAC 107
34 #define MOZZI_OUTPUT_INTERNAL_DAC 108
35 
36 #define MOZZI_AUDIO_INPUT_NONE 201
37 #define MOZZI_AUDIO_INPUT_STANDARD 202
38 
39 #define MOZZI_ANALOG_READ_NONE 301
40 #define MOZZI_ANALOG_READ_STANDARD 302
41 
42 #define MOZZI_I2S_FORMAT_PLAIN 401
43 #define MOZZI_I2S_FORMAT_LSBJ 402
44 
45 // defined with some space in between, just in case. This should be numerically ordered.
46 #define MOZZI_COMPATIBILITY_1_1 1100
47 #define MOZZI_COMPATIBILITY_2_0 2000
48 #define MOZZI_COMPATIBILITY_LATEST 9000 // May be upped, arbitrarily
49 
50 // For convenience
51 #include "hardware_defines.h"
52 
53 
54 #endif