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.
    • 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
                                  • SteveRiggsS
                                    SteveRiggs @ulrik
                                    last edited by

                                    @ulrik That seems to work now!! I'll export in a second and try it in Ableton. That's been bugging me for ages. Much appreciated dude. Thanks! :)

                                    www.anarchyaudioworx.com

                                    www.facebook.com/groups/audioworx/

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

                                      @ulrik @Lindon All working in the exported plugin now. Thanks for your help fellas 🤘

                                      www.anarchyaudioworx.com

                                      www.facebook.com/groups/audioworx/

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

                                        @SteveRiggs 👍

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

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

                                        9

                                        Online

                                        1.7k

                                        Users

                                        11.8k

                                        Topics

                                        103.0k

                                        Posts