blob: 63ef3c6da1c451bb40fd333839de7436a9e6b4d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include "DspChunk.h"
#include <SoundTouch.h>
namespace SaneAudioRenderer
{
class DspTempo final
{
public:
DspTempo() = default;
DspTempo(const DspTempo&) = delete;
DspTempo& operator=(const DspTempo&) = delete;
void Initialize(float tempo, uint32_t rate, uint32_t channels);
void Process(DspChunk& chunk);
void Finish(DspChunk& chunk);
private:
soundtouch::SoundTouch m_stouch;
bool m_active = false;
uint32_t m_rate;
uint32_t m_channels;
};
}
|