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

      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
                                      • 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

                                            8

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.0k

                                            Posts