VU Meter Returning Incorrect
-
Hey Gang,
Ive got a simple VU working with a slider. The VU does work and shows volume changes BUT it seems very low compared to the HISE master output meter.
Here is my code.
//VU METER CONTROLS const var leftMeter = Content.getComponent("VULeft"); const var rightMeter = Content.getComponent("VURight"); reg timer = Engine.createTimerObject(); timer.setTimerCallback(function() { leftMeter.setValue(Engine.getMasterPeakLevel(0)); rightMeter.setValue(Engine.getMasterPeakLevel(1)); }); timer.startTimer(30);
I cant think of any reason why the VU on my plugin would show much lower volume than VU on HISE Master.
Also, I do have this enabled in all extra definitions within the HISE project.
ENABLE_ALL_PEAK_METERS=1
Here are pics to show the master volume differnces.
HISE MASTER
PLUGIN MASTER
Any ideas or suggestions?
-
@trillbilly either your movie strip is not good or you misconfigured the slider or the mid-value
-
@yall Slider I have values set as such.
I dont see any of this creating an issue, do you?
-
Why don't you use the Peak Meter floating tile?
-
@d-healey Didnt eveen realize it was there lol. Kind of limited in design but can work for some purposes. It still seems to not quite be at the same peak as the master. Maybe because when Im not using a saved project (just kind of fidgeting with no project) it always loads my previous saved projects preferences.
For the MatrixPeakMeter, how do you use the Channel Indexes?
Also, can you lay it horizontally?
-
Kind of limited in design
You can style it with LAF.
how do you use the Channel Indexes?
If I remember correctly it's an array, [0, 1] would be channels 1/2.
-
@d-healey awesome, thank you!
Do you know if it can be used horizontally instead of vertically?
-
@trillbilly Yes you can.
-
@d-healey How do you do it? I didn't see it in the properties.
-
@trillbilly It's just the way you draw it with LAF
// Peak meter floating tile laf.registerFunction("drawMatrixPeakMeter", function(g, obj) { var a = obj.area; var value = 0; for (x in obj.peaks) value += x; value = value / obj.peaks.length; g.setColour(obj.itemColour); g.fillRoundedRectangle(a, 8); g.setColour(Colours.withAlpha(obj.itemColour2, 0.2 + value)); if (a[2] > a[3]) { a[2] *= value; } else { a[1] = a[1] + a[3] - a[3] * value; a[3] *= value; } g.fillRoundedRectangle(a, 8); });
-
@d-healey Got it, thank you. I'll be diving into LAF I guess lol