LMMS
Loading...
Searching...
No Matches
Amplifier.h
Go to the documentation of this file.
1/*
2 * Amplifier.h - amplifier-effect-plugin
3 *
4 * Copyright (c) 2014 Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>
5 * Copyright (c) 2006-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6 *
7 * This file is part of LMMS - https://lmms.io
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program (see COPYING); if not, write to the
21 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301 USA.
23 *
24 */
25
26#ifndef LMMS_AMPLIFIER_H
27#define LMMS_AMPLIFIER_H
28
29#include "Effect.h"
30#include "AmplifierControls.h"
31
32namespace lmms
33{
34
35class AmplifierEffect : public Effect
36{
37public:
38 AmplifierEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key);
39 ~AmplifierEffect() override = default;
40
41 ProcessStatus processImpl(SampleFrame* buf, const f_cnt_t frames) override;
42
44 {
45 return &m_ampControls;
46 }
47
48private:
50
51 friend class AmplifierControls;
52};
53
54} // namespace lmms
55
56#endif // LMMS_AMPLIFIER_H
friend class AmplifierControls
Definition Amplifier.h:51
AmplifierControls m_ampControls
Definition Amplifier.h:49
~AmplifierEffect() override=default
EffectControls * controls() override
Definition Amplifier.h:43
AmplifierEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition Amplifier.cpp:53
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition Amplifier.cpp:60
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 Model.h:37
const Descriptor::SubPluginFeatures::Key & key() const
Definition Plugin.h:266
Definition SampleFrame.h:41
static uintptr_t parent
Definition pugl.h:1644
Definition AudioAlsa.cpp:35
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43