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 },
|
||||
/* .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 },
|
||||
/* .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()}}{{?}},
|
||||
/* .unitId = */ 0,
|
||||
/* .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 $^ $@
|
||||
|
||||
build/key.pem: build/cert.pem
|
||||
build/web/key.pem: build/web/cert.pem
|
||||
|
||||
build/cert.pem: | build
|
||||
yes "" | openssl req -x509 -newkey rsa:2048 -keyout build/key.pem -out build/cert.pem -days 365 -nodes 2>/dev/null
|
||||
build/web/cert.pem: | build
|
||||
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"
|
||||
};
|
||||
|
||||
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
|
||||
|
||||
window.addEventListener("load", function (e) {
|
||||
@ -124,8 +134,7 @@ window.addEventListener("load", function (e) {
|
||||
|
||||
var value = document.createElement("span");
|
||||
value.setAttribute("id", "v" + i);
|
||||
var u = parameters[i].unit;
|
||||
value.innerText = parameters[i].defaultValue + (u in units ? " " + units[u] : "");
|
||||
displayValue(value, i, parameters[i].defaultValue);
|
||||
|
||||
var range = document.createElement("input");
|
||||
range.setAttribute("type", "range");
|
||||
@ -135,12 +144,21 @@ window.addEventListener("load", function (e) {
|
||||
range.setAttribute("min", 0);
|
||||
range.setAttribute("max", 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 {
|
||||
range.setAttribute("min", 0);
|
||||
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")
|
||||
range.setAttribute("readonly", "true");
|
||||
else {
|
||||
@ -148,10 +166,10 @@ window.addEventListener("load", function (e) {
|
||||
let v = value;
|
||||
range.addEventListener("input", function (e) {
|
||||
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);
|
||||
var u = parameters[index].unit;
|
||||
v.innerText = val + (u in units ? " " + units[u] : "");
|
||||
displayValue(v, index, val);
|
||||
});
|
||||
}
|
||||
|
||||
@ -188,9 +206,13 @@ window.addEventListener("load", function (e) {
|
||||
});
|
||||
|
||||
node.port.onmessage = function (e) {
|
||||
if (e.data.type == "paramOutChange")
|
||||
document.getElementById("p" + e.data.index).value = unmap(e.data.index, e.data.value);
|
||||
document.getElementById("v" + e.data.index).innerText = e.data.value;
|
||||
if (e.data.type == "paramOutChange") {
|
||||
var r = document.getElementById("p" + e.data.index);
|
||||
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) {
|
||||
|
@ -44,7 +44,7 @@ CXX_SRCS = ${COMMON_DIR}/src/new.cpp ${CXX_SRCS_EXTRA}
|
||||
CXX_OBJS = $(addprefix build/obj/, $(notdir $(CXX_SRCS:.cpp=.o)))
|
||||
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
|
||||
|
||||
@ -53,20 +53,20 @@ default: all
|
||||
all: ${ALL}
|
||||
|
||||
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}
|
||||
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}
|
||||
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 $^ $@
|
||||
|
||||
build/${BUNDLE_NAME}.js: ${DATA_DIR}/src/module.js | build
|
||||
build/web/${BUNDLE_NAME}.js: ${DATA_DIR}/src/module.js | build/web
|
||||
cp $^ $@
|
||||
|
||||
build build/obj:
|
||||
build/web build/obj:
|
||||
mkdir -p $@
|
||||
|
||||
clean:
|
||||
|
4
tibia
4
tibia
@ -38,6 +38,7 @@ if (process.argv[2] == "--common") {
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
/*
|
||||
var ajvValidate;
|
||||
if (outputData) {
|
||||
var schema = JSON.parse(fs.readFileSync(__dirname + path.sep + "schema.json", { encoding: "utf-8" }));
|
||||
@ -45,6 +46,7 @@ if (outputData) {
|
||||
var ajv = new Ajv();
|
||||
ajvValidate = ajv.compile(schema);
|
||||
}
|
||||
*/
|
||||
|
||||
var data = {};
|
||||
for (var i = 0; i < jsonFiles.length; i++) {
|
||||
@ -53,6 +55,7 @@ for (var i = 0; i < jsonFiles.length; i++) {
|
||||
data[k] = d[k];
|
||||
}
|
||||
|
||||
/*
|
||||
if (outputData) {
|
||||
var ajvValid = ajvValidate(data);
|
||||
if (!ajvValid) {
|
||||
@ -60,6 +63,7 @@ if (outputData) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
var doT = require("dot");
|
||||
doT.templateSettings.strip = false;
|
||||
|
Loading…
Reference in New Issue
Block a user