Zrythm
v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
plugin_protocol.h
1
// SPDX-FileCopyrightText: © 2024-2025 Alexandros Theodotou <alex@zrythm.org>
2
// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4
#pragma once
5
6
#include <QObject>
7
#include <QtQmlIntegration/qqmlintegration.h>
8
9
namespace
juce
10
{
11
class
String;
12
}
13
14
namespace
zrythm::plugins
15
{
16
17
class
Protocol
:
public
QObject
18
{
19
Q_OBJECT
20
QML_ELEMENT
21
QML_NAMED_ELEMENT (
ProtocolType
)
22
23
public
:
27
enum class
ProtocolType
: std::uint8_t
28
{
30
Internal
,
31
LV2,
32
DSSI,
33
LADSPA,
34
VST,
35
VST3,
36
AudioUnit,
37
SFZ,
38
SF2,
39
CLAP,
40
JSFX,
41
};
42
Q_ENUM (
ProtocolType
)
43
44
public
:
45
static
std::string to_string (
ProtocolType
prot);
46
47
static
ProtocolType
from_string (
const
std::string &str);
48
49
static
ProtocolType
from_juce_format_name (
const
juce::String &str);
50
static
juce::String to_juce_format_name (
ProtocolType
prot);
51
52
static
bool
is_supported (
ProtocolType
protocol);
53
54
static
std::string get_icon_name (
ProtocolType
prot);
55
};
56
57
}
// namespace zrythm::plugins
zrythm::plugins::Protocol
Definition
plugin_protocol.h:18
zrythm::plugins::Protocol::ProtocolType
ProtocolType
Plugin protocol.
Definition
plugin_protocol.h:28
zrythm::plugins::Protocol::ProtocolType::Internal
@ Internal
Dummy protocol for tests.
Definition
plugin_protocol.h:30
src
plugins
plugin_protocol.h
Generated by
1.16.1