I would like to create a HTML meter to display the reduction made by the compressor node.
I used this code but it does not change the metter
compressor = context.createDynamicsCompressor();
compressor.threshold = -50;
compressor.ratio = 12;
compressor.attack = 0.003;
compressor.reduction.onchange = function () {
var gainReduction = pluginSlot1.reduction;
document.getElementById("meter").value = gainReduction.value;
};
This is connected to this HTML
< meter id="meter" min="0" max="100">
What do I need to do in order for it to work?
Here's a quick and dirty jsbin example: http://jsbin.com/ahocUt/1/edit
Unless there's something I'm missing in the spec, the reduction param doesn't fire any events. You just need to read it on-demand. In my example, that's just happening with a requestAnimationFrame loop.
The other thing you're missing is that you need to set the params with compressor.threshold.value, because compressor.threshold is actually an object.
Hope that helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With