LMMS
Loading...
Searching...
No Matches
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
34namespace lmms
35{
36
37
38class VstPlugin;
39
40
41class VstEffect : public Effect
42{
43public:
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
51 {
52 return &m_vstControls;
53 }
54
55
56private:
58 bool openPlugin(const QString& plugin);
60
61 QSharedPointer<VstPlugin> m_plugin;
64
66
67
68 friend class VstEffectControls;
71
72} ;
73
74
75} // namespace lmms
76
77#endif
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
Definition SampleFrame.h:41
VstEffect(Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition VstEffect.cpp:61
friend class VstEffectControls
Definition VstEffect.h:68
bool openPlugin(const QString &plugin)
Returns true if plugin was loaded (m_plugin != nullptr).
Definition VstEffect.cpp:108
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition VstEffect.cpp:82
EffectKey m_key
Definition VstEffect.h:63
QMutex m_pluginMutex
Definition VstEffect.h:62
~VstEffect() override=default
EffectControls * controls() override
Definition VstEffect.h:50
QSharedPointer< VstPlugin > m_plugin
Definition VstEffect.h:61
VstEffectControls m_vstControls
Definition VstEffect.h:65
Definition VstPlugin.h:44
Definition VstEffectControls.h:112
Definition VstEffectControlDialog.h:48
Definition AudioAlsa.cpp:35
Effect::Descriptor::SubPluginFeatures::Key EffectKey
Definition Effect.h:215
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43