cmd ids/lv2 symbols -> product bus/parameter ids

This commit is contained in:
Stefano D'Angelo 2024-07-02 17:36:20 +02:00
parent 6c19e01254
commit 9843201ef5
8 changed files with 32 additions and 23 deletions

14
notes
View File

@ -60,6 +60,13 @@ product {
web: not used
cmd: not used
android: 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
direction:
"input" or "output", required
VST3: BusInfo flags - lots of implications
@ -127,6 +134,13 @@ product {
web: not used
cmd: not used
android: not used
id:
parameter unique id string, required
VST3; not used
LV2: manifest.ttl lv2:port lv2:symbol (bypass ports used "enabled")
web: not used
cmd: command line parameter name etc.
android: not used
direction:
"input" or "output", required
VST3: ParameterInfo flags - lots of implications

View File

@ -73,7 +73,7 @@ static struct {
} param_data[PARAMETERS_N] = {
{{~it.product.parameters :p:i}}
{
/* .id = */ "{{=it.cmd.parameterIds[i]}}",
/* .id = */ "{{=p.id}}",
/* .out = */ {{=p.direction == "output" ? 1 : 0}},
/* .def = */ {{=p.defaultValue.toExponential()}}f,
/* .min = */ {{=p.minimum.toExponential()}}f,

View File

@ -36,7 +36,7 @@
lv2:designation lv2:enabled ;
lv2:name "Enabled" ;
lv2:shortName "Enabled" ;
lv2:symbol "{{=p.symbol}}" ;
lv2:symbol "enabled" ;
lv2:default 1 ;
lv2:minimum 0 ;
lv2:maximum 1 ;
@ -56,7 +56,7 @@
lv2:designation lv2:latency ;
lv2:name "Latency" ;
lv2:shortName "Latency" ;
lv2:symbol "{{=p.symbol}}" ;
lv2:symbol "{{=p.id}}" ;
lv2:portProperty lv2:connectionOptional ;
lv2:portProperty lv2:integer ;
lv2:portProperty lv2:reportsLatency ;
@ -67,7 +67,7 @@
{{?"shortName" in p}}
lv2:shortName "{{=p.shortName.substring(0, 16)}}" ;
{{?}}
lv2:symbol "{{=p.symbol}}" ;
lv2:symbol "{{=p.id}}" ;
{{?p.type == "control"}}
lv2:minimum {{=p.minimum.toExponential()}} ;
lv2:maximum {{=p.maximum.toExponential()}} ;

View File

@ -89,20 +89,16 @@ module.exports = function (data, api, outputCommon, outputData) {
var b = buses[bi];
if (b.type == "audio") {
if (b.channels == "mono") {
var e = { type: "audio", direction: b.direction, name: b.name, sidechain: b.sidechain, cv: b.cv, optional: b.optional, busIndex: bi };
e.symbol = data.lv2.busSymbols[bi];
var e = { type: "audio", direction: b.direction, name: b.name, sidechain: b.sidechain, cv: b.cv, optional: b.optional, busIndex: bi, id: b.id };
audioPorts.push(e);
} else {
var e = { type: "audio", direction: b.direction, name: b.name + " Left", shortName: b.shortName + " L", sidechain: b.sidechain, cv: b.cv, busIndex: bi };
e.symbol = data.lv2.busSymbols[bi] + "_L";
var e = { type: "audio", direction: b.direction, name: b.name + " Left", shortName: b.shortName + " L", sidechain: b.sidechain, cv: b.cv, busIndex: bi, id: b.id + "_l" };
audioPorts.push(e);
var e = { type: "audio", direction: b.direction, name: b.name + " Right", shortName: b.shortName + " R", sidechain: b.sidechain, cv: b.cv, busIndex: bi };
e.symbol = data.lv2.busSymbols[bi] + "_R";
var e = { type: "audio", direction: b.direction, name: b.name + " Right", shortName: b.shortName + " R", sidechain: b.sidechain, cv: b.cv, busIndex: bi, id: b.id + "_r" };
audioPorts.push(e);
}
} else {
var e = { type: "midi", direction: b.direction, name: b.name, sidechain: b.sidechain, control: b.control, optional: b.optional, busIndex: bi };
e.symbol = data.lv2.busSymbols[bi];
var e = { type: "midi", direction: b.direction, name: b.name, sidechain: b.sidechain, control: b.control, optional: b.optional, busIndex: bi, id: b.id };
midiPorts.push(e);
}
}
@ -116,7 +112,6 @@ module.exports = function (data, api, outputCommon, outputData) {
var p = data.product.parameters[i];
var e = Object.create(p);
e.type = "control";
e.symbol = data.lv2.parameterSymbols[i];
e.paramIndex = i;
ports.push(e);
}

View File

@ -1,6 +0,0 @@
{
"cmd": {
"busIds": [ "input", "output", "midi_in" ],
"parameterIds": [ "gain", "delay", "cutoff", "bypass", "yz1" ]
}
}

View File

@ -7,8 +7,6 @@
"project": "@example:project",
"types": [ "@lv2:AmplifierPlugin" ],
"version": "1.0",
"busSymbols": [ "input", "output", "midi_in" ],
"parameterSymbols": [ "gain", "delay", "cutoff", "enabled", "yz1" ],
"ui": {
"uri": "@example:tibia_test_ui"
}

View File

@ -11,6 +11,7 @@
"channels": "mono",
"name": "Input",
"shortName": "Input",
"id": "input",
"sidechain": false,
"cv": false,
"optional": false
@ -21,6 +22,7 @@
"channels": "mono",
"name": "Output",
"shortName": "Output",
"id": "output",
"sidechain": false,
"cv": false,
"optional": false
@ -30,6 +32,7 @@
"direction": "input",
"name": "MIDI input",
"shortName": "MIDI input",
"id": "midi_in",
"sidechain": true,
"control": true,
"optional": true
@ -39,6 +42,7 @@
{
"name": "Gain",
"shortName": "Gain",
"id": "gain",
"direction": "input",
"isBypass": false,
"isLatency": false,
@ -60,6 +64,7 @@
{
"name": "Delay",
"shortName": "Delay",
"id": "delay",
"direction": "input",
"isBypass": false,
"isLatency": false,
@ -76,6 +81,7 @@
{
"name": "Cutoff",
"shortName": "Cutoff",
"id": "cutoff",
"direction": "input",
"isBypass": false,
"isLatency": false,
@ -92,6 +98,7 @@
{
"name": "Bypass",
"shortName": "Bypass",
"id": "bypass",
"direction": "input",
"isBypass": true,
"isLatency": false,
@ -112,6 +119,7 @@
{
"name": "yz1",
"shortName": "yz1",
"id": "yz1",
"direction": "output",
"isBypass": false,
"isLatency": false,

View File

@ -23,8 +23,8 @@ $dir/../tibia $dir/product.json,$dir/company.json,$dir/ios.json $dir/../template
$dir/../tibia $dir/product.json,$dir/company.json,$dir/ios.json,$dir/ios-make.json $dir/../templates/ios-make $dir/../out/ios
cp $dir/plugin.h $dir/../out/ios/src
$dir/../tibia $dir/product.json,$dir/company.json,$dir/cmd.json $dir/../templates/cmd $dir/../out/cmd
$dir/../tibia $dir/product.json,$dir/company.json,$dir/cmd.json,$dir/cmd-make.json $dir/../templates/cmd-make $dir/../out/cmd
$dir/../tibia $dir/product.json,$dir/company.json $dir/../templates/cmd $dir/../out/cmd
$dir/../tibia $dir/product.json,$dir/company.json,$dir/cmd-make.json $dir/../templates/cmd-make $dir/../out/cmd
cp $dir/plugin.h $dir/../out/cmd/src
$dir/../tibia $dir/product.json,$dir/company.json,$dir/daisy-seed.json $dir/../templates/daisy-seed $dir/../out/daisy-seed