HISE Logo Forum
    • Categories
    • Register
    • Login

    custom peak meter.

    Scheduled Pinned Locked Moved Scripting
    5 Posts 4 Posters 198 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Oli UllmannO
      Oli Ullmann
      last edited by

      Hello to all,

      I am currently trying to implement a custom peak meter. I used this snippet as a basis:

      HiseSnippet 3040.3oc6a8taabbD+nktfP53Dam+0OUrfenfxQlhGojkUUcL0enrUrjEAohRcCBDVd2Rxy53sL2cT1JFFHnH.8K8MnepOI0u.EnOBsuAoOAsyr2+163IIJFWa0fH3fnc1Ylcleyr6MydmZ5v0YttbGkb42+jgLkbumZ6Sr85uQeposx1apj6Zp6r1VGdvWtKyi4nr9ICottLCkb4l4AHK4xOqh3me79qSsn15rXRJJGvM0Y6XNvzKlZy5OxzxZKpAaeyARbuX8s041avs3i.yYF0JJCo5GQ6wdLEY6JpJ4dmFFldbm1dTOlqRtYWmabR697mY6y+AltlcrX3.Mk1fh7IuE2x.sXjpxF8MsLZF51tJJ4TaFCBy3CBej5tlFlQziAiqKlfDKgLdj6JIMuYRXdZxlWEIyKCSJmjIMquIcC015NlC8hmAsmqptsMDV5RAXW1T74U4J+tOQcCNvgsW4AziXa4.ChjnTsJUlmrXkJysZgB.z65Qr35VGZQ6RtGITNcGF3N6v0oV6v4GslswVLlUITlPtK6v5Y5BZcqQ15dlb6REMbnOqE2i5bRaKSClSw4IcCmr27DdmmNWgWTnvBKPNf43YBJmrioMirC6XlEQjqQ1BRSJPL6RJArW1i8bOx8tGoXSF8HACnjHOEmiTfPH4eQg7GScHTv3QAnfguJNAAo1g64wGrOnjATmdl1.SUhm0quo9Q1.tBjqtZ9H5GCKwPtafFOlZMh8Xty.pk42wLVEXpP9BEx2qrKy6ANTCS.vPKpzWira5wF3mNWcdBfzzut12HbcoYzhlgbaIq31jRHsaGQYtaEXJeybq5ujcg0oEejMjZ2ho6Qs6YwJ80gJ6VjRZfVxvpmC4n52DvGvy4wOvJlgjGPk7uD9O7emcfqI2DywJPXVtryI.Fv6a4XHxKA7P+PoenIxn8GhPv4g5SVHLL.DMChvk07CrBTFA4BuD2hg+.X8ZFF.6LxWtMogEa.jl4FtkEcw0evgMo1.9GuskZXHHUpX3jEEoZXnLjGvUgiSFhwQlKb1vfun8dONg.unXGtCr8sMfUE+sfUBZHfTKHcejaDw3TZfTwEqd2JUWYoEW5NESLW0wm7YlFd8Ax2ohuh5yL602Kj.4kwGNgdZTtSS6r8VYF.0eWPk0l.eNkXuHxrzVLkYUKfPmdwtq1cVd4kqpsTwwAhUps3hKuTVnP7LwIYoU1Dg9mJFgGEsSRT5Q17NRdqfCXgpV6BBSgBFCTowIHHKHfNG5Vier8Xfkl1x2YokpsnVV3E.K2YwUpVLMzujVsp0VAIOvzFnbasfDoAzmGAZCLMLrXM4tl3SfPtp5OwP3DFa.7GLjaC+RBC0OUnHylBO01.mpx3QKLYtVs6VChjmUXn04FFZA5d4UlhvPqeILLQgAwSZN6sC9rLM6GhjbJiDgOF70Rvnp1h2ENf8Revn04GLlpcEQR9KAiwCF90S35Z1yVTRgnxdBVZOApsmfE2S73ho7Kc2sPxS8Q3er1ABaE.VgT6IlX1EmkcwT94xdTATnb9UmFUOEkz1bvPKFA6iMHGMR8HMH6TzKLla1naWnbuR6xMFYw11vsrurHayKEQvwPH31Zh0dgE1joSOgzBZfBpGDcPhae9HKCRGFoKEaYhTZG9yf+mntz4HTHDDj9IwpqkfmRODxdi3UZa0lM1XsmbXq01uwghEApKt7xKsZ1bDpdjoUpsJZlaLxAyxHGfJ1s.Jf9HGQI86rarJghskmpU6DSkVL40YbISMKZE30A3P1fZY0AZ7Wx38z.1ZXCU7yBZGUv5dcdJFSPn1SCyDDTCkuTT+lXmlKrfenKzE8aMHkGlHLVtGzHfOtHXqDDSIDYAi8+yVP3nKRpEL16u3q4jJavxh+agE1Y2fs.xnPjpGBSkBK1kBI9vITkjoOeBDatU8UO1f2XZ3ySmAMWFoTokBUnnmwzrdq6kNGWr2dbqOFbFyABlZ9zAgSyMBU0mmQR8bYmnmg3Y4RgBjzqjDv+m3eABfsZOQAv3bxj9e.84Sj4lomGpgOO8974xXieZoFyaCYcxBfIxtGyARF.iIfG.LtSLd3SRhrOIJCwyxgN2vmHv4e5uYG3woPcKPq+tvYQgw0T6CBNaC1AGHh6Vbwl5sn5dbmRo2JsZrRhiESpRhB9AmNLdZ7EvbhBAIrnKtpjilflhN2pMySNWe7JQDSVJCzY75JjXMMFjQMKIUbR+LipPRpbYegDbUN3yn7nN9OkpzRUBKOI74TDt8i4dr87efU9Bur.I8Tc6l4bXcwNbKKPsYMs+BdFBVxdzfN3FqfBKBXTI2rIuPa0S+Bskuucc+xzkXjausso2dCY1m1svqDTauBrnAVEvpm3pue+fq91ubTESC7d3SlInHr732kvSdkxEWKslNsbC0TYOwp4u+u+Ak5+0GLUpQxZr4+kxW6OAp4K2dSpGEeAAAvUbaP.sMYGapy7ecA4U2j4djGenRtqD07fRtB9K+0BeYB3clIV8Bpg25mxyg.cNz8OI7WDMQEAKu5OV2uMJYJw8BguBo3a3SQpIoTyDe2VxuwH4q2RlthjW7dmlW79px8F46IMC8je8Xdx2SS6I0GUOr2MDSBuJNEY2KuZvU2kz2hIG2+UBcbw7WbaPjCeiIeifvm+TYeNYqkRuusWA8eLTxdp+u9te39CjemdO4UvyeksJz0Tx8gpicKRJAMg5eBPRXVYyzv72+sRvbd0fKORIYRTby1oA5fNsS.z9oV9M5pjpo4wRLTlFrskO1t2ufsuFv1wOz7MQh6mnl0877SBeCtdmK636alj2eVfui+t2utpnqKpWxOE.rL1fIP7S98uiuica.WOQ96i3012GvjZhPRfomd+rswqjgMBO14+E1XvWUw0T8uEsXCbV0s98uA9DJd2nOsknKsSr7efZhaP4L93Vf7TlEMAR8UIyieR8L97W1F66C1FXQcRiyyLwNp1Y6nyNwICh6z7RcB6MUEv7kciTD5ubajPsKz2VA6V7Qdl181k54XhO04wiFzFNGVmAlmMTpN1IYtqfkz6OtRXeFsY1FhA+G3mfI0vw4BlTKbRYX3i8ggqp9UziYhKrWf.erXbWty.xCX1LGDezNis3+iI86Wa3D+8qsmtGXB66PscGxcYZxZN0bUSdVi2H6jr6SJAWn6sE3dR78t0CIVUlHjJnkZbBMsqozyx+m2ug3w0sYf2XrmqN3rH1ImqzbjkKSrKPSVvXxUkI+PpiADWzOqy+lcxN+6b9T9dmK2eJeQOGbMmgrd8LEvJZKuuLkjIou1dPgzMr7gm10Qr9HOO3rB+Vo8sh.RotYj.0cN53ZpsXtLuKrJjpi8CDmdfki5SKkRVo9jnjqphZPXKSmUbcgBZej4oXF+38mD3.zB2w6QrSb+ofHfyLjwDur7zJ32LNZb8.E.061guN+4BUbS01rucDCNqKh7j6PRlx0T8OEqE0tGa57l7ps6OpaWK1zkgcUU+Cq12jcVtvr9J3lIV+lT8iDJ4i.3Xf49P6.RSjVa+MC7l2x8mUw2d+kieTlbG7.lEWGdf+j6fc+r0Wqb4UdzlkKWaTy2NimXG7lp6vr640+zcuaUOU76Hb4d5CgkqYWX4Ju7Zv3C9BXb4mhiKiy+vsgwGaiiafiKGO96P9cvw0333uBmeSTekY33d33thw+AbbGw3Gfq2.z8NJg6cV6VugZPoPsYVL7klLAaVyTQep5di7FNx60j5tg5tMazFeiFAJbrsvS3wQe.pnF1FmhZpTeRNI3cTeHTaPFmhb4uc9D0HjOzF86UsAzAoEGnD1dTW5HKuPpIKUXWtMeXetsYhJsZwfxv60ikn.tLcn077vcNQT9n5sfTDpKS9ucC7i8l5.3DaJwBsK7e5CYFu9Up9lKAKBm7+uWCyL+r9ZXl7cePOHWtihvomt5UIhPI4sSr7MQi0uIViATcG9g59Gpia5eWAEvusE+odkWcWbLQK73bU0Jkqf2Ws4g55X95sg1+xVlpSgL0lBYVbJjYooPl6LExr7THycOSYvVkWajGefeNOPnYCwqhNWtFgWtetYT9u.Iz0wVC
      

      I have several layers in my plug-in, which is why I need several peak meters.

      Basically everything works. However, there seems to be a data leak, because the peak meters for layer B also receive data from layer A and vice versa.

      Is it perhaps because I am using namespaces here? Unfortunately, I cannot find the error. Maybe one of you has an idea.

      Thank you very much
      Oli

      HISE Snippet:

      HiseSnippet 1997.3oc6as0baabEFPRHIT4lSG2j73FM8AnTEIRYq33ISR3cUMgzlCohS83wimUfKI2JvcQAVJKMcxLMOm+Ss8mP+oj+AsmcWPB.RXYJZYIQMfOPw8x4rm8b4CmCOTs74Njf.tugYtCOyiXX9AVcNiIFTY.lxLNnpg4GY0DGHH9H8TkOyCGDP5ZXZt59xILyslg50u+CkwtXlCIZJCimvoNjFzgTQzrsJ9iTW253tjCoCis66W7.GNqB2kOBjmUsxa3gcNF2m7HrbaqXYX9N05REb+NBrfD.6oLu6YcFveISu+mPCnG4RjCJXzAXjdZiJCntcaM9tFX.LpUzMeU8M+tVMocoSlORCbG0BnHJhqCLW47DoBW.QxLlHslVj9DqNN9TOQzJR448sNfAFjdXPUGWTz60Xke6yrpvgcvDaODeLotOLXBE1ec97agf217aWe8Sv9ndfsPqyafOqD56P5AAa+RpXPIWuAX6Mxe5d016gUd3CxuwVn7auKP6LjV9UQ52b+68vREp9fIjt956rSqZk9QTiZ0OD0nzSq0FU5qVddsNC7GC.eSBxifOtAomPp5V+erN39FHPRUiLz.THpXos6SD050i3Hr2nEl0j2UM899dE1PpN1YmJi78AyE5IX2Qj.kt0ATpjSHtMZ9h5fZF3U9sy+sIVpcmDKE6zaR.qcCkAQ6G.RPE9PONCFXuQboVIA58uc.QzBjaQa9HAkQr6Mh4Hnblc+MgKWNEqw.WECnARV1f6fcKyGw5FXq7mxg5KYh1MvNomErtbY4jskphmgeV9muEB+rBOG8mg+bO0fcg2ssGe.J8g8lnuDcO4axMI+q8WUXymC76WzZOTUhC9LjDLIlNnZsJkd5KZW5vZQZoGrmh.4NA7Lrq6Q..SLZDEfsUi0Gt7a63SfHZ0Ve7Q+MoDKOMQA4ETM6X5iTSJszN6.F3QtjwFybHEqmxXJ8OTVEskWspcAkNJZ6QF3T2tVkuyNMZhZAVTTpmq1Vm3rahAexg3SsiO+VIjPswDQ6grmgAe+z9lalhy5zTotXD2.xL68K+toMURDB3Z0ty7bshzQIuVgyuUBMYZWqwL36mNtZyTBzllpYuVi26q7ZANqziHtxPySH9AfeijGSo9lRIERZGxDHhbQgr5fjYrdgavm3ICosGGtHcfEXesKr8dReneIBQt8A6+WtE.I2l1evMRL41mKl7DwNBTtcFnbFnbFn70Hnbz4LE2dUfxsmBTN90LbCWLP4XoIWdoOM4xK.j7tW6oIW9pJM4xYHxYHxYHxKQoIWd4OM4abXxyWZxkupRSNCTNCTNCT9FaZxvqwtwHN6QbA4wg9yvxnoWpWuTWSB23yccAFm1x5i7bHzlMZ3QD+s.KLbklrQCy0R1ef2Y95OfiF8K1F4rCXTwi8Hgiqyc6J+d+ked1tIXDBeBe5mNnJVfkMXHbNXedDeAUJNlUImPcH51MjypJI3XA2yv7cmf4BhrPs5GNtYDXFw0f1U1Zn3eSxFmNoUN+yiKdVTecdTwWR6JFXXZYtKLb.QheKG8uLTB5q+f9XqDe8HxSxxbCSCi2hmR4Dmhk4gvGdSOgDJrxynvtPGxZIOjF3iBOj+nkF5QFCEffCBddwq13b+hKLSS6Brk44pJhX3mlFCKDmi3XhY9esnfbJvuBVsbIX.yxyEdrIFwfP5u.8Dt6ngDTOtOxUyIDM.0Ehc9hwpyPF4IJZLae1tikBnFKR11O4StBW.h0SzqMY+zXATwYw6+4EnWf4O2dANuh3mX0hJbFjtLtRJxHfB71PFC6f5GZoyULR.Wyp9ecQaW57e7ebhVWuuOejm5zuqdBR.M.7ITyW3xnA1dycCrqwvvsody3brB12mR7Of0kbZrC+eOw9NyJ+DiFvYbknTZHjypHtPGtZUhXDKgnGtPGOHavtwoPJ8cHfn1UwxfD9vqlz.s1787pjgJw1eJM59cuF589kS710HjPhed.4FKicnC8bI0frwbgmoGhITkzCOxULY13BYSvgva.mQch6ozlH7o86S7iK5odeJIDPYCQyb2hsIJ.4no9SEa.0ff8A0DYAUEW7eoDoZt9bKs3pJuB8lX1Va9LaulbxtLP0W8VMpdBS66MAVW4kueL8SxN1cNX5FFUIPJAwm3mSjPfwSKlBp+Ax5aDs3tX+o0zqdY4Eu1b6Nn9FYVZbe+CVJU9xj.qbIVdD36HC.tAHt5uqs9MwvSOjEK8nQC6.o93P.QkA07DHqHXEYJO5w4kikBTGBqqZv+CdEtXA4XyvEKLdw4Uk7AV57ejZkafIpCXXprvtFEuORKduOflxHJnSkj8opwneFeBAsOgQ7kB94gn9eu7yR9wNB33OzGyB73AIXbGxP5gPsjAIRrMfT2m72aKc9SjYMG6m5R+9OTGtjoRSGrXjuJJZ5Lqeag0mkx6UYUv2tyW5JAB9JFl+BTM+tYUye6sZ9q3TpxprOqx9kfJ6uzk2kkp7OOr9m9expxOqJ+rp7ypx+Fi06Mqh+KcQ8hT8+tYU+ujT8+RVJxY4Zsv4Zs7.kea4LFhc74uvQ+q6RFE+dpY.cKS8uidNqlxwnBFpewWw8iFBQvuvwIIqlgvcWTBu2hR38WTB2aQI7qWTBevhR3275ITBvVZjfOTCKXXzrUM0OQNSS82viJBz3+CTXiU3J
      

      Script:

      var fillColourLayA = Colours.withAlpha("0x5E59C970", 0.2);
      var fillColourLayB = Colours.withAlpha("0x8439A1D7", 0.2);
      
      
      //PEAK LEFT LAYER A---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      namespace peakLeftLayA
      {
      const var Gain = Synth.getEffect("PanModSynthGrp1");
      
      //Current Values
      var curLevelLM_Fill = 0.0;
      var curLevelRS_Fill = 0.0;
      
      const var MeterL = Content.getComponent("peakLeftLayA");
      
      MeterL.setPaintRoutine(function(g)
      {
      	 var a = this.getLocalBounds(0);
      
      	 g.setColour(fillColourLayA);
      	 g.fillRect([a[0], a[1] + a[3], a[2], ((this.getValue() * 3) * a[3]) * (-1)]);
      });
      
      // Decay Time
      const var DECAY_RATE_Fill = 0.75;
      
      //Timer Callback
      const var t1 = Engine.createTimerObject();
      
      t1.setTimerCallback(function()
      {
      	//Module Values
      	  var LevelLM_Fill = Gain.getCurrentLevel(1);
      	  var LevelRS_Fill = Gain.getCurrentLevel(0);
      
      	//LM Peak Module Values
      	  var peakLevelLM_Fill = Math.max(LevelLM_Fill, LevelLM_Fill);
      
      	  if (peakLevelLM_Fill > curLevelLM_Fill) curLevelLM_Fill = peakLevelLM_Fill;
      	  else curLevelLM_Fill *= DECAY_RATE_Fill;
      
      
      	//RS Peak Module Values
      	  var peakLevelRS_Fill = Math.max(LevelRS_Fill, LevelRS_Fill);
      
      	  if (peakLevelRS_Fill > curLevelRS_Fill) curLevelRS_Fill = peakLevelRS_Fill;
      	  else curLevelRS_Fill *= DECAY_RATE_Fill;
      
      
      	//Decibel Conversion
      	  LevelLM_Fill = curLevelLM_Fill;
      
      
      	//Set Values
      	MeterL.setValue(LevelLM_Fill);
      
      	MeterL.repaint();
      });
      
      t1.startTimer(50);
      }
      
      
      //PEAK RIGHT LAYER A---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      namespace peakRightLayA
      {
      const var Gain = Synth.getEffect("PanModSynthGrp1");
      
      //Current Values
      var curLevelLM_Fill = 0.0;
      var curLevelRS_Fill = 0.0;
      
      const var MeterR = Content.getComponent("peakRightLayA");
      
      MeterR.setPaintRoutine(function(g)
      {
      	 var a = this.getLocalBounds(0);
      
      	 g.setColour(fillColourLayA);
      	 g.fillRect([a[0], a[1] + a[3], a[2], ((this.getValue() * 3) * a[3]) * (-1)]);
      });
      
      // Decay Time
      const var DECAY_RATE_Fill = 0.75;
      
      //Timer Callback
      const var t1 = Engine.createTimerObject();
      
      t1.setTimerCallback(function()
      {
      	//Module Values
      	  var LevelLM_Fill = Gain.getCurrentLevel(1);
      	  var LevelRS_Fill = Gain.getCurrentLevel(0);
      
      	//LM Peak Module Values
      	  var peakLevelLM_Fill = Math.max(LevelLM_Fill, LevelLM_Fill);
      
      	  if (peakLevelLM_Fill > curLevelLM_Fill) curLevelLM_Fill = peakLevelLM_Fill;
      	  else curLevelLM_Fill *= DECAY_RATE_Fill;
      
      
      	//RS Peak Module Values
      	  var peakLevelRS_Fill = Math.max(LevelRS_Fill, LevelRS_Fill);
      
      	  if (peakLevelRS_Fill > curLevelRS_Fill) curLevelRS_Fill = peakLevelRS_Fill;
      	  else curLevelRS_Fill *= DECAY_RATE_Fill;
      
      
      	//Decibel Conversion
      	  LevelRS_Fill = curLevelRS_Fill;
      
      
      	//Set Values
      	MeterR.setValue(LevelRS_Fill);
      
      	MeterR.repaint();
      });
      
      t1.startTimer(50);
      }
      
      
      //PEAK LEFT LAYER B---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      namespace peakLeftLayB
      {
      const var Gain = Synth.getEffect("PanModSynthGrp2");
      
      //Current Values
      var curLevelLM_Fill = 0.0;
      var curLevelRS_Fill = 0.0;
      
      const var MeterL = Content.getComponent("peakLeftLayB");
      
      MeterL.setPaintRoutine(function(g)
      {
      	 var a = this.getLocalBounds(0);
      
      	 g.setColour(fillColourLayB);
      	 g.fillRect([a[0], a[1] + a[3], a[2], ((this.getValue() * 3) * a[3]) * (-1)]);
      });
      
      // Decay Time
      const var DECAY_RATE_Fill = 0.75;
      
      //Timer Callback
      const var t1 = Engine.createTimerObject();
      
      t1.setTimerCallback(function()
      {
      	//Module Values
      	  var LevelLM_Fill = Gain.getCurrentLevel(1);
      	  var LevelRS_Fill = Gain.getCurrentLevel(0);
      
      	//LM Peak Module Values
      	  var peakLevelLM_Fill = Math.max(LevelLM_Fill, LevelLM_Fill);
      
      	  if (peakLevelLM_Fill > curLevelLM_Fill) curLevelLM_Fill = peakLevelLM_Fill;
      	  else curLevelLM_Fill *= DECAY_RATE_Fill;
      
      
      	//RS Peak Module Values
      	  var peakLevelRS_Fill = Math.max(LevelRS_Fill, LevelRS_Fill);
      
      	  if (peakLevelRS_Fill > curLevelRS_Fill) curLevelRS_Fill = peakLevelRS_Fill;
      	  else curLevelRS_Fill *= DECAY_RATE_Fill;
      
      
      	//Decibel Conversion
      	  LevelLM_Fill = curLevelLM_Fill;
      
      
      	//Set Values
      	MeterL.setValue(LevelLM_Fill);
      
      	MeterL.repaint();
      });
      
      t1.startTimer(50);
      }
      
      
      //PEAK RIGHT LAYER B---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      namespace peakRightLayB
      {
      const var Gain = Synth.getEffect("PanModSynthGrp2");
      
      //Current Values
      var curLevelLM_Fill = 0.0;
      var curLevelRS_Fill = 0.0;
      
      const var MeterR = Content.getComponent("peakRightLayB");
      
      MeterR.setPaintRoutine(function(g)
      {
      	 var a = this.getLocalBounds(0);
      
      	 g.setColour(fillColourLayB);
      	 g.fillRect([a[0], a[1] + a[3], a[2], ((this.getValue() * 3) * a[3]) * (-1)]);
      });
      
      // Decay Time
      const var DECAY_RATE_Fill = 0.75;
      
      //Timer Callback
      const var t1 = Engine.createTimerObject();
      
      t1.setTimerCallback(function()
      {
      	//Module Values
      	  var LevelLM_Fill = Gain.getCurrentLevel(1);
      	  var LevelRS_Fill = Gain.getCurrentLevel(0);
      
      	//LM Peak Module Values
      	  var peakLevelLM_Fill = Math.max(LevelLM_Fill, LevelLM_Fill);
      
      	  if (peakLevelLM_Fill > curLevelLM_Fill) curLevelLM_Fill = peakLevelLM_Fill;
      	  else curLevelLM_Fill *= DECAY_RATE_Fill;
      
      
      	//RS Peak Module Values
      	  var peakLevelRS_Fill = Math.max(LevelRS_Fill, LevelRS_Fill);
      
      	  if (peakLevelRS_Fill > curLevelRS_Fill) curLevelRS_Fill = peakLevelRS_Fill;
      	  else curLevelRS_Fill *= DECAY_RATE_Fill;
      
      
      	//Decibel Conversion
      	  LevelRS_Fill = curLevelRS_Fill;
      
      
      	//Set Values
      	MeterR.setValue(LevelRS_Fill);
      
      	MeterR.repaint();
      });
      
      t1.startTimer(50);
      }
      
      d.healeyD W ulrikU 3 Replies Last reply Reply Quote 0
      • d.healeyD
        d.healey @Oli Ullmann
        last edited by

        @Oli-Ullmann said in custom peak meter.:

        data leak

        I haven't looked in detail at the code, but don't use var unless that's the only choice in the situation.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        1 Reply Last reply Reply Quote 1
        • W
          WepaAudio @Oli Ullmann
          last edited by

          @Oli-Ullmann said in custom peak meter.:

          var curLevelLM_Fill = 0.0;
          var curLevelRS_Fill = 0.0;

          sorry im not an expert, I see these are the same for the 4 meters, I renamed the ones for the blue meter and that meter not move but the other one kept working, maybe something on the naming could be

          1 Reply Last reply Reply Quote 1
          • ulrikU
            ulrik @Oli Ullmann
            last edited by

            @Oli-Ullmann If you register these vars with "reg" instead of "var" it will work.

            var curLevelLM_Fill = 0.0;
            var curLevelRS_Fill = 0.0;
            

            As David said, avoid using var if you can.

            Hise Develop branch
            MacOs 15.3.1, Xcode 16.2
            http://musikboden.se

            Oli UllmannO 1 Reply Last reply Reply Quote 1
            • Oli UllmannO
              Oli Ullmann @ulrik
              last edited by

              @ulrik
              @d-healey
              Thank you very much, that has solved the problem! I should have had a look at the documentation! :-)

              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              33

              Online

              1.7k

              Users

              11.8k

              Topics

              102.5k

              Posts