Vu Meter not working on limiter
-
can anyone tells me what I'm doing wrong ? is giving me this error
"Interface:! Line 25, column 31: API call with undefined parameter 0"
here is the code if you need to see for yourself
HiseSnippet 2891.3oc6a0DababElTRTQR1xwwvM0AsvfQnMcMfir1UxJxvHPz5m0VwRVazJY2fhTYtjytKs4xglbnjVq5VCTTffdpWys.zC8bukbSn4ZNDfBTziFoM.8TguTfdy8Mb3OC4xUKWmXWYCuGDDGNuY9deyadu271Yq3f0PttXGAwQ2rsMRP73RUaaQZtXSUCKgUVRP7XRqZzxffbJ+yEVnsspqKRWPTbvqR6f3nCI3+4wyufpopkFJtIAgahMzP9RG2ZEkqaXZVVUGsoQKtdOixJZXqEwlXO.LCJMkfsp1cUaftgJsaCHIHN7x5FDrSUhJA4JHNzBX81Uah20h0+aZ3ZTyDQennPUXfXMWFapSQL8+EVrogodkPk1UPPTpRLELHiBNszZF5FQsGSEmz+ExwRvyGhCbXvqHO7lJS3ULK3IxAugXv6Mjpp4XXSheCaYZEKXQptJrDvCKVeEF3+NjzhXnGVjIaodWTYG3gHIJL2Lydd4KN0Tm6xiO13iYXoY5oiJLwM8VCAcYx63NA6MvRjKQdGUG4Urr8H9uU98kC6mlCBT9fmJLQbel37xybwoNu7z9yPb6S5hHElnIxnQSBzmhECPP3.BudMrtmIpPrLmW12BcxFHxx0qizHASzDmKMFW2izaPx0I.AuWLJ4dQ9gImPYfyfcRgHc7wtvEjkoajj2.o6oQLvVxxW3B75vRssTaYn4BJP2GtT5c7f89xgK5fXKhaYisfGJLQTOlHDIwRS.oV1pggEJfpnaTcVu1cnyIs6Dp9523hpll0fsoEp6Y4ObEN23is+3iMJcb1AFmPzSm9qPHNF07HnBQsFn.QngN5iREOFBffKgzLpgLcKicnbUYUMXaVgcB6bjzTXcSUSOD6cOfoZ.ZIpNL7VX5zV3a4hbp3f.IukgNLWtw159qN+hK7AUW+FxqpB.3ikqicjY81MImsk8BdDhOg24HxXQVartAyaf.f0To4tD7mRveHNdH5bys5CtO5yQNVDXruT3PWW0zEk1NgI3RFt1lps64DDzuBSj3Q51gRknyxrm6xglAxXqafIn0A6gw1erQG6Aik9M0qm0qnFqNXSSXkJi2xVB6tXEr7ZUituaGpQPX+.+lIcLK0cGy7wMzXab35H1ZEKCx51Hqt4tVHX2F339TAfB5Jw2s8IBbaW0zPG4HXny7YCdK7ij5iY9fmB4X.NtDyeSNGgwCFAeqY+A30XHHT1vGygjiDL0ghF8rPtT7MaBFQMgXeIf8A+mB+y4yy.LrTGprxzS+OxkriJsAxDo5hRK9WlKwGQBbjA97Ry2OZ9bvZCKsIZuHNimFx0hEU3hwLd.PxsnkhvbDEjaYmNT1SHsFj+v6tksefqtuby7AEXldcKDp5tFDslOUloC6O.wzVUbchreS4Y5kjtVkxom2GOetU8KFy3K5Qv0qmKa7wgN6Q.GcW2BWK8rOiR91lDEaKCZaqUVRknRyQLvqC3IxF4PLnN4DWBsCj7MKiwQkVB4dWB1VP7MiRB.ztjp8JsfrsCLw8++hB6wOgs4eXWCcRynFr+8JrjihZQ42nT2vLH48yJsekMV+CVdwM2t75qtzxa7ff.+kl7N1MnrYDlFIIlpnZErTLlTXHSJpjDeaQeDII9sbnY3SG.uHzD0BAiMIF.C7CkVEqpKaAKrxdP.OYa+vYBPpL3cCSnwklr+hlFv+I+NxWCuCrhjKXdbo33uLfpI7TBzeDCn.71w.649L.rutThP4L7d+P79M738O1Adeqz3cBFFjIXYvk1txjlnfLLjq4f2EPe+A6i0cNN9v.LL+WBMFNKOleqNvrUPK0ZDdPSf2O8oeBsMvdrUbq+4m7GR0ZI9NS.qm3Nu0Va42J1V8d9aRGVL12Vu0mwk3N0.Sg92C7BfB854JwlXeHxsUZy6BrkgttIpB10v2CWzaJcPK9RK7QGzRkyQTApikVtvYIrYdrDe6NbuvfRghvAZmz1pg.jXXUp.tbipRRWXBkS6B612VwUS0DwNuQPy2td8+17Tya+CZTAa6YSCSr.BLrErCSEbEtTqrUc.mfvJ6Jw4sjOVLQ1cwLvs+jivz3CudZZ7ga+chFixqrW73H8JG2Xk+q2imAOiRcH9IKRELa60tAjfOsopF2mKhaozFL2NslJLqhP2CulQpybH528TgnCG.mHW4eGChGtFGHjc5v.oyv3zTaJL6Lc05nRu4LXSlW85F6QOR0OUna1xOZ9DFEiFVSxjVEGOPs70qtYcoipq5YxJTPpicji8jAFdwj1e+29+ER66FQEYA1Gjj+4qZg0gmeSoafcZoZBVi5UPNZ.mQ0U9ERd17j43nXwD5Ie.+VAxgnogymjjbKWg9j3YZBbdLZUnybUHserakgeL3y+Z9jKWGbKk7rDDq582ZvWNe9n1nSGFyrJ264OylgR3OCeex3OLeLdDizMBmmXOdONA+d7Q7hY0J2Oettm0uaUIsMCNMdCOSUmTmp5fs6Xi+kU3xzSpzklcpYm6hBHcChZz2s.MUtNpsPuUrvpKvkulMmlo3bTQy3q6QdUqR7p0u5HoZknlL4UultaQhN5XH1Y8hRehndUwnXU7yeHuGrZ4HEV1XdUGDxx24TZWLKqjgmnyjJB7izyJE1O+reatB1FT7JZYZRmfQWqzEm6kk3U4Ix2p5kxdUEfEL67VW7zbesleLo4lo3bkJNSWc+DWit9fjxm0Aqfdb6n833nGuexnArNmJ16xVT.qKz+FPYFQJy3YoshN3W1Q.NEkDVEi2q5PtG+hAmYwH48.C4XytxVcrveo9v2bPER6vTisLvu9dpbV5TtSIsOum68yYt1yNy1k5dt1cY8LUJ3cbpVnkzoQLrzpn5DgDG5FNcN2gt+j+phKAYmbQ4w7Yacs62si.Y+mTxNWpY5o49wjJ6ftmGxRqctqeSbgmig+A+ZdatY6f9+YcP+24t63UCPqCxGLkp4uNjja+Lqzb6AebVNkgy73mXIsX19eevBGV4MDDRwze1m9oeAOSqufP2KbRmFEG7UeEbDwNuLFmTx+K9Wkj7dhPC0E7B5PyegLnW5BKXJayaB7L4xijW39FRUnA.xFuCjAdEDdli2fqhy3Rr65PLXGRJ08PpOfRebsfFpRG2LpSAbmE1tI1xPqrgIMDFEPrMbc+lQIHDu6iaS6Gxu7uFyxN34erxFHKXq3G5AGwlm2sUVvvFCtry0Zxf4iHxP4GL2FNTUS9EHCc+6ZyKL38TRAq2xg77Q..+ZQ2SPiV1lnqFB1vxrdX6DVBQ+Zl3Z3VICy9QJYbKBEG76K65gdo0NwmXeQBv9K7u3.3SJUQ8nfAwFXOhgUi0Tgjin4wbCHOIHsbMD.UKKjI85MIN.8qoi87Tzmo.pJDQw+gm.eBdYQ5yhAurX3K4ojQBu+.gmYixEwOwSBrpMwWP8fRLyU83vBbvkmcPob3JuI6vxOC19+7l75lixnhu+JOkuxS4q7T9xgmxSvnjiAa1sP9WTae13G3+r7sT2AIeUjExgRVGxF+uNu+LJry8Oih00HvruoipkqM1Mw.WE0xXSrExkuwsbQzrM2ft5w29hXUmLe0imuLniYJSUUhmiuYvUZg8rHGlypbdtsjmrlq+8vK1QueaGO+plvf4Ct83mexngXjEOaYqcPlXnEVbfkXEmJpUdPFetYdCfMPvVyFMPN7POS8IQRBvmSqzQlD+DkUAiPUmjmjtunhh4mJNrkqyD70SIS2XJ+xQQfF7knh.cDKFxyi4nkplCdaM1ENlZKOheKfda4+UFLpzZzmkitZ4TtoE3NbaMMJY+t.6jsDk5aIltukXl9VhK12RLaeKw602RL2gHAM1yU7H3VrsdPCUV1+1cKJF9UUAV4B+OLGC37I
-
@jay Can't test your snippet, you're using an external file called VuMeter.js.
-
@d-healey I don't know how to send it as an attachment so here are it is as text:
============== VuMeter.js ====================
namespace VuMeter
{
/** Creates a peak meter.
*
* Usage: Give it a reference to a module (either synth or effect).
*
* It looks best using a width and height with multiple of 4.
* Customize the colours using the scriptPanel colour Ids
*/
inline function createVuMeter(name, x, y)
{
local widget = Content.addPanel(name, x, y);Content.setPropertiesFromJSON(name, { "width": 32, "height": 100, "itemColour": 0xFF90FFB1, "itemColour2": 4279505940, "bgColour": 4279505940, "textColour": 4283782485, "saveInPreset": false, "opaque": 1 }); widget.setPaintRoutine(function(g) { g.fillAll(this.get("bgColour")); g.setColour(this.get("itemColour")); var lsize = parseInt(this.data.lvalue * (this.getHeight()-4)); var rsize = parseInt(this.data.rvalue * (this.getHeight()-4)); g.fillRect([2, this.getHeight() - lsize - 2, (this.getWidth()-4)/2-1, lsize]); g.fillRect([2 + this.getWidth() / 2 - 1, this.getHeight() - rsize - 2, (this.getWidth()-4)/2-1, rsize]); g.setColour(this.get("itemColour2")); for(i = 1; i < this.getHeight()-1; i = i + 3) { g.fillRect([1, i, this.getWidth()-2, 1]); } }); widget.setTimerCallback(function() { var lvalue; var rvalue; if(this.data.fx) { lvalue = getNormalizedPeakValue(this.data.fx.getCurrentLevel(0)); rvalue = getNormalizedPeakValue(this.data.fx.getCurrentLevel(1)); } else { lvalue = getNormalizedPeakValue(Engine.getMasterPeakLevel(0)); rvalue = getNormalizedPeakValue(Engine.getMasterPeakLevel(1)); } this.data.lvalue = Math.max(lvalue, this.data.lvalue - 0.04); this.data.rvalue = Math.max(rvalue, this.data.rvalue - 0.04); this.repaintImmediately(); }); widget.startTimer(30); return widget; }; inline function setModule(vuMeter, module) { vuMeter.data.fx = module; } inline function getNormalizedPeakValue(gain) { return 0.01 * (100.0 + Engine.getDecibelsForGainFactor(gain)); }
}