libsidplayfp
2.5.1
Main Page
Classes
Files
Examples
File List
src
builders
residfp-builder
residfp
WaveformCalculator.h
1
/*
2
* This file is part of libsidplayfp, a SID player engine.
3
*
4
* Copyright 2011-2023 Leandro Nini <drfiemost@users.sourceforge.net>
5
* Copyright 2007-2010 Antti Lankila
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
*/
21
22
#ifndef WAVEFORMCALCULATOR_h
23
#define WAVEFORMCALCULATOR_h
24
25
#include <map>
26
27
#include "array.h"
28
#include "sidcxx11.h"
29
#include "siddefs-fp.h"
30
31
32
namespace
reSIDfp
33
{
34
38
typedef
struct
39
{
40
float
threshold;
41
float
pulsestrength;
42
float
distance1;
43
float
distance2;
44
}
CombinedWaveformConfig
;
45
99
class
WaveformCalculator
100
{
101
private
:
102
typedef
std::map<const CombinedWaveformConfig*, matrix_t> cw_cache_t;
103
104
private
:
105
matrix_t
wftable;
106
107
cw_cache_t PULLDOWN_CACHE;
108
109
private
:
110
WaveformCalculator
();
111
112
public
:
116
static
WaveformCalculator
*
getInstance
();
117
123
matrix_t
*
getWaveTable
() {
return
&wftable; }
124
131
matrix_t
*
buildPulldownTable
(ChipModel model);
132
};
133
134
}
// namespace reSIDfp
135
136
#endif
matrix< short >
reSIDfp::WaveformCalculator
Definition
WaveformCalculator.h:100
reSIDfp::WaveformCalculator::getWaveTable
matrix_t * getWaveTable()
Definition
WaveformCalculator.h:123
reSIDfp::WaveformCalculator::getInstance
static WaveformCalculator * getInstance()
Definition
WaveformCalculator.cpp:31
reSIDfp::WaveformCalculator::buildPulldownTable
matrix_t * buildPulldownTable(ChipModel model)
Definition
WaveformCalculator.cpp:158
reSIDfp::CombinedWaveformConfig
Definition
WaveformCalculator.h:39
Generated by
1.9.8