ScummVM API documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
internals.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
#ifndef MT32EMU_INTERNALS_H
19
#define MT32EMU_INTERNALS_H
20
21
#include "Types.h"
22
23
// Debugging
24
25
// 0: Standard debug output is not stamped with the rendered sample count
26
// 1: Standard debug output is stamped with the rendered sample count
27
// NOTE: The "samplestamp" corresponds to the end of the last completed rendering run.
28
// This is important to bear in mind for debug output that occurs during a run.
29
#ifndef MT32EMU_DEBUG_SAMPLESTAMPS
30
#define MT32EMU_DEBUG_SAMPLESTAMPS 0
31
#endif
32
33
// 0: No debug output for initialisation progress
34
// 1: Debug output for initialisation progress
35
#ifndef MT32EMU_MONITOR_INIT
36
#define MT32EMU_MONITOR_INIT 0
37
#endif
38
39
// 0: No debug output for MIDI events
40
// 1: Debug output for weird MIDI events
41
#ifndef MT32EMU_MONITOR_MIDI
42
#define MT32EMU_MONITOR_MIDI 0
43
#endif
44
45
// 0: No debug output for note on/off
46
// 1: Basic debug output for note on/off
47
// 2: Comprehensive debug output for note on/off
48
#ifndef MT32EMU_MONITOR_INSTRUMENTS
49
#define MT32EMU_MONITOR_INSTRUMENTS 0
50
#endif
51
52
// 0: No debug output for partial allocations
53
// 1: Show partial stats when an allocation fails
54
// 2: Show partial stats with every new poly
55
// 3: Show individual partial allocations/deactivations
56
#ifndef MT32EMU_MONITOR_PARTIALS
57
#define MT32EMU_MONITOR_PARTIALS 0
58
#endif
59
60
// 0: No debug output for sysex
61
// 1: Basic debug output for sysex
62
#ifndef MT32EMU_MONITOR_SYSEX
63
#define MT32EMU_MONITOR_SYSEX 0
64
#endif
65
66
// 0: No debug output for sysex writes to the timbre areas
67
// 1: Debug output with the name and location of newly-written timbres
68
// 2: Complete dump of timbre parameters for newly-written timbres
69
#ifndef MT32EMU_MONITOR_TIMBRES
70
#define MT32EMU_MONITOR_TIMBRES 0
71
#endif
72
73
// 0: No TVA/TVF-related debug output.
74
// 1: Shows changes to TVA/TVF target, increment and phase.
75
#ifndef MT32EMU_MONITOR_TVA
76
#define MT32EMU_MONITOR_TVA 0
77
#endif
78
#ifndef MT32EMU_MONITOR_TVF
79
#define MT32EMU_MONITOR_TVF 0
80
#endif
81
82
// Configuration
83
84
// 0: Maximum speed at the cost of a bit lower emulation accuracy.
85
// 1: Maximum achievable emulation accuracy.
86
#ifndef MT32EMU_BOSS_REVERB_PRECISE_MODE
87
#define MT32EMU_BOSS_REVERB_PRECISE_MODE 0
88
#endif
89
90
namespace
MT32Emu
{
91
92
typedef
Bit16s IntSample;
93
typedef
Bit32s IntSampleEx;
94
typedef
float
FloatSample;
95
96
enum
PolyState {
97
POLY_Playing,
98
POLY_Held,
// This marks keys that have been released on the keyboard, but are being held by the pedal
99
POLY_Releasing,
100
POLY_Inactive
101
};
102
103
enum
ReverbMode {
104
REVERB_MODE_ROOM,
105
REVERB_MODE_HALL,
106
REVERB_MODE_PLATE,
107
REVERB_MODE_TAP_DELAY
108
};
109
110
}
// namespace MT32Emu
111
112
#endif // #ifndef MT32EMU_INTERNALS_H
MT32Emu
Definition:
Analog.h:26
audio
softsynth
mt32
internals.h
Generated on Sat Apr 5 2025 09:03:29 for ScummVM API documentation by
1.8.13