-
Notifications
You must be signed in to change notification settings - Fork 32
/
plugin-schema.json
207 lines (189 loc) · 8.35 KB
/
plugin-schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Dplug plugin.json schema",
"type": "object",
"required": [ "CFBundleIdentifierPrefix",
"hasGUI",
"pluginName",
"pluginUniqueID",
"publicVersion",
"vendorName",
"vendorUniqueID",
"category" ],
"properties": {
"CFBundleIdentifierPrefix": {
"description": "Mandatory prefix for macOS bundles.",
"id": "/properties/CFBundleIdentifierPrefix",
"type": "string"
},
"developerIdentity-osx" : {
"description": "The signing identity used when code-signing for macOS. Mandatory for Mac installers.",
"id": "/properties/developerIdentity-osx",
"type": "string"
},
"iconPath": {
"description": "Very optional path to an icon file, to be used for macOS bundles. Not sure if working.",
"id": "/properties/commented-iconPath",
"type": "string"
},
"installerPNGPath" : {
"description": "The .png background path used for Mac installers. Optional.",
"id": "/properties/installerPNGPath",
"type": "string"
},
"hasGUI": {
"description": "true if the plug-in has a GUI. Can be used to disabled the UI of a plug-in. This is especially practical when creating a new plug-in.",
"id": "/properties/hasGUI",
"type": "boolean"
},
"isSynth": {
"description": "true if the plug-in is an instrument. Must match with the choosen category property.",
"id": "/properties/isSynth",
"type": "boolean",
"default": "false"
},
"licensePath": {
"description": "Optional path to a license file, to be bundled with binary releases.",
"id": "/properties/licensePath",
"type": "string"
},
"pluginName": {
"description": "Full name of the plug-in vendor.",
"id": "/properties/pluginName",
"type": "string"
},
"pluginHomepage": {
"description": "Web URL for plug-in homepage. Optional, used for VST3.",
"id": "/properties/pluginHomepage",
"type": "string"
},
"pluginUniqueID": {
"description": "A four char code identifying your plug-in in the VST2 namespace. Nobody knows which one are available or not. When breaking save compatibility, you MUST issue a new plugin ID.",
"id": "/properties/pluginUniqueID",
"type": "string"
},
"publicVersion": {
"description": "Public version of the plug-in, of the form major.minor.patch. The implicit meaning is that save compatibility is broken only for major versions.",
"id": "/properties/publicVersion",
"type": "string"
},
"receivesMIDI": {
"description": "true if the plug-in reads MIDI input, can be for a synthesizer or an effect taking MIDI.",
"id": "/properties/receivesMIDI",
"type": "boolean",
"default": "false"
},
"sendsMIDI": {
"description": "true if the plug-in sends MIDI output. If a plugin sends MIDI, it MUST receives MIDI too.",
"id": "/properties/sendsMIDI",
"type": "boolean",
"default": "false"
},
"userManualPath": {
"description": "Optional path to a user manual file, to be bundled with binary releases.",
"id": "/properties/userManualPath",
"type": "string"
},
"vendorName": {
"description": "The full name of the plug-in vendor.",
"id": "/properties/vendorName",
"type": "string"
},
"vendorUniqueID": {
"description": "A four char code for the plug-in vendor.",
"id": "/properties/vendorUniqueID",
"type": "string"
},
"vendorSupportEmail": {
"description": "An email address for support. Optional, used for VST3.",
"id": "/properties/vendorSupportEmail",
"type": "string"
},
"category": {
"description": "The category of the plug-in. Helps to be listed more prominently in a DAW.",
"id": "/properties/category",
"type": "string",
"enum": [
"effectAnalysisAndMetering",
"effectDelay",
"effectDistortion",
"effectDynamics",
"effectEQ",
"effectImaging",
"effectModulation",
"effectPitch",
"effectReverb",
"effectOther",
"instrumentDrums",
"instrumentSampler",
"instrumentSynthesizer",
"instrumentOther"
]
},
"windowsInstallerHeaderBmp": {
"description": "Optional relative path to a 150x57 BMP, for use in the Windows installer.",
"id": "/properties/windowsInstallerHeaderBmp",
"type": "string"
},
"keyFile-windows": {
"description": "A relative path to a Windows certificate, to be used for installer creation.",
"id": "/properties/keyFile-windows",
"type": "string"
},
"keyPassword-windows": {
"description": "The password for the Windows certificate. Can be !PROMPT to be prompted on first use. Supports $VAR and !PROMPT syntax.",
"id": "/properties/keyPassword-windows",
"type": "string"
},
"timestampServerURL-windows": {
"description": "Override the default timestamp server URL used by signtool.",
"id": "/properties/timestampServerURL-windows",
"type": "string"
},
"developerIdentity-windows": {
"description": "The name of the certificate to use. This is an alternative to providing a private key and password directly. It is used for cloud code-signing. Takes priority over keyFile-windows.",
"id": "/properties/developerIdentity-windows",
"type": "string"
},
"certThumbprint-windows": {
"description": "The footpring of the certificate to use. This is an alternative to providing a private key and password directly. It is used for cloud code-signing. Takes priority over keyFile-windows.",
"id": "/properties/certThumbprint-windows",
"type": "string"
},
"vendorAppleID": {
"description": "An Apple ID used for notarization services.",
"id": "/properties/vendorAppleID",
"type": "string"
},
"keychainProfile-osx": {
"description": "Alternative authentication method for notarization.",
"id": "/properties/keychainProfile-osx",
"type": "string"
},
"appSpecificPassword-altool": {
"description": "An App-Specific Password created for being able to run altool. Read Dplug's Notarization Guide for explanations. Supports $VAR syntax.",
"id": "/properties/appSpecificPassword-altool",
"type": "string"
},
"appSpecificPassword-stapler": {
"description": "An App-Specific Password created for being able to run stapler. Read Dplug's Notarization Guide for explanations. Supports $VAR syntax.",
"id": "/properties/appSpecificPassword-stapler",
"type": "string"
},
"iLokAccount": {
"description": "For PACE signing, the iLok account to access EDEN signing. Read Dplug's AAX Guide for explanations. Supports $VAR syntax.",
"id": "/properties/iLokAccount",
"type": "string"
},
"iLokPassword": {
"description": "For PACE signing, the iLok password. Can be !PROMPT to be prompted on first use. Supports $VAR and !PROMPT syntax.",
"id": "/properties/iLokPassword",
"type": "string"
},
"wrapConfigGUID": {
"description": "For PACE signing, the PACE wrap configuration ID to use. Create one in the PACE Central interface. Supports $VAR syntax.",
"id": "/properties/wrapConfigGUID",
"type": "string"
}
}
}