ScummVM API documentation
SoxrAdapter.h
1
/* Copyright (C) 2015-2022 Sergey V. Mikayev
2
*
3
* This program is free software: you can redistribute it and/or modify
4
* it under the terms of the GNU Lesser General Public License as published by
5
* the Free Software Foundation, either version 2.1 of the License, or
6
* (at your option) any later version.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*/
16
17
#ifndef MT32EMU_SOXR_ADAPTER_H
18
#define MT32EMU_SOXR_ADAPTER_H
19
20
#include <soxr.h>
21
22
#include "../Enumerations.h"
23
24
namespace
MT32Emu
{
25
26
class
Synth;
27
28
class
SoxrAdapter
{
29
public
:
30
SoxrAdapter
(
Synth
&synth,
double
targetSampleRate, SamplerateConversionQuality quality);
31
~
SoxrAdapter
();
32
33
void
getOutputSamples(
float
*buffer,
unsigned
int
length);
34
35
private
:
36
Synth
&synth;
37
float
*
const
inBuffer;
38
soxr_t resampler;
39
40
static
size_t
getInputSamples(
void
*input_fn_state, soxr_in_t *data,
size_t
requested_len);
41
};
42
43
}
// namespace MT32Emu
44
45
#endif // MT32EMU_SOXR_ADAPTER_H
MT32Emu
Definition:
Analog.h:26
MT32Emu::SoxrAdapter
Definition:
SoxrAdapter.h:28
MT32Emu::Synth
Definition:
Synth.h:131
audio
softsynth
mt32
srchelper
SoxrAdapter.h
Generated on Mon Dec 23 2024 09:03:26 for ScummVM API documentation by
1.8.13