LMMS
Loading...
Searching...
No Matches
DummyEffect.h
Go to the documentation of this file.
1/*
2 * DummyEffect.h - effect used as fallback if an effect couldn't be loaded
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#ifndef LMMS_DUMMY_EFFECT_H
26#define LMMS_DUMMY_EFFECT_H
27
28#include <QDomElement>
29
30#include "Effect.h"
31#include "EffectControls.h"
32#include "EffectControlDialog.h"
33
34namespace lmms
35{
36
37namespace gui
38{
39
40class Knob;
41
42
44{
45public:
47 EffectControlDialog( _controls )
48 {
49 }
50
51} ;
52
53} // namespace gui
54
56{
57public:
59 EffectControls( _eff )
60 {
61 }
62
63 ~DummyEffectControls() override = default;
64
65 int controlCount() override
66 {
67 return 0;
68 }
69
70 void saveSettings( QDomDocument &, QDomElement & ) override
71 {
72 }
73
74 void loadSettings( const QDomElement & ) override
75 {
76 }
77
78 QString nodeName() const override
79 {
80 return "DummyControls";
81 }
82
84 {
85 return new gui::DummyEffectControlDialog( this );
86 }
87} ;
88
89
90
91class DummyEffect : public Effect
92{
93 Q_OBJECT
94public:
95 DummyEffect( Model * _parent, const QDomElement& originalPluginData ) :
96 Effect( nullptr, _parent, nullptr ),
97 m_controls( this ),
99 {
100 setName();
101 setDontRun(true);
102 }
103
104 ~DummyEffect() override = default;
105
107 {
108 return &m_controls;
109 }
110
112 {
114 }
115
116 const QDomElement& originalPluginData() const
117 {
119 }
120
121
122
123private:
125 const QDomElement m_originalPluginData;
126
127 // Parse the display name from the dom
128 virtual void setName()
129 {
130 QDomNodeList keys = originalPluginData().elementsByTagName( "key" );
131 for( int i = 0; !keys.item( i ).isNull(); ++i )
132 {
133 QDomNodeList attributes = keys.item( i ).toElement().elementsByTagName( "attribute" );
134 for( int j = 0; !attributes.item( j ).isNull(); ++j )
135 {
136 QDomElement attribute = attributes.item( j ).toElement();
137 if( attribute.hasAttribute( "value" ) )
138 {
139 QString name = tr("NOT FOUND") + " (" + attribute.attribute( "value" ) + ")";
141 return;
142 }
143
144 }
145
146 }
147 }
148} ;
149
150
151} // namespace lmms
152
153#endif // LMMS_DUMMY_EFFECT_H
#define nullptr
Definition DistrhoDefines.h:75
Definition DummyEffect.h:56
~DummyEffectControls() override=default
int controlCount() override
Definition DummyEffect.h:65
gui::EffectControlDialog * createView() override
Definition DummyEffect.h:83
void loadSettings(const QDomElement &) override
Definition DummyEffect.h:74
QString nodeName() const override
Definition DummyEffect.h:78
void saveSettings(QDomDocument &, QDomElement &) override
Definition DummyEffect.h:70
DummyEffectControls(Effect *_eff)
Definition DummyEffect.h:58
ProcessStatus processImpl(SampleFrame *, const f_cnt_t) override
Definition DummyEffect.h:111
DummyEffectControls m_controls
Definition DummyEffect.h:124
~DummyEffect() override=default
EffectControls * controls() override
Definition DummyEffect.h:106
DummyEffect(Model *_parent, const QDomElement &originalPluginData)
Definition DummyEffect.h:95
const QDomElement & originalPluginData() const
Definition DummyEffect.h:116
virtual void setName()
Definition DummyEffect.h:128
const QDomElement m_originalPluginData
Definition DummyEffect.h:125
Definition EffectControls.h:44
EffectControls(Effect *_eff)
Definition EffectControls.h:46
Definition Effect.h:53
Effect(const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition Effect.cpp:41
void setDontRun(bool _state)
Definition Effect.h:113
ProcessStatus
Definition Effect.h:147
@ Sleep
Do not continue processing.
Definition Effect.h:155
Definition Model.h:37
virtual void setDisplayName(const QString &displayName)
Definition Model.cpp:52
Definition SampleFrame.h:41
Definition DummyEffect.h:44
DummyEffectControlDialog(EffectControls *_controls)
Definition DummyEffect.h:46
Definition EffectControlDialog.h:42
EffectControlDialog(EffectControls *controls)
Definition EffectControlDialog.cpp:33
Definition Knob.h:47
register unsigned j
Definition inflate.c:1576
register unsigned i
Definition inflate.c:1575
static const char * name
Definition pugl.h:1582
Definition AudioPortAudio.cpp:223
Definition AudioAlsa.cpp:35
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43