fix vst3 stepCount + fix and improve web-{make,demo} + disable ajv
This commit is contained in:
parent
875745e9ac
commit
5629b9d0b6
@ -121,7 +121,7 @@ static struct Steinberg_Vst_ParameterInfo parameterInfo[DATA_PRODUCT_PARAMETERS_
|
|||||||
/* .title = */ { {{~Array.from(p.name) :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
/* .title = */ { {{~Array.from(p.name) :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
||||||
/* .shortTitle = */ { {{~Array.from(p.shortName) :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
/* .shortTitle = */ { {{~Array.from(p.shortName) :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
||||||
/* .units = */ { {{~Array.from(p.unit in it.tibia.vst3.units ? it.tibia.vst3.units[p.unit] : "") :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
/* .units = */ { {{~Array.from(p.unit in it.tibia.vst3.units ? it.tibia.vst3.units[p.unit] : "") :c}}0x{{=c.charCodeAt(0).toString(16)}}, {{~}}0 },
|
||||||
/* .stepCount = */ {{?p.toggled}}1{{??p.list && p.scalePoints.length > 1}}Number(1 / (p.scalePoints.length - 1)).toExponential(){{??p.integer}}Number(p.maximum - p.minimum).toExponential(){{??}}0{{?}},
|
/* .stepCount = */ {{=p.toggled ? 1 : (p.list && p.scalePoints.length > 1 ? p.scalePoints.length - 1 : (p.integer ? p.maximum - p.minimum : 0))}},
|
||||||
/* .defaultNormalizedValue = */ {{?p.map == "logarithmic"}}{{=Number(Math.log(p.defaultValue / p.minimum) / (2 * Math.log(Math.sqrt(p.minimum * p.maximum) / Math.abs(p.minimum)))).toExponential()}}{{??}}{{=Number((p.defaultValue - p.minimum) / (p.maximum - p.minimum)).toExponential()}}{{?}},
|
/* .defaultNormalizedValue = */ {{?p.map == "logarithmic"}}{{=Number(Math.log(p.defaultValue / p.minimum) / (2 * Math.log(Math.sqrt(p.minimum * p.maximum) / Math.abs(p.minimum)))).toExponential()}}{{??}}{{=Number((p.defaultValue - p.minimum) / (p.maximum - p.minimum)).toExponential()}}{{?}},
|
||||||
/* .unitId = */ 0,
|
/* .unitId = */ 0,
|
||||||
/* .flags = */ {{?p.direction == "input"}}Steinberg_Vst_ParameterInfo_ParameterFlags_kCanAutomate{{??}}Steinberg_Vst_ParameterInfo_ParameterFlags_kIsReadOnly{{?}}
|
/* .flags = */ {{?p.direction == "input"}}Steinberg_Vst_ParameterInfo_ParameterFlags_kCanAutomate{{??}}Steinberg_Vst_ParameterInfo_ParameterFlags_kIsReadOnly{{?}}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
ALL += build/index.html build/cert.pem build/key.pem
|
ALL += build/web/index.html build/web/cert.pem build/web/key.pem
|
||||||
|
|
||||||
build/index.html: ${DATA_DIR}/src/index.html | build
|
build/web/index.html: ${DATA_DIR}/src/index.html | build
|
||||||
cp $^ $@
|
cp $^ $@
|
||||||
|
|
||||||
build/key.pem: build/cert.pem
|
build/web/key.pem: build/web/cert.pem
|
||||||
|
|
||||||
build/cert.pem: | build
|
build/web/cert.pem: | build
|
||||||
yes "" | openssl req -x509 -newkey rsa:2048 -keyout build/key.pem -out build/cert.pem -days 365 -nodes 2>/dev/null
|
yes "" | openssl req -x509 -newkey rsa:2048 -keyout build/web/key.pem -out build/web/cert.pem -days 365 -nodes 2>/dev/null
|
||||||
|
@ -90,6 +90,16 @@ var units = {
|
|||||||
"semitone12TET": "semi"
|
"semitone12TET": "semi"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function displayValue(elem, index, value) {
|
||||||
|
var param = demo.Module.data.product.parameters[index];
|
||||||
|
var unit = param.unit;
|
||||||
|
if (param.integer)
|
||||||
|
value = Math.round(value);
|
||||||
|
else
|
||||||
|
value = (0.01 * Math.round(100 * value)).toFixed(2);
|
||||||
|
elem.innerText = value + (unit in units ? " " + units[unit] : "");
|
||||||
|
}
|
||||||
|
|
||||||
var initState = 0; // 0 = not inited, 1 = in progress, 2 = inited
|
var initState = 0; // 0 = not inited, 1 = in progress, 2 = inited
|
||||||
|
|
||||||
window.addEventListener("load", function (e) {
|
window.addEventListener("load", function (e) {
|
||||||
@ -124,8 +134,7 @@ window.addEventListener("load", function (e) {
|
|||||||
|
|
||||||
var value = document.createElement("span");
|
var value = document.createElement("span");
|
||||||
value.setAttribute("id", "v" + i);
|
value.setAttribute("id", "v" + i);
|
||||||
var u = parameters[i].unit;
|
displayValue(value, i, parameters[i].defaultValue);
|
||||||
value.innerText = parameters[i].defaultValue + (u in units ? " " + units[u] : "");
|
|
||||||
|
|
||||||
var range = document.createElement("input");
|
var range = document.createElement("input");
|
||||||
range.setAttribute("type", "range");
|
range.setAttribute("type", "range");
|
||||||
@ -135,12 +144,21 @@ window.addEventListener("load", function (e) {
|
|||||||
range.setAttribute("min", 0);
|
range.setAttribute("min", 0);
|
||||||
range.setAttribute("max", 1);
|
range.setAttribute("max", 1);
|
||||||
range.setAttribute("step", 1);
|
range.setAttribute("step", 1);
|
||||||
|
range.setAttribute("data-mapped", "false");
|
||||||
|
range.value = unmap(i, parameters[i].defaultValue);
|
||||||
|
} else if (parameters[i].integer) {
|
||||||
|
range.setAttribute("min", parameters[i].minimum);
|
||||||
|
range.setAttribute("max", parameters[i].maximum);
|
||||||
|
range.setAttribute("step", 1);
|
||||||
|
range.setAttribute("data-mapped", "true");
|
||||||
|
range.value = parameters[i].defaultValue;
|
||||||
} else {
|
} else {
|
||||||
range.setAttribute("min", 0);
|
range.setAttribute("min", 0);
|
||||||
range.setAttribute("max", 1);
|
range.setAttribute("max", 1);
|
||||||
range.setAttribute("step", parameters[i].integer ? 1 / (parameters[i].maximum - parameters[i].minimum) : "any");
|
range.setAttribute("step", "any");
|
||||||
|
range.setAttribute("data-mapped", "false");
|
||||||
|
range.value = unmap(i, parameters[i].defaultValue);
|
||||||
}
|
}
|
||||||
range.value = unmap(i, parameters[i].defaultValue);
|
|
||||||
if (parameters[i].direction == "output")
|
if (parameters[i].direction == "output")
|
||||||
range.setAttribute("readonly", "true");
|
range.setAttribute("readonly", "true");
|
||||||
else {
|
else {
|
||||||
@ -148,10 +166,10 @@ window.addEventListener("load", function (e) {
|
|||||||
let v = value;
|
let v = value;
|
||||||
range.addEventListener("input", function (e) {
|
range.addEventListener("input", function (e) {
|
||||||
var p = node.parameters.get(parameters[index].name);
|
var p = node.parameters.get(parameters[index].name);
|
||||||
var val = map(index, e.target.value);
|
var m = e.target.getAttribute("data-mapped") == "true";
|
||||||
|
var val = m ? e.target.value : map(index, e.target.value);
|
||||||
p.setValueAtTime(val, 0);
|
p.setValueAtTime(val, 0);
|
||||||
var u = parameters[index].unit;
|
displayValue(v, index, val);
|
||||||
v.innerText = val + (u in units ? " " + units[u] : "");
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,9 +206,13 @@ window.addEventListener("load", function (e) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
node.port.onmessage = function (e) {
|
node.port.onmessage = function (e) {
|
||||||
if (e.data.type == "paramOutChange")
|
if (e.data.type == "paramOutChange") {
|
||||||
document.getElementById("p" + e.data.index).value = unmap(e.data.index, e.data.value);
|
var r = document.getElementById("p" + e.data.index);
|
||||||
document.getElementById("v" + e.data.index).innerText = e.data.value;
|
var v = document.getElementById("v" + e.data.index);
|
||||||
|
displayValue(v, e.data.index, e.data.value);
|
||||||
|
var m = r.getAttribute("data-mapped") == "true";
|
||||||
|
r.value = m ? e.data.value : unmap(e.data.index, e.data.value);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (midi) {
|
if (midi) {
|
||||||
|
@ -44,7 +44,7 @@ CXX_SRCS = ${COMMON_DIR}/src/new.cpp ${CXX_SRCS_EXTRA}
|
|||||||
CXX_OBJS = $(addprefix build/obj/, $(notdir $(CXX_SRCS:.cpp=.o)))
|
CXX_OBJS = $(addprefix build/obj/, $(notdir $(CXX_SRCS:.cpp=.o)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ALL = build/${BUNDLE_NAME}.wasm build/${BUNDLE_NAME}_processor.js build/${BUNDLE_NAME}.js
|
ALL = build/web/${BUNDLE_NAME}.wasm build/web/${BUNDLE_NAME}_processor.js build/web/${BUNDLE_NAME}.js
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
@ -53,20 +53,20 @@ default: all
|
|||||||
all: ${ALL}
|
all: ${ALL}
|
||||||
|
|
||||||
ifeq ($(CXX_OBJS),)
|
ifeq ($(CXX_OBJS),)
|
||||||
build/${BUNDLE_NAME}.wasm: ${C_OBJS} | build
|
build/web/${BUNDLE_NAME}.wasm: ${C_OBJS} | build/web
|
||||||
${CC} $^ -o $@ ${CFLAGS_ALL} ${LDFLAGS_ALL}
|
${CC} $^ -o $@ ${CFLAGS_ALL} ${LDFLAGS_ALL}
|
||||||
else
|
else
|
||||||
build/${BUNDLE_NAME}.wasm: ${C_OBJS} ${CXX_OBJS} | build
|
build/web/${BUNDLE_NAME}.wasm: ${C_OBJS} ${CXX_OBJS} | build/web
|
||||||
${CXX} $^ -o $@ ${CFLAGS_ALL} ${CXXFLAGS_ALL} ${LDFLAGS_ALL}
|
${CXX} $^ -o $@ ${CFLAGS_ALL} ${CXXFLAGS_ALL} ${LDFLAGS_ALL}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
build/${BUNDLE_NAME}_processor.js: ${DATA_DIR}/src/processor.js | build
|
build/web/${BUNDLE_NAME}_processor.js: ${DATA_DIR}/src/processor.js | build/web
|
||||||
cp $^ $@
|
cp $^ $@
|
||||||
|
|
||||||
build/${BUNDLE_NAME}.js: ${DATA_DIR}/src/module.js | build
|
build/web/${BUNDLE_NAME}.js: ${DATA_DIR}/src/module.js | build/web
|
||||||
cp $^ $@
|
cp $^ $@
|
||||||
|
|
||||||
build build/obj:
|
build/web build/obj:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
4
tibia
4
tibia
@ -38,6 +38,7 @@ if (process.argv[2] == "--common") {
|
|||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
var path = require("path");
|
var path = require("path");
|
||||||
|
|
||||||
|
/*
|
||||||
var ajvValidate;
|
var ajvValidate;
|
||||||
if (outputData) {
|
if (outputData) {
|
||||||
var schema = JSON.parse(fs.readFileSync(__dirname + path.sep + "schema.json", { encoding: "utf-8" }));
|
var schema = JSON.parse(fs.readFileSync(__dirname + path.sep + "schema.json", { encoding: "utf-8" }));
|
||||||
@ -45,6 +46,7 @@ if (outputData) {
|
|||||||
var ajv = new Ajv();
|
var ajv = new Ajv();
|
||||||
ajvValidate = ajv.compile(schema);
|
ajvValidate = ajv.compile(schema);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var data = {};
|
var data = {};
|
||||||
for (var i = 0; i < jsonFiles.length; i++) {
|
for (var i = 0; i < jsonFiles.length; i++) {
|
||||||
@ -53,6 +55,7 @@ for (var i = 0; i < jsonFiles.length; i++) {
|
|||||||
data[k] = d[k];
|
data[k] = d[k];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (outputData) {
|
if (outputData) {
|
||||||
var ajvValid = ajvValidate(data);
|
var ajvValid = ajvValidate(data);
|
||||||
if (!ajvValid) {
|
if (!ajvValid) {
|
||||||
@ -60,6 +63,7 @@ if (outputData) {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var doT = require("dot");
|
var doT = require("dot");
|
||||||
doT.templateSettings.strip = false;
|
doT.templateSettings.strip = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user