LMMS
Loading...
Searching...
No Matches
BassBooster.h
Go to the documentation of this file.
1/*
2 * BassBooster.h - bass-booster-effect-plugin
3 *
4 * Copyright (c) 2006-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
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
26#ifndef BASS_BOOSTER_H
27#define BASS_BOOSTER_H
28
29#include "Effect.h"
30#include "DspEffectLibrary.h"
31#include "BassBoosterControls.h"
32
33namespace lmms
34{
35
37{
38public:
39 BassBoosterEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key );
40 ~BassBoosterEffect() override = default;
41
42 ProcessStatus processImpl(SampleFrame* buf, const f_cnt_t frames) override;
43
45 {
46 return &m_bbControls;
47 }
48
49
50protected:
51 void changeFrequency();
52 void changeGain();
53 void changeRatio();
54
56
57private:
59
61
62 friend class BassBoosterControls;
63
64} ;
65
66
67} // namespace lmms
68
69#endif
void changeRatio()
Definition BassBooster.cpp:126
bool m_frequencyChangeNeeded
Definition BassBooster.h:55
void changeGain()
Definition BassBooster.cpp:117
friend class BassBoosterControls
Definition BassBooster.h:62
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition BassBooster.cpp:72
DspEffectLibrary::MonoToStereoAdaptor< DspEffectLibrary::FastBassBoost > m_bbFX
Definition BassBooster.h:58
~BassBoosterEffect() override=default
EffectControls * controls() override
Definition BassBooster.h:44
void changeFrequency()
Definition BassBooster.cpp:106
BassBoosterEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition BassBooster.cpp:54
BassBoosterControls m_bbControls
Definition BassBooster.h:60
Definition DspEffectLibrary.h:70
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