lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
include
LadspaBase.h
Go to the documentation of this file.
1
/*
2
* LadspaBase.h - basic declarations concerning LADSPA
3
*
4
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
5
* Copyright (c) 2006-2014 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 LMMS_LADSPA_BASE_H
27
#define LMMS_LADSPA_BASE_H
28
29
#include <QRegularExpression>
30
31
#include "
LadspaManager.h
"
32
#include "
Plugin.h
"
33
34
namespace
lmms
35
{
36
37
38
class
LadspaControl
;
39
40
enum class
BufferRate
{
41
ChannelIn
,
42
ChannelOut
,
43
AudioRateInput
,
44
AudioRateOutput
,
45
ControlRateInput
,
46
ControlRateOutput
47
};
48
49
enum class
BufferDataType
{
Toggled
,
Enum
,
Integer
,
Floating
,
Time
,
None
};
50
53
struct
port_desc_t
54
{
55
QString
name
;
56
ch_cnt_t
proc
;
57
uint16_t
port_id
;
58
uint16_t
control_id
;
59
BufferRate
rate
;
60
BufferDataType
data_type
;
61
float
scale
;
62
LADSPA_Data
max
;
63
LADSPA_Data
min
;
64
LADSPA_Data
def
;
65
LADSPA_Data
value
;
68
bool
suggests_logscale
;
69
LADSPA_Data
*
buffer
;
70
LadspaControl
*
control
;
71
};
72
73
inline
Plugin::Descriptor::SubPluginFeatures::Key
ladspaKeyToSubPluginKey
(
74
const
Plugin::Descriptor
* _desc,
75
const
QString & _name,
76
const
ladspa_key_t
& _key )
77
{
78
Plugin::Descriptor::SubPluginFeatures::Key::AttributeMap
m;
79
QString file = _key.first;
80
m[
"file"
] = file.remove(QRegularExpression(
"\\.so$"
)).remove(QRegularExpression(
"\\.dll$"
));
81
m[
"plugin"
] = _key.second;
82
return
Plugin::Descriptor::SubPluginFeatures::Key
( _desc, _name, m );
83
}
84
85
86
}
// namespace lmms
87
88
#endif
// LMMS_LADSPA_BASE_H
LadspaManager.h
Plugin.h
lmms::LadspaControl
Definition
LadspaControl.h:50
LADSPA_Data
float LADSPA_Data
Definition
ladspa.h:84
lmms
Definition
RemotePluginBase.cpp:34
lmms::ladspa_key_t
QPair< QString, QString > ladspa_key_t
Definition
LadspaManager.h:47
lmms::ch_cnt_t
std::uint16_t ch_cnt_t
Definition
LmmsTypes.h:44
lmms::BufferRate
BufferRate
Definition
LadspaBase.h:40
lmms::BufferRate::ControlRateInput
@ ControlRateInput
Definition
LadspaBase.h:45
lmms::BufferRate::ControlRateOutput
@ ControlRateOutput
Definition
LadspaBase.h:46
lmms::BufferRate::AudioRateInput
@ AudioRateInput
Definition
LadspaBase.h:43
lmms::BufferRate::ChannelIn
@ ChannelIn
Definition
LadspaBase.h:41
lmms::BufferRate::AudioRateOutput
@ AudioRateOutput
Definition
LadspaBase.h:44
lmms::BufferRate::ChannelOut
@ ChannelOut
Definition
LadspaBase.h:42
lmms::BufferDataType
BufferDataType
Definition
LadspaBase.h:49
lmms::BufferDataType::None
@ None
Definition
LadspaBase.h:49
lmms::BufferDataType::Toggled
@ Toggled
Definition
LadspaBase.h:49
lmms::BufferDataType::Integer
@ Integer
Definition
LadspaBase.h:49
lmms::BufferDataType::Time
@ Time
Definition
LadspaBase.h:49
lmms::BufferDataType::Floating
@ Floating
Definition
LadspaBase.h:49
lmms::BufferDataType::Enum
@ Enum
Definition
LadspaBase.h:49
lmms::ladspaKeyToSubPluginKey
Plugin::Descriptor::SubPluginFeatures::Key ladspaKeyToSubPluginKey(const Plugin::Descriptor *_desc, const QString &_name, const ladspa_key_t &_key)
Definition
LadspaBase.h:73
lmms::Plugin::Descriptor::SubPluginFeatures::Key
Definition
Plugin.h:136
lmms::Plugin::Descriptor::SubPluginFeatures::Key::AttributeMap
QMap< QString, QString > AttributeMap
Definition
Plugin.h:137
lmms::Plugin::Descriptor
Definition
Plugin.h:92
lmms::port_desc_t
Definition
LadspaBase.h:54
lmms::port_desc_t::suggests_logscale
bool suggests_logscale
Definition
LadspaBase.h:68
lmms::port_desc_t::max
LADSPA_Data max
Definition
LadspaBase.h:62
lmms::port_desc_t::data_type
BufferDataType data_type
Definition
LadspaBase.h:60
lmms::port_desc_t::name
QString name
Definition
LadspaBase.h:55
lmms::port_desc_t::buffer
LADSPA_Data * buffer
Definition
LadspaBase.h:69
lmms::port_desc_t::value
LADSPA_Data value
Definition
LadspaBase.h:65
lmms::port_desc_t::rate
BufferRate rate
Definition
LadspaBase.h:59
lmms::port_desc_t::def
LADSPA_Data def
Definition
LadspaBase.h:64
lmms::port_desc_t::scale
float scale
Definition
LadspaBase.h:61
lmms::port_desc_t::port_id
uint16_t port_id
Definition
LadspaBase.h:57
lmms::port_desc_t::min
LADSPA_Data min
Definition
LadspaBase.h:63
lmms::port_desc_t::proc
ch_cnt_t proc
Definition
LadspaBase.h:56
lmms::port_desc_t::control_id
uint16_t control_id
Definition
LadspaBase.h:58
lmms::port_desc_t::control
LadspaControl * control
Definition
LadspaBase.h:70
Generated on
for lmms by
1.18.0