Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
plugin_settings.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2021-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __SCHEMAS_SETTINGS_PLUGIN_SETTINGS_H__
11#define __SCHEMAS_SETTINGS_PLUGIN_SETTINGS_H__
12
13#include "zrythm-config.h"
14
16#include "utils/yaml.h"
17
18typedef struct PluginSetting_v1
19{
20 int schema_version;
21 PluginDescriptor_v1 * descr;
22 bool open_with_carla;
23 bool force_generic_ui;
24 ZCarlaBridgeMode_v1 bridge_mode;
25 char * ui_uri;
26 std::uint64_t last_instantiated_time;
27 int num_instantiations;
29
30typedef struct PluginSettings_v3
31{
32 int schema_version;
33 PluginSetting_v1 * settings[90000];
34 int num_settings;
36
37static const cyaml_schema_field_t plugin_setting_fields_schema_v1[] = {
38 YAML_FIELD_INT (PluginSetting_v1, schema_version),
39 YAML_FIELD_MAPPING_PTR (
41 descr,
42 plugin_descriptor_fields_schema_v1),
43 YAML_FIELD_INT (PluginSetting_v1, open_with_carla),
44 YAML_FIELD_INT (PluginSetting_v1, force_generic_ui),
45 YAML_FIELD_ENUM (PluginSetting_v1, bridge_mode, carla_bridge_mode_strings_v1),
46 YAML_FIELD_STRING_PTR_OPTIONAL (PluginSetting_v1, ui_uri),
47 YAML_FIELD_INT_OPT (PluginSetting_v1, last_instantiated_time),
48 YAML_FIELD_INT_OPT (PluginSetting_v1, num_instantiations),
49
50 CYAML_FIELD_END
51};
52
53static const cyaml_schema_value_t plugin_setting_schema_v1 = {
54 YAML_VALUE_PTR (PluginSetting_v1, plugin_setting_fields_schema_v1),
55};
56
57static const cyaml_schema_field_t plugin_settings_fields_schema_v3[] = {
58 YAML_FIELD_INT (PluginSettings_v3, schema_version),
59 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
61 settings,
62 plugin_setting_schema_v1),
63
64 CYAML_FIELD_END
65};
66
67static const cyaml_schema_value_t plugin_settings_schema_v3 = {
68 YAML_VALUE_PTR (PluginSettings_v3, plugin_settings_fields_schema_v3),
69};
70
71#endif
YAML utils.