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
#include "juce_wrapper.h"
10
11
namespace
zrythm::plugins
12
{
13
14
class
Protocol
:
public
QObject
15
{
16
Q_OBJECT
17
QML_ELEMENT
18
QML_NAMED_ELEMENT (
ProtocolType
)
19
20
public
:
24
enum class
ProtocolType
: std::uint8_t
25
{
27
Internal
,
28
LV2,
29
DSSI,
30
LADSPA,
31
VST,
32
VST3,
33
AudioUnit,
34
SFZ,
35
SF2,
36
CLAP,
37
JSFX,
38
};
39
Q_ENUM (
ProtocolType
)
40
41
public
:
42
static
std::string to_string (
ProtocolType
prot);
43
44
static
ProtocolType
from_string (
const
std::string &str);
45
46
static
ProtocolType
from_juce_format_name (
const
juce::String &str);
47
static
juce::String to_juce_format_name (
ProtocolType
prot);
48
49
static
bool
is_supported (
ProtocolType
protocol);
50
51
static
std::string get_icon_name (
ProtocolType
prot);
52
};
53
54
}
// namespace zrythm::plugins
zrythm::plugins::Protocol
Definition
plugin_protocol.h:15
zrythm::plugins::Protocol::ProtocolType
ProtocolType
Plugin protocol.
Definition
plugin_protocol.h:25
zrythm::plugins::Protocol::ProtocolType::Internal
@ Internal
Dummy protocol for tests.
Definition
plugin_protocol.h:27
src
plugins
plugin_protocol.h
Generated by
1.15.0