update notes

This commit is contained in:
Stefano D'Angelo 2024-01-22 14:47:31 +01:00
parent 86875466cc
commit b78db2283b

32
notes
View File

@ -2,65 +2,81 @@ company {
name: name:
VST3: PFactoryInfo.vendor VST3: PFactoryInfo.vendor
LV2: manifest.ttl doap:maintainer foaf:name LV2: manifest.ttl doap:maintainer foaf:name
web: not used
url: url:
VST3: PFactoryInfo.url VST3: PFactoryInfo.url
LV2: manifest.ttl doap:maintainer rdfs:seeAlso LV2: manifest.ttl doap:maintainer rdfs:seeAlso
web: not used
email: email:
VST3: PFactoryInfo.email VST3: PFactoryInfo.email
LV2: manifest.ttl doap:maintainer foaf:mbox LV2: manifest.ttl doap:maintainer foaf:mbox
web: not used
} }
product { product {
name: name:
VST3: PClassInfo{,2,W}.name VST3: PClassInfo{,2,W}.name
LV2: manifest.ttl plugin doap:name LV2: manifest.ttl plugin doap:name
web: web-demo <title> and <h1>
version: version:
VST3: PClassInfo{2,W}.version (first 3 numbers) VST3: PClassInfo{2,W}.version (first 3 numbers)
LV2: not used LV2: not used
web: not used
buildVersion: buildVersion:
VST3: PClassInfo{2,W}.version (last number) VST3: PClassInfo{2,W}.version (last number)
LV2: not used LV2: not used
web: not used
bundleName: bundleName:
VST3: plugin folder name, plugin .dll name, Info.plist VST3: plugin folder name, plugin .dll name, Info.plist
LV2: plugin folder name, plugin .dll name, manifest.ttl plugin lv2:binary LV2: plugin folder name, plugin .dll name, manifest.ttl plugin lv2:binary
web: registerProcessor(), output file names
buses: [ buses: [
{ {
name: name:
bus name string, required bus name string, required
VST3: BusInfo name VST3: BusInfo name
LV2: manifest.ttl lv2:port lv2:name LV2: manifest.ttl lv2:port lv2:name
web: not used
shortName: shortName:
bus short name string, required bus short name string, required
VST3: not used VST3: not used
LV2: manifest.ttl lv2:port lv2:shortName LV2: manifest.ttl lv2:port lv2:shortName
web: not used
direction: direction:
"input" or "output", required "input" or "output", required
VST3: BusInfo flags - lots of implications VST3: BusInfo flags - lots of implications
LV2: manifest.ttl lv2:port a - lots of implications LV2: manifest.ttl lv2:port a - lots of implications
web: AudioWorkletNode.{numberOfInputs,numberOfOutputs,outputChannelCount} - lots of implications
type: type:
"audio" or "midi", required "audio" or "midi", required
VST3: BusInfo mediaType, ParameterInfo (channel pressure, pitch bend params) - lots of implications VST3: BusInfo mediaType, ParameterInfo (channel pressure, pitch bend params) - lots of implications
LV2: lots of implications everywhere LV2: lots of implications everywhere
web: AudioWorkletNode.{numberOfInputs,numberOfOutputs,outputChannelCount} - lots of implications
channels: channels:
"mono" or "stereo", audio type only, required "mono" or "stereo", audio type only, required
VST3: BusInfo channelCount, plugin get/set bus arrangements VST3: BusInfo channelCount, plugin get/set bus arrangements
LV2: manifest.ttl lv2:port - lots of implications LV2: manifest.ttl lv2:port - lots of implications
web: AudioWorkletNode.outputChannelCount - lots of implications
sidechain: sidechain:
bus is not part of main audio path (sidechain)? boolean, default false bus is not part of main audio path (sidechain)? boolean, default false
VST3: BusInfo busType VST3: BusInfo busType
LV2: manifest.ttl lv2:port lv2:portProperty lv2:isSideChain LV2: manifest.ttl lv2:port lv2:portProperty lv2:isSideChain
web: not used
cv: cv:
bus is control voltage audio-rate? boolean, audio type only, default false bus is control voltage audio-rate? boolean, audio type only, default false
VST3: BusInfo flags VST3: BusInfo flags
LV2: manifest.ttl lv2:port a lv2:CVPort LV2: manifest.ttl lv2:port a lv2:CVPort
web: not used
control: control:
bus is the "primary control channel" (send cmds, receive responses)? boolean, midi type only, default false bus is the "primary control channel" (send cmds, receive responses)? boolean, midi type only, default false
VST3: not used VST3: not used
LV2: manifest.ttl lv2:port lv2:designation lv2:control LV2: manifest.ttl lv2:port lv2:designation lv2:control
web: not used
optional: optional:
bus is optionally connected? boolean, default false bus is optionally connected? boolean, default false
VST3: BusInfo flags, plugin initialize, activate bus, set active VST3: BusInfo flags, plugin initialize, activate bus, set active
LV2: manifest.ttl lv2:port lv2:portProperty lv2:connectionOptional LV2: manifest.ttl lv2:port lv2:portProperty lv2:connectionOptional
web: not used
} }
] ]
parameters: [ parameters: [
@ -69,64 +85,78 @@ product {
parameter name string, required parameter name string, required
VST3: ParameterInfo title VST3: ParameterInfo title
LV2: manifest.ttl lv2:port lv2:name LV2: manifest.ttl lv2:port lv2:name
web: AudioWorkletProcessor.parameterDescriptors, web-demo <label>
shortName: shortName:
parameter short name string, required parameter short name string, required
VST3: ParameterInfo shortTitle VST3: ParameterInfo shortTitle
LV2: manifest.ttl lv2:port lv2:shortName LV2: manifest.ttl lv2:port lv2:shortName
web: not used
direction: direction:
"input" or "output", required "input" or "output", required
VST3: ParameterInfo flags - lots of implications VST3: ParameterInfo flags - lots of implications
LV2: manifest.ttl lv2:port a - lots of implications LV2: manifest.ttl lv2:port a - lots of implications
web: AudioWorkletProcessor.parameterDescriptors, web-demo <range> readonly/input listener - lots of implications
isBypass: isBypass:
parameter is bypass/enabled? boolean - lots of implications, default false parameter is bypass/enabled? boolean - lots of implications, default false
VST3: ParameterInfo, controller get/set parameter/state VST3: ParameterInfo, controller get/set parameter/state
LV2: manifest.ttl lv2:port, run() (set parameter) LV2: manifest.ttl lv2:port, run() (set parameter)
web: AudoWorkletProcessor.process(), web-demo <range> min/max/step
isLatency: isLatency:
parameter is latency output? boolean - lots of implications, default false parameter is latency output? boolean - lots of implications, default false
VST3: TBD VST3: TBD
LV2: manifest.ttl lv2:port, run() (set parameter) LV2: manifest.ttl lv2:port, run() (set parameter)
web: not used
defaultValue: defaultValue:
default value, number, mapped, required for non-bypass default value, number, mapped, required for non-bypass
VST3: ParameterInfo defaultNormalizedValue, controller initialize VST3: ParameterInfo defaultNormalizedValue, controller initialize
LV2: manifest.ttl lv2:port lv2:default, activate() (set initial parameter) LV2: manifest.ttl lv2:port lv2:default, activate() (set initial parameter)
web: AudioWorkletProcessor.parameterDescriptors, processor_new(), web-demo initial <range> value and value <span> innerText
minimum: minimum:
minimum value, number, mapped, required for non-bypass minimum value, number, mapped, required for non-bypass
VST3: ParameterInfo stepCount, defaultNormalizedValue, controller get/set parameter (value clamped) VST3: ParameterInfo stepCount, defaultNormalizedValue, controller get/set parameter (value clamped)
LV2: manifest.ttl lv2:port lv2:minimum, run() (set parameter, value clamped) LV2: manifest.ttl lv2:port lv2:minimum, run() (set parameter, value clamped)
LV2: web: AudioWorkletProcessor.parameterDescriptors, AudioWorkletProcessor.process() (value clamped), web-demo <range> mapping
maximum: maximum:
maximum value, number, mapped, required for non-bypass maximum value, number, mapped, required for non-bypass
VST3: ParameterInfo stepCount, defaultNormalizedValue, controller get/set parameter (value clamped) VST3: ParameterInfo stepCount, defaultNormalizedValue, controller get/set parameter (value clamped)
LV2: manifest.ttl lv2:port lv2:maximum, run() (set parameter, value clamped) LV2: manifest.ttl lv2:port lv2:maximum, run() (set parameter, value clamped)
web: AudioWorkletProcessor.parameterDescriptors, AudioWorkletProcessor.process() (value clamped), web-demo <range> mapping
toggled: toggled:
parameter is on/off? boolean, default false parameter is on/off? boolean, default false
VST3: ParameterInfo stepCount, controller set parameter/state VST3: ParameterInfo stepCount, controller set parameter/state
LV2: manifest.ttl lv2:port lv2:portProperty lv2:toggled, run() (set parameter) LV2: manifest.ttl lv2:port lv2:portProperty lv2:toggled, run() (set parameter)
web: AudoWorkletProcessor.process(), web-demo <range> min/max/step
optional: optional:
parameter is optionally connected? boolean, default false parameter is optionally connected? boolean, default false
VST3: not used VST3: not used
LV2: manifest.ttl lv2:port lv2:portProperty lv2:connectionOptional LV2: manifest.ttl lv2:port lv2:portProperty lv2:connectionOptional
web: not used
integer: integer:
parameter values are integers? boolean, default false parameter values are integers? boolean, default false
VST3: ParameterInfo stepCount, controller set parameter/state VST3: ParameterInfo stepCount, controller set parameter/state
LV2: manifest.ttl lv2:port lv2:portProperty lv2:integer, run() (set parameter) LV2: manifest.ttl lv2:port lv2:portProperty lv2:integer, run() (set parameter)
web: AudoWorkletProcessor.process(), web-demo <range> step
scalePoints: scalePoints:
{ "label1": value1, "label2", value2, ... } { "label1": value1, "label2", value2, ... }
labeled values, default none labeled values, default none
VST3: TBD VST3: TBD
LV2: manifest.ttl lv2:port lv2:scalePoint LV2: manifest.ttl lv2:port lv2:scalePoint
web: not used
list: list:
parameter is a list (using scalePoints values)? default false parameter is a list (using scalePoints values)? default false
VST3: TBD VST3: TBD
LV2: manifest.ttl lv2:port lv2:enumeration - run() (set parameter) TBD? LV2: manifest.ttl lv2:port lv2:enumeration - run() (set parameter) TBD?
web: not used
unit: unit:
unit of measure (from predefined list, see tibia-index.js), default "" unit of measure (from predefined list, see tibia-index.js), default ""
VST3: ParameterInfo units VST3: ParameterInfo units
LV2: manifest.ttl lv2:port units:unit LV2: manifest.ttl lv2:port units:unit
web: web-demo value <span> innerText
map: map:
"linear" vs "logarithmic" "linear" vs "logarithmic"
VST3: many places (requires libm) VST3: many places (requires libm)
LV2: manifest.ttl lv2:port lv2:portProperty pprops:logarithmic LV2: manifest.ttl lv2:port lv2:portProperty pprops:logarithmic
web: web-demo <range> values
} }
] ]
} }