ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Enumerations.h
1 /* Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Dean Beeler, Jerome Fisher
2  * Copyright (C) 2011-2022 Dean Beeler, Jerome Fisher, Sergey V. Mikayev
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 2.1 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 /* Using two guards since this file may be included twice with different MT32EMU_C_ENUMERATIONS define. */
19 
20 #if (!defined MT32EMU_CPP_ENUMERATIONS_H && !defined MT32EMU_C_ENUMERATIONS) || (!defined MT32EMU_C_ENUMERATIONS_H && defined MT32EMU_C_ENUMERATIONS)
21 
22 #ifdef MT32EMU_C_ENUMERATIONS
23 
24 #define MT32EMU_C_ENUMERATIONS_H
25 
26 #define MT32EMU_DAC_INPUT_MODE_NAME mt32emu_dac_input_mode
27 #define MT32EMU_DAC_INPUT_MODE(ident) MT32EMU_DAC_##ident
28 
29 #define MT32EMU_MIDI_DELAY_MODE_NAME mt32emu_midi_delay_mode
30 #define MT32EMU_MIDI_DELAY_MODE(ident) MT32EMU_MDM_##ident
31 
32 #define MT32EMU_ANALOG_OUTPUT_MODE_NAME mt32emu_analog_output_mode
33 #define MT32EMU_ANALOG_OUTPUT_MODE(ident) MT32EMU_AOM_##ident
34 
35 #define MT32EMU_PARTIAL_STATE_NAME mt32emu_partial_state
36 #define MT32EMU_PARTIAL_STATE(ident) MT32EMU_PS_##ident
37 
38 #define MT32EMU_SAMPLERATE_CONVERSION_QUALITY_NAME mt32emu_samplerate_conversion_quality
39 #define MT32EMU_SAMPLERATE_CONVERSION_QUALITY(ident) MT32EMU_SRCQ_##ident
40 
41 #define MT32EMU_RENDERER_TYPE_NAME mt32emu_renderer_type
42 #define MT32EMU_RENDERER_TYPE(ident) MT32EMU_RT_##ident
43 
44 #else /* #ifdef MT32EMU_C_ENUMERATIONS */
45 
46 #define MT32EMU_CPP_ENUMERATIONS_H
47 
48 #define MT32EMU_DAC_INPUT_MODE_NAME DACInputMode
49 #define MT32EMU_DAC_INPUT_MODE(ident) DACInputMode_##ident
50 
51 #define MT32EMU_MIDI_DELAY_MODE_NAME MIDIDelayMode
52 #define MT32EMU_MIDI_DELAY_MODE(ident) MIDIDelayMode_##ident
53 
54 #define MT32EMU_ANALOG_OUTPUT_MODE_NAME AnalogOutputMode
55 #define MT32EMU_ANALOG_OUTPUT_MODE(ident) AnalogOutputMode_##ident
56 
57 #define MT32EMU_PARTIAL_STATE_NAME PartialState
58 #define MT32EMU_PARTIAL_STATE(ident) PartialState_##ident
59 
60 #define MT32EMU_SAMPLERATE_CONVERSION_QUALITY_NAME SamplerateConversionQuality
61 #define MT32EMU_SAMPLERATE_CONVERSION_QUALITY(ident) SamplerateConversionQuality_##ident
62 
63 #define MT32EMU_RENDERER_TYPE_NAME RendererType
64 #define MT32EMU_RENDERER_TYPE(ident) RendererType_##ident
65 
66 namespace MT32Emu {
67 
68 #endif /* #ifdef MT32EMU_C_ENUMERATIONS */
69 
75 enum MT32EMU_DAC_INPUT_MODE_NAME {
81  MT32EMU_DAC_INPUT_MODE(NICE),
82 
90  MT32EMU_DAC_INPUT_MODE(PURE),
91 
97  MT32EMU_DAC_INPUT_MODE(GENERATION1),
98 
104  MT32EMU_DAC_INPUT_MODE(GENERATION2)
105 };
106 
108 enum MT32EMU_MIDI_DELAY_MODE_NAME {
110  MT32EMU_MIDI_DELAY_MODE(IMMEDIATE),
111 
116  MT32EMU_MIDI_DELAY_MODE(DELAY_SHORT_MESSAGES_ONLY),
117 
119  MT32EMU_MIDI_DELAY_MODE(DELAY_ALL)
120 };
121 
123 enum MT32EMU_ANALOG_OUTPUT_MODE_NAME {
125  MT32EMU_ANALOG_OUTPUT_MODE(DIGITAL_ONLY),
127  MT32EMU_ANALOG_OUTPUT_MODE(COARSE),
132  MT32EMU_ANALOG_OUTPUT_MODE(ACCURATE),
138  MT32EMU_ANALOG_OUTPUT_MODE(OVERSAMPLED)
139 };
140 
141 enum MT32EMU_PARTIAL_STATE_NAME {
142  MT32EMU_PARTIAL_STATE(INACTIVE),
143  MT32EMU_PARTIAL_STATE(ATTACK),
144  MT32EMU_PARTIAL_STATE(SUSTAIN),
145  MT32EMU_PARTIAL_STATE(RELEASE)
146 };
147 
148 enum MT32EMU_SAMPLERATE_CONVERSION_QUALITY_NAME {
150  MT32EMU_SAMPLERATE_CONVERSION_QUALITY(FASTEST),
151  MT32EMU_SAMPLERATE_CONVERSION_QUALITY(FAST),
152  MT32EMU_SAMPLERATE_CONVERSION_QUALITY(GOOD),
153  MT32EMU_SAMPLERATE_CONVERSION_QUALITY(BEST)
154 };
155 
156 enum MT32EMU_RENDERER_TYPE_NAME {
158  MT32EMU_RENDERER_TYPE(BIT16S),
160  MT32EMU_RENDERER_TYPE(FLOAT)
161 };
162 
163 #ifndef MT32EMU_C_ENUMERATIONS
164 
165 } // namespace MT32Emu
166 
167 #endif
168 
169 #undef MT32EMU_DAC_INPUT_MODE_NAME
170 #undef MT32EMU_DAC_INPUT_MODE
171 
172 #undef MT32EMU_MIDI_DELAY_MODE_NAME
173 #undef MT32EMU_MIDI_DELAY_MODE
174 
175 #undef MT32EMU_ANALOG_OUTPUT_MODE_NAME
176 #undef MT32EMU_ANALOG_OUTPUT_MODE
177 
178 #undef MT32EMU_PARTIAL_STATE_NAME
179 #undef MT32EMU_PARTIAL_STATE
180 
181 #undef MT32EMU_SAMPLERATE_CONVERSION_QUALITY_NAME
182 #undef MT32EMU_SAMPLERATE_CONVERSION_QUALITY
183 
184 #undef MT32EMU_RENDERER_TYPE_NAME
185 #undef MT32EMU_RENDERER_TYPE
186 
187 #endif /* #if (!defined MT32EMU_CPP_ENUMERATIONS_H && !defined MT32EMU_C_ENUMERATIONS) || (!defined MT32EMU_C_ENUMERATIONS_H && defined MT32EMU_C_ENUMERATIONS) */
Definition: Analog.h:26