LMMS
Loading...
Searching...
No Matches
Echo.h
Go to the documentation of this file.
1/*
2 ZynAddSubFX - a software synthesizer
3
4 Echo.h - Echo Effect
5 Copyright (C) 2002-2005 Nasca Octavian Paul
6 Author: Nasca Octavian Paul
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of version 2 of the GNU General Public License
10 as published by the Free Software Foundation.
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 (version 2 or later) for more details.
16
17 You should have received a copy of the GNU General Public License (version 2)
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
21*/
22
23#ifndef ECHO_H
24#define ECHO_H
25
26#include "Effect.h"
27#include "../Misc/Stereo.h"
28
30class Echo:public Effect
31{
32 public:
33 Echo(bool insertion_, float *efxoutl_, float *efxoutr_, unsigned int srate, int bufsize);
34 ~Echo();
35
36 void out(const Stereo<float *> &input);
37 void setpreset(unsigned char npreset);
52 void changepar(int npar, unsigned char value);
53
68 unsigned char getpar(int npar) const;
69 int getnumparams(void);
70 void cleanup(void);
71 private:
73
74 //Parameters
75 unsigned char Pvolume;
76 unsigned char Pdelay;
77 unsigned char Plrdelay;
78 unsigned char Pfb;
79 unsigned char Phidamp;
80
81 void setvolume(unsigned char _Pvolume);
82 void setdelay(unsigned char _Pdelay);
83 void setlrdelay(unsigned char _Plrdelay);
84 void setfb(unsigned char _Pfb);
85 void sethidamp(unsigned char _Phidamp);
86
87 //Real Parameters
88 float fb, hidamp;
89 //Left/Right delay lengths
91 float lrdelay;
92 float avgDelay;
93
94 void initdelays(void);
95 //2 channel ring buffer
98
99 //position of reading/writing from delaysample
101 //step size for delay buffer
104};
105
106#endif
Definition Effect.h:35
static PuglViewHint int value
Definition pugl.h:1708
float out
Definition lilv_test.c:1461
Definition tap_echo.c:62
~Echo()
Definition Echo.cpp:52
Stereo< int > delta
Definition Echo.h:102
void setdelay(unsigned char _Pdelay)
Definition Echo.cpp:136
Stereo< int > ndelta
Definition Echo.h:103
int getnumparams(void)
void setpreset(unsigned char npreset)
Definition Echo.cpp:167
void setlrdelay(unsigned char _Plrdelay)
Definition Echo.cpp:143
unsigned char getpar(int npar) const
Definition Echo.cpp:220
void sethidamp(unsigned char _Phidamp)
Definition Echo.cpp:161
unsigned char Pvolume
Definition Echo.h:75
void setvolume(unsigned char _Pvolume)
Definition Echo.cpp:122
unsigned char Plrdelay
Definition Echo.h:77
void initdelays(void)
Definition Echo.cpp:72
float hidamp
Definition Echo.h:88
Stereo< float * > delay
Definition Echo.h:96
float avgDelay
Definition Echo.h:92
Stereo< int > delayTime
Definition Echo.h:90
unsigned char Pdelay
Definition Echo.h:76
void setfb(unsigned char _Pfb)
Definition Echo.cpp:155
unsigned char Phidamp
Definition Echo.h:79
Echo(bool insertion_, float *efxoutl_, float *efxoutr_, unsigned int srate, int bufsize)
Definition Echo.cpp:30
Stereo< int > pos
Definition Echo.h:100
float fb
Definition Echo.h:88
void changepar(int npar, unsigned char value)
Definition Echo.cpp:193
Stereo< float > old
Definition Echo.h:97
float lrdelay
Definition Echo.h:91
int samplerate
Definition Echo.h:72
unsigned char Pfb
Definition Echo.h:78
void cleanup(void)
Definition Echo.cpp:59
Definition Stereo.h:25