lv2 units and maker data

This commit is contained in:
Stefano D'Angelo 2024-01-09 15:57:43 +01:00
parent a0cb9dc8a0
commit 63c4cafd5e
3 changed files with 41 additions and 2 deletions

View File

@ -12,6 +12,12 @@
{{?}} {{?}}
lv2:binary <{{=it.product.bundleName}}.so> ; lv2:binary <{{=it.product.bundleName}}.so> ;
doap:name "{{=it.product.name}}" ; doap:name "{{=it.product.name}}" ;
doap:maintainer [
a foaf:Organization ;
foaf:name "{{=it.company.name}}" ;
foaf:mbox "{{=it.company.email}}" ;
rdfs:seeAlso {{=it.tibia.lv2.ttlURI(it.company.url)}}
] ;
lv2:minorVersion {{=/^([0-9]+)\./.exec(it.lv2.version)[1]}} ; lv2:minorVersion {{=/^([0-9]+)\./.exec(it.lv2.version)[1]}} ;
lv2:microVersion {{=/^[0-9]+\.([0-9]+)/.exec(it.lv2.version)[1]}} ; lv2:microVersion {{=/^[0-9]+\.([0-9]+)/.exec(it.lv2.version)[1]}} ;
lv2:optionalFeature lv2:hardRTCapable ; lv2:optionalFeature lv2:hardRTCapable ;
@ -65,6 +71,9 @@
{{?}} {{?}}
{{?p.list}} {{?p.list}}
lv2:portProperty lv2:enumeration ; lv2:portProperty lv2:enumeration ;
{{?}}
{{?p.unit && p.unit in it.tibia.lv2.units}}
units:unit {{=it.tibia.lv2.ttlURI(it.tibia.lv2.units[p.unit])}} ;
{{?}} {{?}}
lv2:index {{=i}} lv2:index {{=i}}
{{?i < it.tibia.lv2.ports.length - 1}} {{?i < it.tibia.lv2.ports.length - 1}}

View File

@ -5,9 +5,11 @@ module.exports = function (data, api) {
data.tibia.lv2 = { data.tibia.lv2 = {
prefixes: [ prefixes: [
{ id: "doap", uri: "http://usefulinc.com/ns/doap#" }, { id: "doap", uri: "http://usefulinc.com/ns/doap#" },
{ id: "foaf", uri: "http://xmlns.com/foaf/0.1/" },
{ id: "lv2", uri: "http://lv2plug.in/ns/lv2core#" }, { id: "lv2", uri: "http://lv2plug.in/ns/lv2core#" },
{ id: "rdf", uri: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" }, { id: "rdf", uri: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" },
{ id: "rdfs", uri: "http://www.w3.org/2000/01/rdf-schema#" } { id: "rdfs", uri: "http://www.w3.org/2000/01/rdf-schema#" },
{ id: "units", uri: "http://lv2plug.in/ns/extensions/units#" }
], ],
ports: [], ports: [],
@ -48,6 +50,33 @@ module.exports = function (data, api) {
data.tibia.lv2.ports.sort((a, b) => a.type != b.type ? (a.type == "audio" ? -1 : 1) : (a.direction != b.direction ? (a.direction == "input" ? -1 : 1) : 0)); data.tibia.lv2.ports.sort((a, b) => a.type != b.type ? (a.type == "audio" ? -1 : 1) : (a.direction != b.direction ? (a.direction == "input" ? -1 : 1) : 0));
data.tibia.lv2.units = {
"bar": "@units:bar",
"beat": "@units:beat",
"bpm": "@units:bpm",
"cent": "@units:cent",
"cm": "@units:cm",
"coef": "@units:coef",
"db": "@units:db",
"degree": "@units:degree",
"frame": "@units:frame",
"hz": "@units:hz",
"inch": "@units:inch",
"khz": "@units:khz",
"km": "@units:km",
"m": "@units:m",
"mhz": "@units:mhz",
"midiNote": "@units:midiNote",
"mile": "@units:mile",
"min": "@units:min",
"mm": "@units:mm",
"ms": "@units:ms",
"oct": "@units:oct",
"pc": "@units:pc",
"s": "@units:s",
"semitone12TET": "@units:semitone12TET"
};
api.generateFileFromTemplateFile(`data${sep}manifest.ttl`, `data${sep}manifest.ttl`, data); api.generateFileFromTemplateFile(`data${sep}manifest.ttl`, `data${sep}manifest.ttl`, data);
api.copyFile(`src${sep}lv2.c`, `src${sep}lv2.c`); api.copyFile(`src${sep}lv2.c`, `src${sep}lv2.c`);
api.generateFileFromTemplateFile(`src${sep}data.h`, `src${sep}data.h`, data); api.generateFileFromTemplateFile(`src${sep}data.h`, `src${sep}data.h`, data);

View File

@ -46,7 +46,8 @@
"Max": 12.0, "Max": 12.0,
"Min": -60.0 "Min": -60.0
}, },
"list": false "list": false,
"unit": "db"
}, },
{ {
"name": "Bypass", "name": "Bypass",