company {
name:
VST3: PFactoryInfo.vendor
LV2: manifest.ttl doap:maintainer foaf:name
web: not used
cmd: not used
android: not used
ios: not used
url:
VST3: PFactoryInfo.url
LV2: manifest.ttl doap:maintainer rdfs:seeAlso
web: not used
cmd: not used
android: not used
ios: not used
email:
VST3: PFactoryInfo.email
LV2: manifest.ttl doap:maintainer foaf:mbox
web: not used
cmd: not used
android: not used
ios: not used
}
product {
name:
VST3: PClassInfo{,2,W}.name
LV2: manifest.ttl plugin doap:name
web: web-demo
and
cmd: not used
android: index.html , AndroidManifest.xml android:label
ios: index.html
version:
VST3: PClassInfo{2,W}.version (first 3 numbers)
LV2: not used
web: not used
cmd: not used
android: not used
ios: not used
buildVersion:
VST3: PClassInfo{2,W}.version (last number)
LV2: not used
web: not used
cmd: not used
android: not used
ios: not used
bundleName:
VST3: plugin folder name, plugin .dll name, Info.plist
LV2: plugin folder name, plugin .dll name, manifest.ttl plugin lv2:binary
web: registerProcessor(), output file names
cmd: executable file name
android: .so/.apk filenames
ios: xcodegen name and target name, xcodeproj filename
buses: [
{
name:
bus name string, required
VST3: BusInfo name
LV2: manifest.ttl lv2:port lv2:name
web: not used
cmd: not used
android: not used
ios: not used
shortName:
bus short name string, required
VST3: not used
LV2: manifest.ttl lv2:port lv2:shortName
web: not used
cmd: not used
android: not used
ios: not used
id:
bus unique id string, required
VST3; not used
LV2: manifest.ttl lv2:port lv2:symbol (resulting ports can have _l or _r appended)
web: not used
cmd: not used
android: not used
ios: not used
direction:
"input" or "output", required
VST3: BusInfo flags - lots of implications
LV2: manifest.ttl lv2:port a - lots of implications
web: AudioWorkletNode.{numberOfInputs,numberOfOutputs,outputChannelCount} - lots of implications
cmd: lots of places
android: lots of places
ios: lots of places
type:
"audio" or "midi", required
VST3: BusInfo mediaType, ParameterInfo (channel pressure, pitch bend params) - lots of implications
LV2: lots of implications everywhere
web: AudioWorkletNode.{numberOfInputs,numberOfOutputs,outputChannelCount} - lots of implications
cmd: lots of places
android: lots of places
ios: lots of places
channels:
"mono" or "stereo", audio type only, required
VST3: BusInfo channelCount, plugin get/set bus arrangements
LV2: manifest.ttl lv2:port - lots of implications
web: AudioWorkletNode.outputChannelCount - lots of implications
cmd: lots of places
android: lots of places
ios: lots of places
sidechain:
bus is not part of main audio path (sidechain)? boolean, default false
VST3: BusInfo busType
LV2: manifest.ttl lv2:port lv2:portProperty lv2:isSideChain
web: web-demo choice of audio I/O buses
cmd: choice of audio I/O buses
android: choice of audio I/O buses
cv:
bus is control voltage audio-rate? boolean, audio type only, default false
VST3: BusInfo flags
LV2: manifest.ttl lv2:port a lv2:CVPort
web: web-demo choice of audio I/O buses
cmd: choice of audio I/O buses
android: choice of audio I/O buses
ios: choice of audio I/O buses
control:
bus is the "primary control channel" (send cmds, receive responses)? boolean, midi type only, default false
VST3: not used
LV2: manifest.ttl lv2:port lv2:designation lv2:control
web: not used
cmd: not used
android: not used
ios: not used
optional:
bus is optionally connected? boolean, default false
VST3: BusInfo flags, plugin initialize, activate bus, set active
LV2: manifest.ttl lv2:port lv2:portProperty lv2:connectionOptional
web: not used
cmd: whether to pass NULLs if not chosen audio I/O buses
android: whether to pass NULLs if not chosen audio I/O buses
ios: whether to pass NULLs if not chosen audio I/O buses
}
]
parameters: [
{
name:
parameter name string, required
VST3: ParameterInfo title
LV2: manifest.ttl lv2:port lv2:name
web: AudioWorkletProcessor.parameterDescriptors, web-demo