lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
VstEffect
VstEffect.h
Go to the documentation of this file.
1
/*
2
* VstEffect.h - class for handling VST effect plugins
3
*
4
* Copyright (c) 2006-2009 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 _VST_EFFECT_H
26
#define _VST_EFFECT_H
27
28
#include <QMutex>
29
#include <QSharedPointer>
30
31
#include "
Effect.h
"
32
#include "
VstEffectControls.h
"
33
34
namespace
lmms
35
{
36
37
38
class
VstPlugin
;
39
40
41
class
VstEffect
:
public
Effect
42
{
43
public
:
44
VstEffect
(
Model
* _parent,
45
const
Descriptor::SubPluginFeatures::Key * _key );
46
~VstEffect
()
override
=
default
;
47
48
ProcessStatus
processImpl
(
SampleFrame
* buf,
const
f_cnt_t
frames)
override
;
49
50
EffectControls
*
controls
()
override
51
{
52
return
&
m_vstControls
;
53
}
54
55
56
private
:
58
bool
openPlugin
(
const
QString& plugin);
59
void
closePlugin
();
60
61
QSharedPointer<VstPlugin>
m_plugin
;
62
QMutex
m_pluginMutex
;
63
EffectKey
m_key
;
64
65
VstEffectControls
m_vstControls
;
66
67
68
friend
class
VstEffectControls
;
69
friend
class
gui::VstEffectControlDialog
;
70
friend
class
gui::ManageVSTEffectView
;
71
72
} ;
73
74
75
}
// namespace lmms
76
77
#endif
Effect.h
VstEffectControls.h
lmms::EffectControls
Definition
EffectControls.h:44
lmms::Effect::Effect
Effect(const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition
Effect.cpp:41
lmms::Effect::ProcessStatus
ProcessStatus
Definition
Effect.h:150
lmms::Model
Definition
Model.h:37
lmms::SampleFrame
Definition
SampleFrame.h:41
lmms::VstEffect::closePlugin
void closePlugin()
lmms::VstEffect::VstEffect
VstEffect(Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition
VstEffect.cpp:61
lmms::VstEffect::VstEffectControls
friend class VstEffectControls
Definition
VstEffect.h:68
lmms::VstEffect::openPlugin
bool openPlugin(const QString &plugin)
Returns true if plugin was loaded (m_plugin != nullptr).
Definition
VstEffect.cpp:108
lmms::VstEffect::processImpl
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition
VstEffect.cpp:82
lmms::VstEffect::m_key
EffectKey m_key
Definition
VstEffect.h:63
lmms::VstEffect::m_pluginMutex
QMutex m_pluginMutex
Definition
VstEffect.h:62
lmms::VstEffect::~VstEffect
~VstEffect() override=default
lmms::VstEffect::controls
EffectControls * controls() override
Definition
VstEffect.h:50
lmms::VstEffect::m_plugin
QSharedPointer< VstPlugin > m_plugin
Definition
VstEffect.h:61
lmms::VstEffect::m_vstControls
VstEffectControls m_vstControls
Definition
VstEffect.h:65
lmms::VstPlugin
Definition
VstPlugin.h:45
lmms::gui::ManageVSTEffectView
Definition
VstEffectControls.h:112
lmms::gui::VstEffectControlDialog
Definition
VstEffectControlDialog.h:48
lmms
Definition
RemotePluginBase.cpp:34
lmms::EffectKey
Effect::Descriptor::SubPluginFeatures::Key EffectKey
Definition
Effect.h:219
lmms::f_cnt_t
std::uint64_t f_cnt_t
Definition
LmmsTypes.h:43
Generated on
for lmms by
1.18.0