-
Notifications
You must be signed in to change notification settings - Fork 0
/
BlockOverdrive.h
46 lines (39 loc) · 935 Bytes
/
BlockOverdrive.h
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once
#ifndef DSY_SN_BLOCKOVERDRIVE_H
#define DSY_SN_BLOCKOVERDRIVE_H
#include <stdint.h>
#ifdef __cplusplus
/** @file overdrive.h */
namespace daisysp
{
/**
@brief Distortion / Overdrive Module
@author Ported by Ben Sergentanis
@date Jan 2021
Ported from pichenettes/eurorack/plaits/dsp/fx/overdrive.h \n
to an independent module. \n
Original code written by Emilie Gillet in 2014. \n
*/
class BlockOverdrive
{
public:
BlockOverdrive() {}
~BlockOverdrive() {}
/** Initializes the module with 0 gain */
void Init();
/** Get the next sample
\param in Input to be overdriven
*/
void Process( float *buf, size_t size );
/** Set the amount of drive
\param drive Works from 0-1
*/
void SetDrive(float drive);
private:
float drive_;
float pre_gain_;
float post_gain_;
};
} // namespace daisysp
#endif
#endif