LMMS
Loading...
Searching...
No Matches
WaveShaperControls.h
Go to the documentation of this file.
1/*
2 * WaveShaperControls.h - controls for WaveShaper effect
3 *
4 * Copyright (c) 2014 Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>
5 * Copyright (c) 2008 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 WAVESHAPER_CONTROLS_H
27#define WAVESHAPER_CONTROLS_H
28
29#include "EffectControls.h"
31#include "Graph.h"
32
33namespace lmms
34{
35
36
38
39
41{
42 Q_OBJECT
43public:
45 ~WaveShaperControls() override = default;
46
47 void saveSettings( QDomDocument & _doc, QDomElement & _parent ) override;
48 void loadSettings( const QDomElement & _this ) override;
49 inline QString nodeName() const override
50 {
51 return( "waveshapercontrols" );
52 }
53
54 virtual void setDefaultShape();
55
56 int controlCount() override
57 {
58 return( 4 );
59 }
60
62 {
63 return( new gui::WaveShaperControlDialog( this ) );
64 }
65
66
67private slots:
68 void samplesChanged( int, int );
69
70 void resetClicked();
71 void smoothClicked();
72
73 void addOneClicked();
74 void subOneClicked();
75
76private:
82
84 friend class WaveShaperEffect;
85
86} ;
87
88
89} // namespace lmms
90
91#endif
Definition AutomatableModel.h:497
EffectControls(Effect *_eff)
Definition EffectControls.h:46
Definition AutomatableModel.h:463
gui::EffectControlDialog * createView() override
Definition WaveShaperControls.h:61
void loadSettings(const QDomElement &_this) override
Definition WaveShaperControls.cpp:67
void saveSettings(QDomDocument &_doc, QDomElement &_parent) override
Definition WaveShaperControls.cpp:88
QString nodeName() const override
Definition WaveShaperControls.h:49
friend class WaveShaperEffect
Definition WaveShaperControls.h:84
~WaveShaperControls() override=default
void addOneClicked()
Definition WaveShaperControls.cpp:130
void resetClicked()
Definition WaveShaperControls.cpp:118
void samplesChanged(int, int)
Definition WaveShaperControls.cpp:59
FloatModel m_inputModel
Definition WaveShaperControls.h:78
void subOneClicked()
Definition WaveShaperControls.cpp:139
WaveShaperControls(WaveShaperEffect *_eff)
Definition WaveShaperControls.cpp:42
WaveShaperEffect * m_effect
Definition WaveShaperControls.h:77
BoolModel m_clipModel
Definition WaveShaperControls.h:81
virtual void setDefaultShape()
Definition WaveShaperControls.cpp:106
int controlCount() override
Definition WaveShaperControls.h:56
void smoothClicked()
Definition WaveShaperControls.cpp:124
FloatModel m_outputModel
Definition WaveShaperControls.h:79
graphModel m_wavegraphModel
Definition WaveShaperControls.h:80
Definition WaveShaper.h:38
2 dimensional function plot
Definition Graph.h:134
Definition EffectControlDialog.h:42
Definition WaveShaperControlDialog.h:41
Definition AudioAlsa.cpp:35