ScummVM API documentation
Tables.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_TABLES_H
19 #define MT32EMU_TABLES_H
20 
21 #include "globals.h"
22 #include "Types.h"
23 
24 namespace MT32Emu {
25 
26 class Tables {
27 private:
28  Tables();
29  Tables(Tables &);
30  ~Tables() {}
31 
32 public:
33  static const Tables &getInstance();
34 
35  // Constant LUTs
36 
37  // CONFIRMED: This is used to convert several parameters to amp-modifying values in the TVA envelope:
38  // - PatchTemp.outputLevel
39  // - RhythmTemp.outlevel
40  // - PartialParam.tva.level
41  // - expression
42  // It's used to determine how much to subtract from the amp envelope's target value
43  Bit8u levelToAmpSubtraction[101];
44 
45  // CONFIRMED: ...
46  Bit8u envLogarithmicTime[256];
47 
48  // CONFIRMED: ...
49  Bit8u masterVolToAmpSubtraction[101];
50 
51  // CONFIRMED:
52  Bit8u pulseWidth100To255[101];
53 
54  Bit16u exp9[512];
55  Bit16u logsin9[512];
56 
57  const Bit8u *resAmpDecayFactor;
58 }; // class Tables
59 
60 } // namespace MT32Emu
61 
62 #endif // #ifndef MT32EMU_TABLES_H
Definition: Analog.h:26
Definition: Tables.h:26