vuuuu meter.... vu meter? vu meter master?
-
@yall Post your two film strips and I'll try to upload a snippet. This should be fairly straightforward, so I'm confused as to where you're getting stuck. The VuMeter can be any size you want and you can absolutely separate the right and left with 2 different film strips.
-
@Lunacy-Audio it's this code
maybe you will manage to integrate a strip film for the right and one for the left. but me impossible .thank you for your helpContent.makeFrontInterface(600, 500);
/** Creates a VU-Meter from a filmstrip for the master volume. /
/* Creates a VU-Meter from a filmstrip for the master volume. */
inline function createFilmStripVuMeter(name, x, y, isLeft)
{
local widget = Content.addPanel(name, x, y);Content.setPropertiesFromJSON(name, { "width": 130, // this uses the exact dimensions of one filmstrip "height": 65, "opaque": true // opaque is important in order to increase the drawing performance }); // Put the image in your image folder widget.loadImage("{PROJECT_FOLDER}vu_meter_128_frames.png", "filmstrip"); widget.data.value = 0.0; widget.data.isLeft = isLeft; // Set the initial image widget.setImage("filmstrip", 0, 0); widget.setTimerCallback(function() { // Get the peak value from the master output var newValue = Engine.getMasterPeakLevel(this.data.isLeft ? 0 : 1); if(newValue > this.data.value) this.data.value = newValue; else // Just decay the current value (0.92 controls the decay time) this.data.value = this.data.value * 0.92; // Calculate the filmstrip index // this must be an integer value // 84 is used instead of 128 because 84 is ~0dB which is // more accurate for this example filmstrip var index = parseInt(this.data.value * 84.0); // If you just want to paint one image, // you don't need the paint routine, but // just use this method // the yOffset is index * heightOfFilmstrip this.setImage("filmstrip", 0, index * 65); }); widget.startTimer(30); return widget;
};
const var VuMeterLeft = createFilmStripVuMeter("VuMeterLeft", 11, 10, false);
const var VuMeterRight = createFilmStripVuMeter("VuMeterRight", 160, 10, true); -
All you need to do is this:
-
Make two sliders and assign the film strips to them in the HISE interface
-
Create an Engine timer which updates each slider's value according to the left and right output
It works in this basic example below.
HiseSnippet 1342.3oc4X0saaTDEd1jLUwNMnVTQhKWUUgbjJA6ze.TEpaqiSkg3Zq3PZ6EnxjcO1dHyNypcGmVqp9RvMbKOJbMOEk2.dCfyr+3cbqIw0TPUfuxy4mY9N+er6Eq7gjDULwoxgSh.hyEo8mH0iZNhwkj16RbVm1KFR.M49ShXIIP.wwY0GX35TYMR5me+t2mIXRenjDgbjh6C6yC45Rp879FtPrGK.NjGZI8M8Z6qjMUB0XDIqRqShX9mvFBOjYDaEJw4BsB3ZUbeMSCIDm0tuJXR+QpmIyj+HdB+XAXNzfzGunLx6oDAFDa9No4HtHnWgEmPHNzdk1+pY1+Unc3A7ozK8CWJkgaoF19CmUNK30XIgmiE7VKCdWl12OlGoK4Xv1Fz1RMDOfgg.aXkIKYkKsBsoBkPp2NjcBrWLdXpF0tU85W28l0qu0c1r5lUw.Qh18TVrq.Fn6.nTtekag5CAcSUXjRhGpc08Kj3pFcK0LlObz4n5ASE4pYuaLLzUiYEFUZIGxkv19w.5NMoJwcO9G.ecMinoBsMlQlxnISHNFSVpMXrzWyUxZaU8EUqLE6FAOhIFC0xuTDFcXIHmd.6j8gSAQs5as0cprY0JkvdQzpgQqpuz.opEfRyhyfUsaftypEXxUIenRCcyAW0WV080YMXvb4YbdwJg.uw4wN6sNCEqIGGdLDecLrfVyTAw7oYSX2XwRX8yhkVBpjskbc2HH+bYJsgWlUWvsNYpwZSpzFsolE1eSwJI8lULj7bMr1YsbwQQ0oUNePdkSeAO.hI7.SqsiThwXGlTmSd6ne9A+1udWxBnMk1iImQ0rOKfpaPmV4rbWvEok0Oy4F9116xzLSGjbGB5jhfXM2Dpc1ENEaMm0OoBcWH4DsJJ0ikWchcaOee1yQOfy24PHSLe4P7UiJhDsQ49H5iXmBCTwgtO.jPLCS1Zfs0iwN5HnMhbAZ5XDh06V4b71OepY9pwdSJO78dg1CjdxuDxCBDPOUB2TOX6bd6QI9v6PBYO2598VLPaGmKU26wVP26IdI5IlJspziLgHelfLfKBSz3k0NDGBRbtF8E8Nn6W2p4gOcut6uaqCdYJZ49eV1iscjbH4Y7.8nRL1zaDXxQJeoi8vlA8MWqYBE8Ku8Lt90Wrjszv9OQxC6A3Wd2Bepymf2YAzoN+X5dCuwbPbZrJXrvDurGQaRnxYXB61yBMy6jX5vD68VdKlaWetysaLutPKHbuLsGW6OZ93ck4fWrf9eZ7luEzlzVCFfCbKA6Zz8d7xtxyxAkqjAkMRKQSWJMEHyuj8uX4zzl4K3xoQK7xoc80HDNLlIShTIPC6a903siMucA8X4rhmQZFoLl2dn4YI25dED2wlH1XZlKKsQk04NbqdVu5tsjLLfzGPqInahOZrFemc4PuwhD3QlBwF1JVRdGaxNqtTK8NaMpk7umrf969B8+98kVcwf647aHpTfw97vHAzRhqwh6EjhwODWDX.arPWPc1ZpNJoJZjRx8sSvN.vt7CGByjDMWC5dZMtjdIkq3c.H.VhUc1071G2zlEi9IXI8EMVbewYEu9XZFbcMMBb+uw7jU+e+7jytBE6U9dPj9.0XMWNrCCqqLaZ8PbgMbriOfPUJAQhYknULa2kctt4rAP8AYP5g+.+jyrg4rSNyFEL+W4MBY9wpm5m8CYLkdqmRAsaY5+nSEZGyY2FE+3EJs910I3V67m56axN9Tz+Lec1YIz4FKgN2bIz4VKgN2dIz4yWBc9hyTGyry6MVqByx+QB8Zk9iHcbx1aHsTf7m.CgwXQB
-
-
@Lunacy-Audio
This Is Strange, None Of This VU Meter Thing Works For Me.
No Matter Mac Or PC, Or What Commit :( -
@Natanr Hmm, I tested it in three different HISE versions and it works in all of them.
Does
Engine.getMasterPeakLevel(0)
return the proper values when you print it? Everything else is really standard. Just updating a slider value in a timer via the script. -
I Exported Your Snippet , And In The End Plugin It Does Not Work.
But In Hise Works Fine.
Note: Additional Flag Are Already There In Preference But No Luck Here With Image Files. -
@Natanr said in vuuuu meter.... vu meter? vu meter master?:
Note: Additional Flag Are Already There In Preference But No Luck Here With Image Files.
Ah I see. So you added
ENABLE_ALL_PEAK_METERS=1
? -
@Lunacy-Audio Yeah I Did That :(
At The Moment I Use The @orange Snippet, For In/Out Out Meters,
Work Smoothly But They Don't Go Very Well With Analog Style UI Designs :( -
@Lunacy-Audio for me it works. so many months of research for such a small code. I would almost be disappointed ^^ thanks for your help. little extra thing. i have compiled your version of hise with the maximized window. the plugin compiles but does not open
-
@NatanrI am using @d-healey 's branch and it is working fine. tests can be
-
@yall
MateYou Used That Enable Peak Meter = 1 Flag During The Build?
Or In You Project Preferences? -
@Natanr I just copy the snippet from @Lunacy-Audio and add images for the views. I didn’t touch anything else. and it works on hise and the compiled plugin. (vst and fx plugin)
-
@yall No Luck Here
Very Strange
It's Around One Year Since I Tried The Very First Scripts For VU Meters, and None Of Them Work For Me, Expect One Which Doesn't Translate To PNG And Is Vector Meter Based. -
@Natanr Which branch of HISE are you using?
-
@Natanr pour cela celui de @orange marche très bien.
-
@d-healey This One fix compilation on macOS
-
@yall Yeah It Works Just Fine
@orange said in Setting up meters - Input, Gain Reduction & Output?HiseSnippet 2004.3oc6Y8tbabaD+njtDS4pNNYTloeDim7AJGJYRp+XmjpIxVRzksVRbrrrSlzNYftCjDU2AvhCmhTyn2j9NzWg9HzGg9g9.z2.2cAtiGNJJYZ0wYhcM4PND6+vucwBfcO1UICXIIRkWkpO+7gLuJ+J+COWnGr8.JW30YGuJ+Z+8nIZlhXI83yGRSRXgdUpL6SPBUpNmm40+4adLMhJBXEj77dgjGvdJOlqKn1cq+.OJpMMj8bdrizqsUm.oXaYjLEvyr9M7FRCNg1msOEEaFeuJeztgbsTcnlpYIdUl6wxvyObf7GEV4eAOgebDCGzz6PvPVxskQgHhQpdaOfGE1M2uS77p32sHJLqMJrn+d7P9H5EQi6XXPJzvMdTYlqCdMcgWioGdUbf2bV38I9GFn3C0EbPrca+NBXgpGEVBbgkUVuY9yy6usDjPnWIldBqsBFLRiZsZznNA9Zoudg4yeKf.eBrHvHuHcOFH4By+SKLe06eu6Q1VwPmjPICYzSHwH2U.d2C+T8nDXY6qHOgeJiv0fPJVOlhAIGDsDFFKCSiXjZLtd.jZkfobDohv50iEnWpvPczjHo7jDxwrDMIMgK5Cp+i7PPdpHjLfw6OPCDfwwoQZ9Pvrxdj0Lln51oIZYL+uBS6.FIvjZkjYFjRhMLRErnLtjNgInp2G9hKh3BFoWpHPykBRfwmyBE0vfScxY0ImuDHKFWpFICnQH55yzjMI4QaZXnYJbUAhxD3EpUtXILbAcHSo4rDX0I92e3A6moiw7203228qHM2ntYr06ABq0vRfqYw1MP.wFm0tMDOWaiGTmjOWNRzB0q0C9x0ar9Wlq+w8Go83rzryzNLe3pO3gsV6gqaYlPOk0QzUw.e.X2iFkvrbjCo+kTFhYb3E49cUbjMPY7aX+k9YxTMDuqkGuq0GCr1Ha09qzCNz3QQQ0zC3Iq.5Uq.sKglEDJSRvfVFNx5DYVpDHpdJUQhRvbjMICopDvQzVECoZ5JQmRiRYj6QFYremIpWaokWKedQSntZSndcln.LV27YvlfZeeq5jwkmrbFTWl.bGYtWh4EFqc+VK2rtUl+TF3JYRxWPFSIx8Is.y0bhSlZJlL0nIy0Mt90fViuHzSppwgnWyulvI+1KAkkMz2D97EjUMYEYoEk7N.L75i6eKCXuYdr3hRIgkyAwKiTaSihNFt0oHIzIGzjoXVKcV1cFa9h2yYku2Yk.aVtzlDXJ2WphoQPnKrKb.5KPFkTDcgsSUvgl5mxNEN7nYd1VU0+KlowRtwhpLXm5aBD2UzG1ihV0VV.x4MEeWsMFCbYeUjlboskaR1ipG.2mcVMKkr0eWYVlzXkFqkY3KsqzwBpKYA03VXLnnXCwSt5DGyB4vcCQmWyNOSLGSSU1rrZq1vJlhoSUhraLPJWXt88R27.om6Ytxr1o1aepmcE5nqdxnmurCtkU.iQgOSvnWwpSeviFY1L.BteS77qlMfeA6AKVA2gEvOFRhZKUX4fsoAPAPVarT1beQQAE3anFO3pbbuSGwvTsA1.bytVckxWxd2BYtacBVgBZ0Bh3F2Z42CBazWeCjetsJBaEZTmXJvEw9tlpMxlC6IRkA3Ao5WOBcDBPvpajgQGxSKHcTYBnztW4.WjNZoTJ1WpYG.mVM+OMe04uXdx3r50ah7vZOTxnHvQlDaa150nXMQZ7wHbMaTFIHToZ4Rg8u5RgcqTOvVJjifRQGAWevPl3pJP1Kq9I3WG0YGH8GqYNiVQ8T.scXmBMiXqftp+NrjSzxgPeEaKiGJEnEpbasg6B40WiUs4wCw1hJxf7NC7mJXGKmi+XF3GlBy.q9Q2IquG6hMR4ukQIuXEj1hKt3qPZEWHhT6+ue0XTa4JbQAXH0iN5HCUa8UHkJ48bMM9yB9NIaVG5y+EqCc4Fff1vvsLTc4dyvSfxX.YokZBBazQjv0m61v5akF1lV39I9c45fASFuyLA7B40uswaV6uK3aOzo.ry429auo85N4VwaLodcmwAK2ZzCjfGCc08jbn7w1shW0ShXq+3eu8+XGVDsTj6kY4yYD9tslvypni3T3rhtxHpZ739rkc1YmNmcBN3bScxA5Rj2YRl+TeSH+cI.aRId2Av2wGN89W.v01kdennYEGu2X+z3CgivCX.TEv0KI4WgjMtQ9kkGxDglAuBdkwrINtRFyl4L8lhSAts+n5gtlmI4i25CmD7gSB9vIAuObRvh1Pxs8eI8Tlo6HSz3yLi6AMxRdBSvTXrp40bjv+bZ+aJFN0+MEGDnAH7bEUjLTlvZ5Z4w30xk2NPy0hxhaIURJz8ftqicj6VakSrkKQHsnjwfwkrzd3xT9v+02rqfBK5Gx.uI7fj.vYwXmadS2znDlY2QSWEKH2xk73mM9FWR36f+6L+70axrSGbeM+ARUywn85zcgK5hfVjGcxcOZZjNmZ4sQ6IExgCjBdfaN0yXvt+98YkxalnC8HslFbRAkE25YrHFMwYq0mu0S4BFUAwI1MLVzb5iEW250uw2BWBt2m79QOky9dTOkuM1gBGO9+I2p9ywbDSCTxeHv9XBwsd2xPA7ag4uyuJT.OLlzzy7nCA87arRCuX3.7eHH.yNVFhOSVmV2.cV8FnyZ2.cV+FnyF2.cdvMPmGds5f2c9nTsL1l+CD5tq44oVohsTAyVAu+Kz.yCB
-
@Natanr Try the latest scriptnode.
-
@d-healey
Strange, I Exported The Same Code:
The AUi / VSTi Works Just Fine
:/ But The Issue Is Still There With FX Plugins, It Does Nothing At ALL -
Can Anyone Export And Beta Test This Example In A FX Plugin Scenario?
Thanks