LMMS
Loading...
Searching...
No Matches
LadspaControls.h
Go to the documentation of this file.
1/*
2 * LadspaControls.h - model for LADSPA plugin controls
3 *
4 * Copyright (c) 2008-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 LADSPA_CONTROLS_H
26#define LADSPA_CONTROLS_H
27
28#include "EffectControls.h"
30
31namespace lmms
32{
33
34
35class LadspaControl;
36using control_list_t = QVector<LadspaControl*>;
37namespace gui {
38class LadspaControlDialog;
39}
40class LadspaEffect;
41
42
44{
45 Q_OBJECT
46public:
48 ~LadspaControls() override;
49
50 inline int controlCount() override
51 {
52 return m_controlCount;
53 }
54
55 void saveSettings( QDomDocument & _doc, QDomElement & _parent ) override;
56 void loadSettings( const QDomElement & _this ) override;
57 inline QString nodeName() const override
58 {
59 return "ladspacontrols";
60 }
61
63 {
64 return new gui::LadspaMatrixControlDialog( this );
65 }
66
67
68protected slots:
70 void linkPort( int _port, bool _state );
71
72
73private:
80 QVector<control_list_t> m_controls;
81
82
85 friend class LadspaEffect;
86
87
88signals:
90
91} ;
92
93
94} // namespace lmms
95
96#endif
Definition AutomatableModel.h:497
EffectControls(Effect *_eff)
Definition EffectControls.h:46
Definition LadspaControl.h:50
Definition LadspaControls.h:44
friend class LadspaEffect
Definition LadspaControls.h:85
ch_cnt_t m_controlCount
Definition LadspaControls.h:76
int controlCount() override
Definition LadspaControls.h:50
LadspaControls(LadspaEffect *_eff)
Definition LadspaControls.cpp:35
bool m_noLink
Definition LadspaControls.h:77
gui::EffectControlDialog * createView() override
Definition LadspaControls.h:62
~LadspaControls() override
Definition LadspaControls.cpp:92
ch_cnt_t m_processors
Definition LadspaControls.h:75
QVector< control_list_t > m_controls
control vector for each processor
Definition LadspaControls.h:80
QString nodeName() const override
Definition LadspaControls.h:57
BoolModel m_stereoLinkModel
Definition LadspaControls.h:78
void updateLinkStatesFromGlobal()
Definition LadspaControls.cpp:167
LadspaEffect * m_effect
Definition LadspaControls.h:74
void saveSettings(QDomDocument &_doc, QDomElement &_parent) override
Definition LadspaControls.cpp:104
void loadSettings(const QDomElement &_this) override
Definition LadspaControls.cpp:123
void linkPort(int _port, bool _state)
Definition LadspaControls.cpp:141
void effectModelChanged(lmms::LadspaControls *)
Definition EffectControlDialog.h:42
Definition LadspaControlDialog.h:49
Definition LadspaMatrixControlDialog.h:49
Definition AudioPortAudio.cpp:223
Definition AudioAlsa.cpp:35
std::uint16_t ch_cnt_t
Definition LmmsTypes.h:44
QVector< LadspaControl * > control_list_t
Definition LadspaControls.h:36