LMMS
Loading...
Searching...
No Matches
DelayEffect.h
Go to the documentation of this file.
1/*
2 * delayeffect.h - declaration of DelayEffect class, the Delay plugin
3 *
4 * Copyright (c) 2014 David French <dave/dot/french3/at/googlemail/dot/com>
5 *
6 * This file is part of LMMS - https://lmms.io
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program (see COPYING); if not, write to the
20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA.
22 *
23 */
24
25#ifndef DELAYEFFECT_H
26#define DELAYEFFECT_H
27
28#include "Effect.h"
29#include "DelayControls.h"
30
31namespace lmms
32{
33
34class Lfo;
35class StereoDelay;
36
37class DelayEffect : public Effect
38{
39public:
40 DelayEffect(Model* parent , const Descriptor::SubPluginFeatures::Key* key );
41 ~DelayEffect() override;
42
43 ProcessStatus processImpl(SampleFrame* buf, const f_cnt_t frames) override;
44
46 {
47 return &m_delayControls;
48 }
49 void changeSampleRate();
50
51private:
55 float m_outGain;
57};
58
59
60} // namespace lmms
61
62#endif // DELAYEFFECT_H
Definition DelayControls.h:39
Lfo * m_lfo
Definition DelayEffect.h:54
EffectControls * controls() override
Definition DelayEffect.h:45
StereoDelay * m_delay
Definition DelayEffect.h:53
DelayEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition DelayEffect.cpp:56
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition DelayEffect.cpp:84
void changeSampleRate()
Definition DelayEffect.cpp:146
float m_outGain
Definition DelayEffect.h:55
DelayControls m_delayControls
Definition DelayEffect.h:52
~DelayEffect() override
Definition DelayEffect.cpp:69
float m_currentLength
Definition DelayEffect.h:56
Definition EffectControls.h:44
Effect(const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition Effect.cpp:41
ProcessStatus
Definition Effect.h:147
Definition Lfo.h:36
Definition Model.h:37
const Descriptor::SubPluginFeatures::Key & key() const
Definition Plugin.h:266
Definition SampleFrame.h:41
Definition StereoDelay.h:36
static uintptr_t parent
Definition pugl.h:1644
Definition AudioAlsa.cpp:35
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43