HISE Logo Forum
    • Categories
    • Register
    • Login

    VU Meter's not working in exported plugin

    Scheduled Pinned Locked Moved Bug Reports
    23 Posts 7 Posters 2.3k 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.
    • d.healeyD
      d.healey
      last edited by d.healey

      I've made an FX plugin, when testing in HISE (via a sampler which is removed before exporting as a VST) the VU meters work. Once exported and loaded in Reaper the VU meters aren't responding to input or output. Any ideas?

      This is my FX chain
      Screenshot from 2019-01-25 01-45-36.png

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

      orangeO 1 Reply Last reply Reply Quote 0
      • JayJ
        Jay
        last edited by Jay

        Have you "ENABLE_ALL_PEAK_METERS=1" within your settings before export?Screen Shot 2019-01-24 at 9.49.07 PM.png

        Joansi Villalona

        1 Reply Last reply Reply Quote 0
        • orangeO
          orange @d.healey
          last edited by

          @d-healey You have to "ENABLE_ALL_PEAK_METERS=1" in the Preferences section.

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by

            Thanks guys. I'm compiling on GNU/Linux so those settings don't directly affect my project, but it did apply the settings to the .jucer file. Once I opened the .jucer file I could see the settings there for Windows and Mac so I just copied them to the Linux section. I also had to add HISE_NUM_PLUGIN_CHANNELS=2 as well.

            One thing I noticed is that the output meter wasn't working when connected to the master output so I had to connect it to a simple gain effect.

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

            Dan KorneffD orangeO 2 Replies Last reply Reply Quote 1
            • Dan KorneffD
              Dan Korneff @d.healey
              last edited by

              @d-healey said in VU Meter's not working in exported plugin:

              I had to connect it to a simple gain effect.

              You can do that? Connect a meter to the output of simple gain?

              Dan Korneff - Producer / Mixer / Audio Nerd

              JayJ orangeO 2 Replies Last reply Reply Quote 2
              • JayJ
                Jay @Dan Korneff
                last edited by

                @dustbro yes you can do that

                Joansi Villalona

                1 Reply Last reply Reply Quote 1
                • orangeO
                  orange @Dan Korneff
                  last edited by orange

                  @dustbro If you look at the Music Box Tutorial, there is a Simple Gain unit at the end of the fx chain. The VU meter in the GUI is connected to this module and VU meter gets the level of this unit.

                  const var MasterGain = Synth.getEffect("Master Gain");
                  const var outputMeter = VuMeter.createVuMeter("outputMeter", 328, 72, MasterGain);
                  // 328 an 72 values are x & y cordinates of the VU meter
                  
                  

                  In order to use this method, you need to define a "createVuMeter" function:

                  
                  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, module)
                  	{
                  		local widget = Content.addPanel(name, x, y);
                      
                  		Content.setPropertiesFromJSON(name, {
                  		"width": 32,
                  		"height": 100,
                  		"itemColour": 0x88FFFFFF,
                  		"itemColour2": 4279505940,
                  		"bgColour": 4279505940,
                  		"textColour": 4283782485,
                  		"saveInPreset": false,
                  		"opaque": 1
                  		});
                      
                  		widget.data.module = module;
                  		
                  		Console.assertIsObjectOrArray(module);
                  		
                  		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 = getNormalizedPeakValue(Engine.getMasterPeakLevel(false));
                  			var rvalue = getNormalizedPeakValue(Engine.getMasterPeakLevel(true));
                      	
                  			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 getNormalizedPeakValue(gain)
                  	{
                  		return 0.01 * (100.0 + Engine.getDecibelsForGainFactor(gain));
                  	}
                  }
                  

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

                  1 Reply Last reply Reply Quote 0
                  • orangeO
                    orange @d.healey
                    last edited by orange

                    @d-healey Have you tried this method? (in the example; "vu_meter_128_frames" is the image strip animation with 128 frames)

                    /** 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);
                    

                    develop Branch / XCode 13.1
                    macOS Monterey / M1 Max

                    d.healeyD 1 Reply Last reply Reply Quote 2
                    • d.healeyD
                      d.healey @orange
                      last edited by

                      @orange I haven't used an image strip, I used Christoph's panel vu meter

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

                      1 Reply Last reply Reply Quote 2
                      • SteveRiggsS
                        SteveRiggs
                        last edited by SteveRiggs

                        I'm just having a look at a VU meter and trying to connect it to a simple gain as the master output doesn't work on my exported plugins either.

                        The name of my simple gain module is 'MasterGain'. I tried replacing the line below with 'getMasterGainLevel' but it just threw me a code error.

                        What would I need to replace the line below with to make it work?

                        var newValue = Engine.getMasterPeakLevel(this.data.isLeft ? 0 : 1);
                        

                        www.anarchyaudioworx.com

                        www.facebook.com/groups/audioworx/

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @SteveRiggs
                          last edited by

                          @SteveRiggs have you tried:.

                          var newValue = Engine.getDecibelsForGainFactor(MasterGain.getCurrentLevel(0)))
                          

                          HISE Development for hire.
                          www.channelrobot.com

                          SteveRiggsS 2 Replies Last reply Reply Quote 1
                          • SteveRiggsS
                            SteveRiggs @Lindon
                            last edited by

                            @Lindon said in VU Meter's not working in exported plugin:

                            var newValue = Engine.getDecibelsForGainFactor(MasterGain.getCurrentLevel(0)))

                            Yes but that's totally broke it now. The console is going mental repeating the same line even when you clear it until you change it back ☹

                            I've tried the exact line you sent, and also without the extra ) on the end, and added the ;

                            Screen Shot 2019-09-24 at 10.13.44.png

                            www.anarchyaudioworx.com

                            www.facebook.com/groups/audioworx/

                            1 Reply Last reply Reply Quote 0
                            • SteveRiggsS
                              SteveRiggs @Lindon
                              last edited by

                              @Lindon Are you sure thats right? It's not working for me.

                              www.anarchyaudioworx.com

                              www.facebook.com/groups/audioworx/

                              ulrikU 1 Reply Last reply Reply Quote 0
                              • ulrikU
                                ulrik @SteveRiggs
                                last edited by ulrik

                                @SteveRiggs could it be the "zero" inside the brackets? I think you should have it like this

                                MasterGain.getCurrentLevel()
                                

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

                                SteveRiggsS 1 Reply Last reply Reply Quote 0
                                • SteveRiggsS
                                  SteveRiggs @ulrik
                                  last edited by

                                  @ulrik Still the same error dude :(

                                  var newValue = Engine.getDecibelsForGainFactor(MasterGain.getCurrentLevel());
                                  

                                  Screen Shot 2019-09-24 at 10.54.23.png

                                  www.anarchyaudioworx.com

                                  www.facebook.com/groups/audioworx/

                                  ulrikU 1 Reply Last reply Reply Quote 0
                                  • ulrikU
                                    ulrik @SteveRiggs
                                    last edited by

                                    @SteveRiggs and MasterGain is declared?

                                    const var MasteGain = Content.getComponent("MasterGain");
                                    

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

                                    SteveRiggsS 1 Reply Last reply Reply Quote 0
                                    • SteveRiggsS
                                      SteveRiggs @ulrik
                                      last edited by

                                      @ulrik Ah, it wasn't but is now. Still the same error though

                                      Screen Shot 2019-09-24 at 11.18.23.png

                                      www.anarchyaudioworx.com

                                      www.facebook.com/groups/audioworx/

                                      ulrikU 1 Reply Last reply Reply Quote 0
                                      • ulrikU
                                        ulrik @SteveRiggs
                                        last edited by

                                        @SteveRiggs can you post a snippet?

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

                                        SteveRiggsS 1 Reply Last reply Reply Quote 0
                                        • SteveRiggsS
                                          SteveRiggs @ulrik
                                          last edited by

                                          @ulrik Here you go. I changed it back to getMasterPeakLevel as it wouldn't compile with anything else.

                                          HiseSnippet 5244.3oc67jDabbkcUKpRRjRbLsrCxDjAA+gvAtoBMYuvUq3QEWZR0RboS2MkkxLCZUrqeSVCqtp10BWrFYH3YLFmLNA4RNnLH.5PPVtjjiIWRHxk.D3CIXxg.jKNWBb.xAAjK4Vx6++U00+WU0jcSQKMRlDvVc8We6K+sR1V0wNNV1Ro5u5AsvRothbkCLc2dgsU0MkJtnTp7xyYpZWe6CPK6o6pZilqYKTE8lnpXGWTVT5V1XGr671V64fsIENhz7GzR0wAqIkJUeKSFnT8edI5eO8FyqZnZVGGVjjzcrzqiWQuotaXokTtstgwRpZ3p5M4Z8DJEqaYtfkgkG.z8ImQpkZ8cT2BulJoYmSVJ0EJno6ZYWwU0E6Hk57yaocPkss1yj096n6nuoAl7QVoJv.wJdIKCMBDS9szBaqanUJf33HIkRtTHopOFo5MkWUWSuc4gjrgnUfB6AO8H04NJvK6wCdYSB7RwAdmmAdutbk515sbCqg.aWVtnoK1tgJvB3AKVakN2XCJufEzBS2wZptCdIa3i18Hc1LYxLJh7+G45CNvfCTvbKcS7XFVpZy4ooasjtA1AZtUIKKizr1L93UbwsPYGEsfMFvYDapP2Q0VWEvTzh3F5l5t5VlnzKYYil2y00xbLTIUGWrFZdrg0diL3..aGD31Ej.KQk3bXsC8dn..dKr6BVMaYYBejdXgVMr.rjuMr3vfkcCfEMNXoA.KM.TyU2bKjKfYHUSMTKFTsYGfJe8fiAp7akOT0Ftx0Ftp643Z0DUW0vXSP9N.tvsArMSfHQgOUMPNAY.rEGzaq23sQtVnGh7bnHgsGCIZnZ3fAn1vCZUL7DPKcSxHfZ3YVmRLrLEHmDbyF3v0CPrQYCFzyGL3.8q2.kN3aD72CX+C4OA7eLGPtOXrH.GgdPZ0CY+CFfxdXDnXE2P7PJ0sqjNFygTKcXVvmlmNYbNPPBU4lq+9nE1nb4BqUEUpbgJEphVatUKfJtFZNzJyMegUHsLT.YEUPnIaGkLXU6KRDm9eaSqMydzzcBZSH89Zkjg2y1FZ0F.khgKDqjoGA8duGZ3gGIjldzPDg3jdXW79tCOJZ3hfb3vAT4PNTONLGKLRlgihARoGchwwSrBXXKhqanZiQqRzXrItk3YNgk1QFTXSBrlbsq4qu5fTQ2Yi2YULz.TCaPyUE0P2noiKXdgpf4tMF0jN.ncsL7ZhGCcswiymqSGNvLZyJjtdGO5Pl1DHIih1eTzAihzcVA2vMjiaXAVIP6oqAPKGrC1AJoZhM35a.Si8+CZHP.AWDsv1t5XGvdeyaUY8076Ua0tggw2c6geWT1YFEAB+taq6.FU.DmfX38Uq6hz.G0lN.V3frZ.Rr3PRP6gYar9Va6BiStLyNZ6RsZo9AdXnTpAJX3YE.nJRGH+1tpltHfyXYqAzOvfltIgPAlvHytls5dDSW.J.T5ljnK7MAHhvv3Vxyk1E8lPDCjQ7.HLB+uZP7vZyZJiZR8qUjTY5gePoxqeqBKTs1RquxhEJ+vlD9Rs7SCbafR4TK6Ln8IHUK88AchZ6RHmD9hiqta8swZi0xbKh1SaRxvh.m+Lpo5pNFUkFXkYFKy0iWKi+CUy9QTTrB1GEItw..fgbBCCvw8wpPnYTD3XOShvDzbRLX1s0uBjVSG27N..K6C.svp6vrNwzH3z.r7ba44F1KhBnIdu63i2g1FXpbkfQZE7tfrLQrSfJbCTFDHTNx0ud3nE9K8FoaOreGTXm48ME7WjZAvHnqbCsn4NeD9VfuZvAcc0Cn3Xcl8LeTOclwlMGpNyTDSawuo.I8XAgnkbMDY3RDWA.AXP08LHgOPllP6O5lZ38EZIU8sIAt2jDP.zBW7VDSSjYQnkyLAhooqAMBXFpZDk6r4lA5YcUnb+V7QYzlGs21502F9RXDZZAFcUqCjEBjwrEBc.rYzrkQB1HXhCTXFn.sTscvPDkoiSJxO8XsEXiQKJ1fnai9ADbbOh4CvpQKvzsK0vDUoXTwdPZtlk4a6BLd.aohvzNXChqf73njXtD5Acv8nVgHjSr61VZQHyXzAq2nAnAQskQwoqgXFAWuwRwQcJV1Q8yfA.ryLx0CQ4GlrZKjrFSwMc91zIarqmsoeSZ6gMzMnuCGeKLcvazvbsB.rYyN8nnoyL0nn1AfEa.KSv3ieDoMiLj4CFRVTgbwAslkKdcvzy.OXf9G3gCfhVUiFIVmev.FvjkT0L5zQzwzldM2DaGDuUPCgrsDSmSt6RmqNy4KWCsLIAVsdKrYmRxSx2iMjt2P9PEjrqKMYueI+j8nYg89p6hIdBkz0HIiJTVVIJBvm9ssp4V3JDoE.7S0tjBlZjuebeRRfXne90KHG0Q3bygVdihUmqLp3pk1XkJEpLdUPredv8rKpXyVdjLMJicfnnbvism5tL7fB78w.9ugOvWwPG7.Sg5KISCgKSbnsa58Eo8d1nc9dG1Mc9JPp9XRTd21bymkoOmPmUxmuuC69NmWny2uQiA5gNOgPmexie7fJcemmTnyG94e92pyclkXDsy8Ky9Hl70SuQuz8bOacOeOz8XX9TQwbTOP1lNJCandnyYiLyqLQWQyeMYgDTOYBqWQNLulDFgMJtH3ykrBS9VeByU.JaQ7t50wr0ape4EwN63Z0RJ06zNqI.CYy7f9yL0wluJN82Yk1u8DpbekCZ+w9erRncmwiY2YA0MQzAvY7fEnjTzcxRhzVhltR6gJ8OQg4yscIO5.BEtqAxbb.oz2kCHODyAjY5Ff7ljPnRDJy7oQgRkGH.kC1y15Cg56uOOT+8TZE3XonFYDAlKIsTpOuxPn11fLoHz8jchBcR+lJ5t3lr0hMmTpAjyN0zYyN0LYjBKm4taysB9pe4Imb1bSjYRIxBADTJsqSOctrSJwR8i0svgIuPa3IJWPj0QWrAeA60rzAeOKCNl4HDGdONBgzrJM.wZF660jWjrzMFfxfIoOXvwtpuu6LByobmlyKKWrLZEHqQP4hi1+.toTYCkNOvuww6PjCS9Ttg8QqozNXQl3apel73jEUwYbssUs2ABoYmsGeQq5dPV5tNieyhUJPVh5e.ttqCDQY1YG+2.s58PUWe8UpL9FEQkfT8bPom2xCX5iL9cfPgIYRtHjToCZQXDooZBRMnL4FOalecTE8ODinwzBlGZ4L9N..WKStZPxBMra5TapYt6LSmYBpjODMEM.PmPVw8UDE3dT0XBb+VJNPN03kTq6R2xBeGq+O2PPZNvhFZcOWIH+AUZt5jZtfL0JWSKMe6U00IbNGuFMzA5prLRadol5ZZF3RVNzkANbxycXS9cx3dG1TcedSkvT1hPBBc692dCxpSRygrjUKuVDy8zEpUR2ojgGjjao.nKHluPQgqdrQ2DN6Op1YRBIIIbY4EOvTsodcmrhBBulLwpP0sA2maaYn8bTh3YhyKDZZ3T05C3X+C8Qu.Y+YOB1+LmX1+pwX+2JA1OPd+uhZHnhpKYYGrriv+6OfPFiyKvBmQIQk5tR3Hsxyfx+abr4Vvo76cF2OItOjSfpiCpvGzU9.DzjeKQM425YPL.rB7UmXPdNwfmbvYhAIIFbIxlw+JsTvDbRA+0O7LofjjBtrbUaLYC9eUVPXRNAgu7QmIHjjfv.r0LgbBjRRNnSbmmexGcgbP+cJ8yAnHQUHwZ90qfO5vC+gQHjRkhQHmRgjZtOoBQIKmjjjuTmfxKPcLyAgHudFBOI.TGIaWjBPBKD0AmPZF0aCvYOcoXWx25E+ZJ7vWrzr98AIdp1gO5YQRioTdpBjWts9.OX9O+wmPv7xxqZ8rnQzEvIef8e4O9DBmCJu55kKfVdthq8s+1mHHsiKp1qws1Js7DLy7oO6qq1U5hsWHbFe5Ogm97vXt39SOUcwMmopg0VdXD87w5fFe4MJVaNGxxuW61.tptiKp1F2oXMGvv+3qUDETH4HV1DPWswc1ibVPfFP136Z1rCERjkY8QyEistrRBND+lJccptELITaMo3tGO7y+7+6az8NbNx8sgybtAGeoT7POL6U9Rk6sV0ahJToRg0pVbtUpfxArEOcCMD87lNx3ELvrN6SgAzP0n1t4Rf9JMeL56RID3v8az3+7zgxvmilzVe8gxb4ikxvm2xg7Tl+feXLJySdApKC+.goGIINcY3+pso9VcPKVZlXzxo6T3oNp6hK5eTSImDaA85yIKYnatCVqpEuHUuQn4yK3KLNiP20D5b8HgdJNB8L7dmZ8QmQnOJBcWleyUjW3lar7usAs.tXg+obj5+lOiKziKIujGwsnDKvnKx5eDT6vueLTqHcL3RgC965Jc0V.dIY5u4cHpvCeC866Gk1qKWp75UWu58JU.kcrLikom19GdQs+2O9rb8Ol0+O2KWq++UO1SaRHTdoO4Lt+wv8y+xE22OMn2zm6uj+cyoJDRmeRX7EwmRjzDbxB+4+dJ9mYG1Az4pxkBOg7LCVgmKCwiaAg5MQtYmX1IylM6jRBGyCgZnGNnTWP9ACNvCCLqJmREl8.llbpQHQRFyb5XIczVNBTV3Z+vu8WZ7n7ORDki1sP7EvhrSkYZ.OlZljP7LYmdpLGKh+DY5YeeXx43rB30y+5DwtHCi1tJ5k2ytCURN0pNwJkbpRYcHdcKotqkM.ZjaBoPkq4QfVulz9jmikD3n3GGUWZn8THrlfjzAhmF1jbk.2M3bqlpuDb6cDmjsPNy+Fuao6uoxtgGE1tb0FFzm8sRDG9J7GnFo2JxApIXk37C.IgP35nW6NdhojJz0KnAa56Wdgs815CQ4N9iQ06oHJ+kchIxMyDYlb5IkhGERdktK8ynmMPtSKPT7Jh+h+ou5RBcdCUyc7u.ejqAJFa5eaOOhpPUpVr5B2rvhnkJO2pEpjXSygVhdObPU3tuMQH8JwI8eGkPKBbmuLd9Q+x4yO4jSLQ9iZoZicfA4y5+teFGAG7VGdfAmJ1AFjcCxdGxxq4.pVn4s1Gktr9Va4fHVDFIoUL51QQqunUm00hbRGoWQLecMtS0OA5kS8G1mjzAje7ObNo1S5Etp+FUzdRuv+heIAGcO4ToXG9zieV+Fx7m7e1z9WbpMsC1SNREBYeC9STUMQuJCIu.854BA9P5qinakbSOS1YyjYlSt+zy8Io78qrns9tXavXN8lUvLxyNyshkwVMVwxlGBTAaSrdHVdE58toLX3Rr7kMr1T0X9RqFo4t1X0l.ZtJDqTjpBiBSvMD897OWSKOS2U8Lff.MzihDKXfUsI2R9EVHInaEq5pj.phh4a5czfwJ5NDpv2kcYWxL1jiF7qoC9IjpU6ekKrvfekarLje78INO48LFZsOhQk5wNZwEUhGsiT2kf6fbmYUg35VheotU6QeQCEdm+oQmGM+2MR3j81Kwi9qFN9jgeQaqVKZsm4pXSONbHC+FDft+YpTGuJEWE8rNEWHi+BlJUTMCQow6e+Dx2q2VFN9riU9c3k59Qwh14ci4BlcU9qM+FUqt9Z0xLQsasQkprXOfvLtKptUqC3cCKm5ZBo6P9p6WArnwoIjYqrblwlUvxwq2c2iCNKGuKG9m4mpj3Ikl1md9Xwbjm20+nGS9qaSWN2gujdjkkkgFDJITRPRnHglHxOAEjd2SPtNkg+k9c6QOAQ2911.92S.v+Vz8mJ1KJyPxfkBxELV7wtgHo3WAgox+pxP7KXBL6C3uQV8vKfSlt9EvoaA2WWtDIAgjg2yk.7JI8UN75+dBMnbAv8Rc2Pf87xKc2S2GOnDeaiFfCVtHCVtb3hmQgDg8WV3cChUrf17Suw6icY9p3KLXQ23Hsfk.2nkkpOQbrutCG6tGEoDkI9kkCwBzKdI4xz6a9VqpB1XHVNWCL2.w0TGCPrIj3DwrSpyQhnj8clfqsaEroF8i+O3O+JyFjWDoxrAUJ0Sb7bGKGWRpK33zaT4Yb7WF334Oc33zqA6Yb7W7b7qF3gg6ddRIKIeyO4IJKZefH26dGBbdthdxi+Uxe3J.wwrtfaS+69+JXys32GYhLBEtJZRh.gqbHdu4gv11xFDpzH2MKUMAeE1XMrgpvbbS8E3FiO8mqrHjqCPW4ayRKU0+BJGVzo56Y.MnXF2gFPL6MSvvxpkvip.o.t2TgSMUfm2xRCDbcuWvydWbgOfJGEdYa3kc.HAH0P7lNAi57pzojxJPjmDARAYCbP7G+WcGERA4DevHM0xGsfIBKXHEfCGbF2HwH8JEgs80Wo6oqOg7ZQvSWeRg+9O9L5pHck+Bgz8j1CIukF7jVIou7mcFoUjzxcZt6AJK4gFgmxh9K+ydh.kUIe9e9Wenr9drGn8MX1WpM7BMK9H65hai0gDGwK4LmGbREy45BdaCH++Zex+Ns4kwFjGVu.Z9+wG9mbCxxUXSAqXSAasLXUlvDwWcYR7V7.WXUBPBcCc45l.7P.dE5KELNIfwulDgD+5hNWO8F9UDah3ghUU2ASNDGwFt3U7RqD2kZ+.PSOe5KGD4rvhD14W1YIoEiFc16KdBBumRBu8yEMIOUhkrLTsitrKmZ4Hb9tdsgnu+muzrVVWUlRxeYBfohDu7.vCIWR8qgoK9FAoKReNgVwh7hOQoGuIqDDoHTIP1CamsS1D9hz+i+cc6q8dqt90duxAl0WksqDgITRVQ2p1fc8Ho9sBMkqXtEKaY4RN0U72kJ1ljQSXCFd9AglTrinilvDHuautOEAOe9EKydA8GewhnUI2JCTY8FMnk0grJ+r+0KdjYURpOpQytbAhEWBet1eLVSed8R3+Ugl8y51VzW2AtGyZV0e.Lx75V.bGZ.passu2P0yvMnTQcsUsLsZsskodcQwUvFwVags4g8DQnngB8lJIDCzJ5ljcUNhFWOPKNkV+tuoLCbQDCDnWM1to9dEZ6l9ELmYOOlilp0sspE7zNCLtKQKAvaSpqg9g.mguQsecGIameFxdfqWqdcB49cxJIkbexcB5S9SPel3DzmIOA8YpSPel9DzmYNx9PbFMmmqUSlpHTPoBrCxcJt0LP5+WkJlOm
                                          

                                          www.anarchyaudioworx.com

                                          www.facebook.com/groups/audioworx/

                                          ulrikU 1 Reply Last reply Reply Quote 0
                                          • ulrikU
                                            ulrik @SteveRiggs
                                            last edited by

                                            @SteveRiggs Try this snippet:

                                            HiseSnippet 5170.3oc6bsDabbjdtGQ0xjThqokcP1fDDTKgC7PEZxdlgOshV0jbFRMR7wDNCojxlEiZNcMj8xd5db+fOVszPv6ZrN6tIHWxAiEAfGBxiKI4XxkDhbI.A9PB1KAHWbtD3.jCBHW1aI+UUcOc0OFxYHosrjIAr0zUWO9++9+q+GUWUUxxrF111zRHUeUNnIVH0MDKefgy1yushlgPw7BoxINqghUssO.snqlihEZ1FMQk0ZfpfscPYPoaZgswNyYYtmM1hT3vBycPSEaarpPpT8rHoiR02UEn+876NmhthQMbPQBBaXpUCujVCMmfRKI+.Mc8ETTwUzZvU6wkKVyzXdScSWfn6QTRnoRscT1BuhBoZWQTH00Jnp4XZU1QwAaKj5pyYpdP4sM2yfU+Mzr01TGSdHiPYniXEufotJghIkJL+1Z5pk7AGaAgThkBfpdXP0aItrlpVqxCfrAou.EzBd7H0UNIxKCO4IkH4IkD4khi7tJi7dCwx0rzZ5D7FBsccwhFNXq5JfHfmrX0U3J+jADm2DpggynMT1AufE7PqVjNijjzHHx+e3aOP+CzeAiszLvipapnNqqpl4BZ5Xan5lkLM0SypyXiU1A2DkYDz7VXfmQrgBsghklBvon735ZFZNZlFnzKXZgly0wwzXTTIEaGrJZNrt4dCOP+fXGT31Ez.KQ03rY0CcGjOAuE1YdyFMMMfGROTnZMTHZIWKZwlQK65SKpbzRcfVpCrlilwVHGfyPJFpnlLpZy1PUdyCNEpxqVdTUK5JaK5plqsiYCTMEc8MA8ae5B2hv1LAPhReJpfdBRGDK1n2Qq96fbLQGhbsoLgkKiIpqnaiApV2EpUL9DXKMCROfp6ZTiBFlFgfSBuYAR3Z9L1HrNCZ4SGn+9zpiR6+LB96or+g7WH9eTaPu2uuHDGAOH05P1+fAprK5AJWw0EGRQ2NR6XTaxaocy7dXd5j4YeEIT46s5CQyu9ZqUXkJnRqUnbgJnUlc4BnhqflEszryUXIRMCTPVRATZxzVMC1q8TIhi+OvvbyLmLtSXaBz6Mqjz8tVVPsVGPJFuPrRldXzctCZngFN.SOYJh.NoGxAuuyPifFpHnGNjOJGHg5xt4ToQxHbRBPJdzNAGOX4KvxiqoqXgQKSlwXQbKgV1T0UGyKi3d4cPTOgjgsP853ZvXF7Ve6I25VdyXsQJnMV+cWFCU.U2Bl6pfpqo2v1ALvPmh4rMF0f1AncM0cafGEcqwhKoqQ6NvPZixjltgKsKSa.fxHn8GAcvHHM6kv0cBj45lfcBzdZp.oxodAVBJoXf04ZquXi8+8qH.gfShlXKGMrMXwuw8Ku5Jdsp0Dugf92Y6gdOTloGAAp+NaqYClU.FmvX38Up4fTAW0F1.WXiLqC5r3.HnU2rMVaqscf9IqzLizpTylJuuKFJkZhB5dVA.qhz.QtkihgCBDJlVp.9AlzzLH.EXDiL5pVJ6QLdAr.fzMHwW3YDHLCC8aIWGZSzZ.wLP5wCf.I7dpNwGqEqpLzj5YqH4koG5okVa06WX9JUWX0kxWXsCaPjKUyMEHsAjxtZloQ6SXplZ6CyJptKANIxEaGMmZaiUGsowVj4OsfjgBSbdinphixnzI0fnTZToaG+sL4O7Z1OhxhkwdrHwQFP.LlKT2.RbOtJfZFAAt1kRjlfpShByp0LLes0zwMvCDvhdDPSrxNL6SrYDby.LccZ55v2JxrOC7da3w4A1GXS5JA80R3cAsYhhWHb3tHIDnVN7sucP+01dCrBnAlirg.MHyiW.TaMsRGLwlyhDa3jFdXt9M3WZ0S2Z.91n.hh2um+eQdKPP9MkqqCaJ0CJuODG.37ulxATzqFix7.0zRiNSVTMlYN17PupBBqSkDhVxsPjtKQdEHDPzWyUmDZBYXBrroYnh2OTMoFFZPn6MIAa.0vAuEwnGYTBUyoGGwrgnBUBD.JpDyFYxNMzxZJP4d03CjTmCs21Z01FdJTOzvDLnqTCfEBkwrxBM.rF0nodBVeXJFTZFPflJV1XHZ0zwghbSMpzvsCKJVmX0.88H73dDCSf8nlftiC0jGc51HgaAo5plFuiCH3AtkN4f1.KXh.nYNBIdtPsf14tT6aD3D6rsoZDXFiNX050g4lTqjTd5VHl40UquPbVmxksclueG.VvF91Ar7gIaP.RDjYRHctV3jE1w0xvqJs7dG3a0yUlmsq13maHtZAD1LYlZDzTRSNBpUvcw5v0Hb7o2izpQ5xb9cIKhStXrVwzAuJXTq+m1ee8eX+nnupd8DemWfF5vfkzqY3zIzvzFtM1Da4GKmeEgL4BmpnX6SUjOS1ZL25bUzzfDz1pMwFsK+VAuXAfTIGzipfDocnIR9q3kHIMCuGprKl3iUPSkjnanxxHPY.9T6sTL1BWlns.jepVkTvP0+YPMLH2cgVicOrw9a3M1k00.WyzAsWQZzcRwGrNo0uFs0yDswO93Now2PDhPk3k3AFaddF9rgZrbtb8bbm23bgZ7SpWu+tnwiGpwG8Iex.xcdimHTiO9S+zei12XVNSzF2mH6gXpGO+tcSyyd9Zdttn4w37Iix4nt.1lJp.avtnwYhLxKMdGg4utXnbWOaJq2PLHtnD5g0KlGbYRV7IOiGAIQ.kkGuqVMLaon5SLO1dGGylBod2VovAbHajGvajo9k7lhS+cFg8aMfxOQ9fVOr+GJGX1XLwnQlOuxlHZGXOl+ZWRJZiLjPvEn4wzpqR+ikYtLaUxyNffvcLQlkiHE9NbD4wXNhTpSHx6Qh.JQpT5iiRkxOMDUNPWapNfpex97T8uubSe+BEUI8HHbI4qRcYsFDRrEnSFl5NZmnTmvuirlCtAaYZyJjpewLSNUlLSNsjPP4LuUatk+S8INwDyjcboIDHqQfeozlN0TYyLg.KmPVyB5lbgpCOnbsvhN55P3oXuhoFDa0hfeUNf33GyADByHWGTqYhuWWLOYUczgICFj1fA+xJsVkV9wTrci40EKtFZIHcRXxEG1+TtgTdc412wu4o6PjiS9Xtt8YqH2JVOl5apet3Xj0awdL0sUr1AhHYmsGKuYMWH8cG6wtWwxEHqd82CWywFBHLyLi8aiV9wnJqt5RkGa8hnRPNf1nzyY5BB8gGaCHRVRJl4grMsQ4gdjlCJn0fjxNVFoeKTYsuOFQCIELOzzdrc.BtpT1pPr90sZXWcxoezzSIMNUyGBFhF+lcfn3IxgU3dVkXJb+tx1Px1XV9bANV+euaHsYeKZnUccDfv+UnIwSdy0DoV4ZXp5Yuhllnfsa85Z.tJJhTmSnglppNtjoMcEhCF7rG2f+ib73ianrOuoRXHaRff.2t+82krvkzT.KY1zsIwbOcMbEzrKo6BYqVxm57CYKPU3lmZzMAi9ypdolPRZBWWL+AFJMzpYmIrhvqKRrJTYav841l5peIpQbtj7gBMMXnZ99bh+A+fWfh+Lmf3e5yr3e4Xh+6mf3Gf2+6nFBJq3PV0.SqHx+97AxXR9PhvokSbRcGobjV9bL4+MO0bK3l76dozOIoOjSfhsMpv62Q9.BMS9sCOS9sOGpAfUfu3TCxwoFbzAWpFjjZPujuS+qzZAiyoE72d3kZAIoEbcwJVXx29+UYEgI3TD97mcohPRJB8yVyDxlSJI8f1Ic9xS+nCzC5qcoe1OkIp.IVyudE7QGd7OHBPJTJFPNoLI0bOnBQgkyRRx81Np7ZTGybTHxsqovyBA0VX60nDTnEh5fyHlQ81.R1KVDqWOqW7qovguXwr97HIdT63mcdzzXSJuPIxq2Z9.OY9u9gmQx75hKaddlQzAzIef8e9O5LRmCHt7pqU.s3rEW4a8sNSTZaWTsWmasUZ5FxLyGe9WWsazAedgfQ74+Xd74vXt39yuPcwMqght4VtX1FFxFM1hqWr5r1jkeu5C.dUYGGT002nXUavv+XqTD4WHY2W1.XW0wr2irIQfJP9t0UsX6VjHKy5ylMlXcQ4DbH9Mk63TcKXPPaUg3tGO9S+z+m614NbNwuaCm4bcN4Ro3gdXzsxkxOdkJ2CUnb4BqTo3rKUFkEDKtZ5pH5VQc3wJniYM1CgA1PQu5tYS.eElKF9tPBAN7j50+utXPF9bzD15qOHy0OUjgOuki4Ql+3ePLj4nWfykgefvz8VD2bY3+pto1VsYVrvzwvxoZW3o1J6hK5sKTIaR6PyquhnftlwNX0Jl7pTcGPymWvmoeIP2w.c1tDnmjCnml26TyO3Rf9j.5NL+laHN+8VeweOcZAbwB+S4f5+teFWnG8JtfKwsn.KvnWi09Hr1we2XrVQZevkBG72sk6nOAXuhzey6PTlm9F7OxKJs2PrzZqVY0JOtTATlQkFUpq97O7pZ+xO7xb8Ok0+O6KWq++MO0caR.U16Gcoz+Tj94d4R56kFza4I8Wv6X6TABoyKIL9h3SIRXbNcg+x+PYu8rCaC5bSwRAacdlAqf8kQ3saAA8FO6LiOyDYxjYBgPayiPugt4fRcMwmNP+GFwrp7ihsoaxKuPLypilzVb4DX8PmLH9OClJOq+CCy5QaV.eCbSlIklB3mImNI.PJyTSJcp.vQhzMG+PjsiYYv6m2INhcRGFo0qnmuOq17RxlO0NVojMGJqAwe2BJ6ZZAjF4vRF5kq3RnV2Fz1jKtn4W9ihJZFbOpnwOYc.7TwFjSM3t9a+zT8jf6uSXGsEHY924cO8jMk2k+vO1Qq5v.dhukh33Wlei0H71Q1XM9qHmWfHIDJWa8d21cNkPgNdgMXC+0DI6J2SeuTcG4vJeYFe7rSOtzDSMgP7PQxI2Y4fFcCBxskAhxTQbZ7u7EWlnyoqXri2A7ibLQwXCuSC5I7JT4JEqL+8JjGsvZytbgxIV0rnEnmRGTYtSiSTqRwg9usbf4.tMYFu7nOwb4lXhwGO2Isdsw10f7o9+neFGfCtrC10fSFaWCxNeYuKYM1rg4Un4L2GkdMss1xFQLGLbRKazChxVeVy1OQKx1cjd.x7lnwsy7ITuXp+jdDDNf7i+oqHzZPu1M89ZEsFzq8u4Uh+92SLUJ1NP8zG0ugH+t2mMr+UWXC6.ck2zPwsuN+1ppZXWJCJNO836BQ+PZqcXeJYmZ5LyHIM8Y2o5U9nTdNUxaosK1BrjSOcDLK7rMda3xXKIa3xlChVAaQrdDt7xzyNyZfUqvkunt4lJ5yUZ4HU2wBqz.Xykg.lh7pfPwB4Chdd+msgoqgyxt5Pjf5ZQYh40wJVjSQ+7ymD0sjYMERTUQ47McOYxXIMaBJ7cXGXEoQmXD+eMk+Og7sZ8qrAE5+qriJQ9w2k34j2sXfo9HFUpEKTmhIDpiPmkk6.bab0PA2s.+5cqzkNhFL3NAfFhdzjfWOgs2a2DT5udP+S597VlMyatmwxXCWNdPh+qDfdxkSoN8oTbunqmSwEu3WwlREclQXswm7jDR5q6VKN9Tjk+C3059gwh148h4BlcT+qN25Upr5JUkFu58WubEVrGPXFOBUyr4AIsJYEhQ2Ej67kCKZ7Zs4K1vCDuQmcvN3rh7dbXgzOUNwsNMsMc89joy1Rzc3Vq8Ur8vrPr8vr7ZsaOL20dIx1tk.n2eRW5kH522MBS7vjbRD+VoYPQ5kt.YoW3uvbHZPdufHr4uYZH9NL.kfC3O5Vm6aQmDODjcH49FhkHIQjL8dkDnWAguvoWu6jnADY2UEAD6UEW3Qm0KfnLc9EPT+bzxqwnkqGrJaTJIzGhNzcODq3Pyxe9ceH1g4OiuP+UmiCZAKDNQKKUOg4wd5LdrytXkRTm3WULfKPu30jWidtx2ZYEv1Cwh5JfYHH1mZXfhMfjqHml3TWgD0I6YI+iiaYrgJ8g+O3OuWlwO2IxKy3+RgtRhm8Tk3fIjSWhSO5kWJweYPhm6hQhSOurWJwewKwuouGFtCDJEVR9HhxCJ4sNHrz6wGCRdthN5S90xc7R.3XTKjayhMZ5BIcrD1XK9XMH5HT5pnAIRDtxg3.mCBmaKKPoRkbHtTTC4qvBqh0UBMF2Sadt93i+Ex4g7g.bkuNKrPEuSxbPQ72aAzXcYfKMNW1O0MMaF5tOfT.2UevElF7W1pB86ertm20ZWbg2mpFDbnZ3E8.k.HED1nseuNmBcHoHIhb0GPJHiu88+z+lMjIEjM7cFogZtnELdPACJCBH+8xFIDmWo.1VGSkNGWOhbqPviqGU3e7CuDWCiq7G7iNGZOlbmYvCsBBe9O+RnMLzxsqs6Bjkbghvirn+5+hiBgrPJv+hu9frdNb6u0IU1SqM3fKG9d10A2hqC.mvGlYNGvjWLqiC3rzG9+M+n+CZ0WCqStY87w7+yu+e1cIq5fEkrhMDrEtl8xDFH9WuFIbIdhK3UgnD5GrkqYgnGBwKSurfwIQLduIQJw6cQGqmeWuWDaf3ohkU1AS1rFw5t3u3kVMtdacGPS2G5K5G3an09q8WtyBB4iFb0CCuHQOVNgq+4hFj6JwRl5JVQW0jKrP7uZGuzNAWLnuLrTT2TjB4uLQvTUhWdH3AEKo70vr8dS+r8nWaPKYRtYmn3wawJAQJBUBz8vVYZmMgOK8+7+Pmdgu2riuv2KefQskYergf7AIKHaEKvtdjL2VhlxUL2hqYZ5P1UU7mYJ12AilvFz87cBMmV6vNZ9BH+uKlUh8pek4lp+7Ms679IA5oyH2SY8f5ymFYtDK.9pzg4BsL9VWwU2wuzvSDV1zvr41lFZ0BqKASf2ZKrEOsmHCEMNk2RNg.TVRyf7UciLcnKvhKn0F6aJxHWDY1K5UiOkSOuB8ob9JlmluLFiFJ0rLq5e8HCBtdok.7sA0tcePTsvynVWwhhhjiZQCvhX0Z0Hv86lQPH41j8Lzlbmg1L9YnMSbFZyjmg1L0YnMSehsg3LZVWGyFrohPAkJv1E0o3RnW3+GCZsx1B
                                            

                                            It was like @Lindon said, the "zero" inside the brackets means left-channel :)
                                            and the declaration should be

                                            const var MasterGain = Synth.getEffect("MasterGain");
                                            

                                            because you're getting the current level from the module "MasterGain" not from the component "MasterGain", sorry 'bout that.

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

                                            SteveRiggsS 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            57

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.0k

                                            Posts