lv2 sidechain and cv

This commit is contained in:
Stefano D'Angelo 2024-01-08 16:10:31 +01:00
parent 7c467443ba
commit 520b1ff9cf
2 changed files with 7 additions and 9 deletions

View File

@ -15,7 +15,7 @@
lv2:optionalFeature lv2:hardRTCapable ; lv2:optionalFeature lv2:hardRTCapable ;
lv2:port [ lv2:port [
{{~it.tibia.lv2.ports :p:i}} {{~it.tibia.lv2.ports :p:i}}
a {{?p.type == "control"}}lv2:ControlPort{{??}}lv2:AudioPort{{?}} , a {{?p.type == "control"}}lv2:ControlPort{{??}}{{?p.cv}}lv2:CVPort{{??}}lv2:AudioPort{{?}}{{?}} ,
{{?p.direction == "input"}}lv2:InputPort{{??}}lv2:OutputPort{{?}} ; {{?p.direction == "input"}}lv2:InputPort{{??}}lv2:OutputPort{{?}} ;
lv2:name "{{=p.name}}" ; lv2:name "{{=p.name}}" ;
lv2:symbol "{{=p.symbol}}" ; lv2:symbol "{{=p.symbol}}" ;
@ -27,6 +27,9 @@
{{?}} {{?}}
{{?"maximum" in p}} {{?"maximum" in p}}
lv2:maximum {{=p.maximum.toExponential()}} ; lv2:maximum {{=p.maximum.toExponential()}} ;
{{?}}
{{?p.sidechain}}
lv2:portProperty lv2:isSideChain ;
{{?}} {{?}}
lv2:index {{=i}} lv2:index {{=i}}
{{?i < it.tibia.lv2.ports.length - 1}} {{?i < it.tibia.lv2.ports.length - 1}}

View File

@ -41,13 +41,8 @@ module.exports = function (data, api) {
for (var i = 0; i < data.product.parameters.length; i++) { for (var i = 0; i < data.product.parameters.length; i++) {
var p = data.product.parameters[i]; var p = data.product.parameters[i];
var e = { type: "control", direction: p.direction, name: p.name }; var e = Object.create(p);
if ("defaultValue" in p) e.type = "control";
e.defaultValue = p.defaultValue;
if ("minimum" in p)
e.minimum = p.minimum;
if ("maximum" in p)
e.maximum = p.maximum;
e.symbol = getSymbol(p.shortName); e.symbol = getSymbol(p.shortName);
data.tibia.lv2.ports.push(e); data.tibia.lv2.ports.push(e);
} }
@ -56,7 +51,7 @@ module.exports = function (data, api) {
for (var i = 0; i < audioBuses.length; i++) { for (var i = 0; i < audioBuses.length; i++) {
var b = audioBuses[i]; var b = audioBuses[i];
for (var j = 0; j < b.channels; j++) { for (var j = 0; j < b.channels; j++) {
var e = { type: "audio", direction: b.direction, name: b.name }; var e = { type: "audio", direction: b.direction, name: b.name, sidechain: b.sidechain, cv: b.cv };
e.symbol = getSymbol(b.name); e.symbol = getSymbol(b.name);
data.tibia.lv2.ports.push(e); data.tibia.lv2.ports.push(e);
} }