HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Lurch
    L
    • Profile
    • Following 0
    • Followers 0
    • Topics 22
    • Posts 131
    • Groups 0

    Lurch

    @Lurch

    16
    Reputation
    18
    Profile views
    131
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    Lurch Unfollow Follow

    Best posts made by Lurch

    • RE: Neural Amp Modeler (NAM) in HISE

      @JulesV Don't know if this helps but I have this working fine in my current project:

      //ML Model Loader
      const neuralNetwork = Engine.createNeuralNetwork("Plasma");
      
      const namModel = FileSystem.getFolder(FileSystem.AudioFiles).getChildFile("Plasma.json").loadAsObject();
      
      neuralNetwork.loadNAMModel(namModel);
      ;
      
      

      I renamed my NAM model to a JSON, in this case Plasma.json and put it in AudioFiles as I found Samples wasn't working reliably for me.
      This then pops up in the Neural node in scriptnode no problem. This is a 1000 Epoch NAM model so the json is pretty big/has a lots of weights.
      Again, hope this helps!
      And thanks so much @aaronventure for the help getting this going, it's been a bit of a game changer for me distortion wise!

      posted in General Questions
      L
      Lurch
    • RE: Preset Browser callback?

      @d-healey Ahh gotcha - thanks as always d.healey!

      For the future:

      //PresetDisplay
      const var PresetNameLabel = Content.getComponent("PresetNameLabel");
      UserPresetHandler.setPostCallback(function()
      {
      	PresetNameLabel.set("text", Engine.getCurrentUserPresetName());
      });
      
      posted in Scripting
      L
      Lurch
    • RE: Best way to do wet dry volume compensation?

      @griffinboy This was it! For some reason I never even noticed the drop down on the wet/dry gain! Thanks as always :)

      posted in ScriptNode
      L
      Lurch
    • RE: More Types of Saturation

      @griffinboy Can't wait to see what you make, this sounds amazing!

      posted in General Questions
      L
      Lurch
    • RE: Is it possible to insert a looping video in a UI?

      @ulrik That one didn't work properly for me so I use this:

      Link Preview Image
      CSS Sprite Generator - CSS Portal

      Welcome to CSS Sprite Generator, the fastest way for you to make CSS sprites.

      favicon

      (www.cssportal.com)

      What I did to get this working was:

      • Trim the empty space from the video edges.
      • Convert the video to GIF - https://ezgif.com/video-to-gif
      • Extract the frames from the GIF as PNG files - https://ezgif.com/split
      • Convert all the PNGs into a filmstrip with the above CSS Sprite Generator
      • attach filmstrip to Panel in HISE.
      /** Looping Video Panel */
      inline function createHeadSprite(name, x, y)
      {
          local widget = Content.addPanel(name, x, y);
          
          Content.setPropertiesFromJSON(name, {
            "width": WIDTH OF SINGLE PNG,
            "height": HEIGHT OF SINGLE PNG,
            "saveInPreset": true,
            "allowCallbacks": "Clicks, Hover & Dragging"
          });
          
          // Asset Strip
          widget.loadImage("{PROJECT_FOLDER}FILMSTRIP.png", "filmstrip");
          
          widget.setPaintRoutine(function(g)
          {
              // Calculate the index (the filmstrip has 100 slices, each ???px high
              var index = parseInt(this.getValue()*197.0);
              
              g.drawImage("filmstrip", [0, 0, this.getWidth(), this.getHeight()], 0, index * ???);
          });
          
          // This is the sensitivity of the rotation
          widget.data.sensitivity = 300;
          
          // Save the down value as reference for all drag deltas
          widget.data.downValue = 0.0;
          
          widget.setMouseCallback(function(event)
          {
              if(event.clicked)
              {
                  // Store the current value for reference when dragging
                  this.data.downValue = this.getValue();
              }
              
              if(event.drag)
              {
                  // Use both axis to allow diagonal drag behaviour
                  var delta = event.dragX + -1.0 * event.dragY;
                  
                  // normalize the delta using the given sensitivity
                  var deltaNormalized = delta / this.data.sensitivity;
                  
                  // Calculate the new value and truncate it to 0...1
                  var newValue = this.data.downValue + deltaNormalized;
                  newValue = newValue - Math.floor(newValue);
                  
                  // Update the panel
                  this.setValue(newValue);
                  this.changed();
                  this.repaint();
              }
          });
          
          return widget;
      };
      
      const sprite = createHeadSprite("LOOPPANEL", X, Y);
      
      //	timer for animation (FPS)
      reg count = 0;
      sprite.setTimerCallback(function()
      {
      	count = (count+1) % 24;
      	this.setValue(count * 1/24);
      	this.changed();
      });
      //Speed
      sprite.startTimer(62); //Play with this to set speed
      

      Hope that helps someone out!

      posted in General Questions
      L
      Lurch
    • RE: Is it possible to insert a looping video in a UI?

      @d-healey I saw in another thread you advised someone to check the pool to see how much memory the bitmaps were using (if I understood correctly at least!). Created a popup window, Image pool table, although looking at it now it might not be showing the full size as hise sees it.

      posted in General Questions
      L
      Lurch
    • RE: Is it possible to insert a looping video in a UI?

      @ulrik Thank you! Thank works beautifully - I had a few issues but I've got it going smoothly and it looks killer. Thank you to you all.

      RE memory usage, I cropped the dead space from the video when I converted it to a film strip, according to the image pool table it looks like it's using around 100mb RAM, much better than expected.

      @d-healey Once again thanks for your help - is there a way we can update the documentation to reflect the fix above? Or can only Christopher do that?

      posted in General Questions
      L
      Lurch
    • RE: Convolution impulse not included in final plugin

      @Soundavid Thanks for your response!
      I already have multithreading and 'Rebuild Pool Files' enabled as I suspected they might help! I hadn't cleaned my build folder, I've done that now and recompiled and ITS WORKING! Thank you so much for your help.
      Just as a learning moment - did I do something wrong here? How often should I be cleaning my build directories?

      posted in General Questions
      L
      Lurch
    • RE: Neural Amp Modeler (NAM) in HISE

      @aaronventure it's been a long week 🤦 :

      posted in General Questions
      L
      Lurch
    • RE: Neural Amp Modeler (NAM) in HISE

      @Christoph-Hart Any news? This would be an amazing addition to HISE.

      posted in General Questions
      L
      Lurch

    Latest posts made by Lurch

    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @d-healey hello! Yeah I tried implementing the custom automation handler in the snippet further up this thread but I get a load of errors (also further up). Do you know why the XY knobs don’t produce automation when controlled by the panel but they do when controlled directly? Seems like that might be the simplest thing to fix and would give the automation parameters I need too.

      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Lurch gentle bump - still stuck on this one.

      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Lindon My thoughts exactly, I'm not sure why using the panel to move the knobs doesn't generate automation when directly manipulating the knobs does - I thought calling changed(); was functionally the same thing.

      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Lindon the XY knobs are declared as plugin parameters and produce automation when automation is enabled/recording in a DAW, this is great.
      Using the XY panel to manipulate the knobs does not produce automation in the same scenario, despite it manipulating the knobs as seen in the snippet.

      posted in Scripting
      L
      Lurch
    • RE: Neural Amp Modeler (NAM) in HISE

      @aaronventure it's been a long week 🤦 :

      posted in General Questions
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Chazrox On the XY Knobs? It's doing that already annoyingly

      
      // Mouse callback for XYStickPanel.
      XYStickPanel.setMouseCallback(function(event) {
      
          // During dragging...
          if (event.drag) {
              // Map the new panel position back to knob values.
              var knobX = mapValue(this.get("x"), 0, XYPadPnl.getWidth() - this.getWidth(), -5, 5); //Left, right
              var knobY = mapValue(this.get("y"), 0, XYPadPnl.getHeight() - this.getHeight(), 1, -1); //Top, bottom
              
              // Update the knob values.
              knobs[0].setValue(knobX);       
              knobs[1].setValue(knobY);
              Knob1.changed();
              Knob2.changed();
          }
      
      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Lindon lets try this, stripped right down!

      HiseSnippet 4807.3oc6b07aajjcuosaOVzxyXO1IHmRJnKKksLMIknrcbFHRIRZy0hRLjRdklAKFTjcQxJtY2b5toj3LqALVDfbLGxkr21+CBxsDDfDeM.6gEHmxsIIWyAebuM4UU0M6uoZpO75MXHLr.q58d0qdueuW8ppK1MMz6RLM0MjRkduIiHRoVTt8DMqAaM.S0jpWQJ0sjK2Yho4AGtGwzRZyIivllDEoTot5yYjjZgqIw+79M1Dqh05RbaRR5U5ztjsoCoVts1rzKopp0vJj8nC8P8Zkp2UWaKcU8wf5bU4bRivceMtOYGLirqHK8Br4.oT2WtXgU6tlxiUJTn3SWuKdcxS6g60K+pJqs15O4o4W8o30dx5jbEkRc8pJTKci1VXKhoTpqsotxj1CzOVSL.uhZR6nRXeIuTaXjEMWSWUgMEYsJs0.ppRSG6joDHkltVsqJrZ2StAUgNscWq2s4cfb4vqAL0U7qdW0m5k2q5kyi5EgJkxiJcMgJcG41cMnirb6goO2TttlEwnGF7SdUEAsRW4u4OS9QWDePk27v1sQmQtS+ne++IcZ1rfA8QTSDVCgU6qaPsFP6hLHGQL5f5fAqGBanOVSAUoZ8cp7SLQO2fLYftJAUocyUPXTKFslvWIp3IPC.ofvZrMZntBQEo2Cn44.BGvLZ8IFnxiUn5OZuATCETCfxVjt5FJlnlpXygXzV5TUTEpI.arn5ZOr13u8aQMIJXUg.AEZrIUqOZmxMx9LXNHlB585AZA5fCQMwJHHNyxPWL3pC0Msf+nh5MVqKSllqfFRvZLgL1jwUWPM9lwztuVcBW+oZVioVziHv2GpeDA0gXcLg.ln9F.TC5XEjhPEA04XHpkvz.ayFXCF1gRzrr+tovnXdLQUkMlN8NBCy5tFDLSHclfrFPDbXRbkDyZZOCzl.yKfWMLaRvH2fP0xBlf8.N2TERlv8K8MviXNQvqNxP+HJDpCLNFzUyILsbmxsKy7i5JJXvGzFxBQP0To8GXg1hvhddzOED8vIn1cGnQsrFhgQggV1Z2lG1p9yewdncp9ppsZraqpnx6Wo9tOZ6x62p5NaUE0r5d60FUHWghqfJu81HN4sQsp1tZqWUsRVDHmC0GiLGnOVUAM.eDax1kByWXlB54HtNJrEpjivfgp59aWFc7.v9S0LsvBqH2suBh1CMADmBUAooC1TUBfY49ebWKT6wiFANoR6vLmC0MHbvW1t5YG+ZTOcCjBwBSUMAfDnWaw8ELuuHAB25qpC3odf7LyldK3OfAJ6P7qI0LfuLMWSl0ykaEzZ4xs7yRCCN3tNBaf7rvB5KP70cx1mXwSuw+Vlk7PxR93ce.Y1DPaDqW.pgJD37EnpZ8oZjrBLSHBxrLeVHzXFdmOYQ0np.5rmg9PtUk2nnM9x.Fr4qNuql55posGClPbIElm5rdgg.kNMaTZh0HplHOJ7AG9RM8N71AU0wTwlt5CGoqAeIyRdnAlsP1SHdk0BmbXIEhAW3m2byubmc27Lma9ikzyeLnCtd2Jzd8f7t5Zb2Ub9WeT4GO2l9sjYxqCA9Yi0xpwxCu2vLr1LYXsvLTblLTLLCqOSFV2OC7UFaAgry114kpHDP6QPXuxoKBW5hPH0HDkNvBEmtX7RYDBpA8jSWF1DE17kellu7gYnvLYn.iAVhCgryTodsZ62t9t6rb5zTMX4Bxz09Q5Z9.oaIpTHSWGItBLlpiIKm96Rm9MfTSDPOqIqWtj1Bx7xraYhdf7nnEPYZW+KqFoN5DLbFUO2Xon0r.hWrvgHTKSs8+xuD0n9ArFCqXbhNiZkczZzpjWA6pOqA1nWTuQips3pTbZzZmCMZsYoQqERiJhxzX2JP0vM26EwpOEOG5SwYoOECoOqKzmZsp9WFq5r94PcVeVpy5gTmGCQedSjEcDnWJNqQf9SWFSDXDCjqt9Dac0MiY7ZqKMmG80at4YnwgFLWc9o15r2zywq0do57n29WLXFZdDCnqtmOmsxautP75sMAmGUd5ZOyPa8OLBE8bT1IaymkqfpuydUaUqLrYn+v9rAdNwhusfgPg4vbisu5QrJ2y5qnen4lZypheAAKYu4D68Xw1YEHkdz9iMH7Q4fCaaA6.uY3QvscOiBVQg2DaDbIXoUPv1vXaBym3.DPlkNlpXM.HnPzcOfv1.b782ou3j6XCwI4xUi+IRJAPl9wNPMSf9kJCaFysgHXphAtOrsq9axNoEyLNFMlsba8tXU61ysrsUrNrsbJVEVEma6dM.hMQXCC7DulNQyeA5q94g3h20JHxIiTocoVpSPfVXw1WMHOpAxfcVM1GbA1zj1medCnt1ShroYadNCaPnv.j6Yve9KPEf+7fGrL56RifO7g3qn+7YV41RnGfxPg+KOapwXi+efxV0mpwGcPaIcYGVBW6xxoD1+Ov+W.5fy3ZyeMPAO4gizMorDK+4BdXmIxCKlCAa3sXtrSI2QUYthVL5x7vhqff+kKat7150aPv9cItiW9HFuIQMd7QKetYOb4WAk2+v4yXz11B3btVN9AlnALoczoSVzroCNJAy+woGFo2vwEMzGa55a4mKh+nwfvUNCSElyvlgbD3WYlEG0txXCFjRwFcmMqqOiSaVVOAriMvi3SUMxwhzMHGaJxYFylYhEBLcMpN.9C.71P7nWw5Ni0.pIC0kYoSVZYdtAugV+LVFgLKidHxgN6VVAw8+7SnXaROXYGCVxgPi0gQOVShXrdAO8huAyoItq+g44i1d5iVA0Q2xRe3zQyq0Y+QJrzmNA8grBBmdNtSWnVbaBH6.xRPX9.DdnM5i8guhc1t7SsUISfNJDrCNd00w1EhceMQwALDnWE8wcTIawngQwBQp34bU5EhTgY4oWHJEcgXTx2j9MNqBMEq6T3AU6H8WyNLW1wLhEFWH3kc5uJYCUlB2yFtrDz2MMhsBwhXLjwzwCncGHD3wXHKsxe0XSKlPYTZP5inJm.3H97KKUSgbxt8bEs2rh7bOLhEY6DocnFP1dtz+ue6eGZr.ebxzfFWngJagDVXkuHDthai2mQ.huL.t83AUHD+A1GJfvmz2wU4gtvqWdBrDISs7PDTAhWz1ptNc9.7nhOHWVQ3oytUQqFfiX.tEcE0Cyeeaowkzzc0gJFfiHDUnhcCK16m+ob4Vo51kODUqZ0JaVdqWNCID2v3tafnz86+zbdFl1MaUsbkX4OtgvtP3HjeduRGryQyWDxMzhlBfKaYSwJZvZYJg.tSlEv8vH.t7TmyJaaPjqSWgftG5A5VHgP2IBn6gQCc8c9Ot1V9.IrpNmSEJOJFthvx5b3MAj38WkKS1QJgJDl3XhGV2mOWHH23A1oJfVO.CwAhb1mcP8RDFfDPnVk2qZLrE0JJSym1hLB1FhEaswAh5BLYkBXP5oB0DhD7ZuPnO+jgfQGoNEkDncVoPrUF12hpRsl3lpGFD.yAKIvAbhmiBjY1t9NnWrlN6QwEdQhfPUcUkFTMwewmvAN7uy9K9DmxfLHViMzPBl.7qfqkQ2GkQPHzlfykQOBkQHLOz8.6dYE28rzd1X8N5Vjc0xv167BPenfc0qWj8YW5H+4KEQ2rq3fwrXLi13gcHFd14NmPoTWy+cCPN96Ff2qtPWwVI7PntFaeM6NhnE2EZPxd+GRRotqsVAjZwuEA2x4VDv.KRTEoTokcvHRbU1608P5zY+Sk8B+RfH9TaQzVkpPLrkwKZVipBUPvBLBJi8JkLYrc7x3f+kDJilTqtCryxGTO99MRhL9DY95wmGlWyGynm8O9ejHl+LYe4WNath6HGXMzPh4sIQL2UNz58mMA8oxdW38rJilFDtXhRF+1DYbSK6rxxYytBNGuqyc1Dh.dT7rYEDLu94g47mG0tvbv7ligcDpwYdQ4WQL5X2P.I79Mj1udErElciorS5AIBGQLrnrbropPNh1kHt+TK.HIyWaoOBblSOUFoT2NA4EOY5PhTKMY5WdamR7CYaZCuqSIwwpMskeMtj+iGigD7c7XRczM.CUKrBcroqnOpjE4DKmKO2hxqU3wOI+Syk6I4jnVjgduUcteufnAmitiMGxu9ie7iKjunjI9HRcMwEnPrvwH0w8oZMwF3grMuItUd2PVbkhjTH8viUEE13MMlPcYACd8jLy+TS5mkv0JbMqkZ5wrVZmol0qeOa4O0rNsE2I4BW+G9gef21oYpGgM.Ezil5wGGmafKSmyqTX37YvWTN+p4JTHWthOtnOWyMkeRtG+z0gNeRLFy2uQXmhjGs6lwYG+L4FXXO0F6WOngDVrz0PNxH.9rzaChOeWqRQhV7NQRKu5pEKt1ZqVH3L2CnzKZ0ibNx6MdL0U8L4tWRqFvcx81uxyjC93exIsSDStPd7flNnZs1VfB35ye2WWpGUcnIq05Cw8Ak7OU96Z1Z2eZ0s16qqs61Up15M78wkY0kyNB.Elv1oH0vcsX2VStTJs5p+OaXB0rsGXV1T+Dw7eH1ct7NiRCoJJpjl16+ycVhgdz75QA8cj+.t2uQzHp8JEYP8BxaqeLZqwVRTyl9IvNUfS0i0UldAg42ywNrXFAk04Yx2VmIFeg6K5GltMtiML8Vfij4BEsbhWWmmjnurzo4GkVKreL.Hgcg0Dy06IuI170DiinPM7n5VXUZWIBT5MdJNjgUYnTaiRV+S+zSkr+490kqYP9FeAn2MoUi5AC+MefvvIETNmXcuXXnpZuH0R+swAoK8OTJR7JHfXVD5EzKF35KngfqoiGtt8kHbc6yIbcAaaRVeHv6jz8x3Ncd+uvKBbsRI.AdQjjzmO61xkMK2Q+HRa8MIv5q9caKJ2d.cHrOaP4kNUzeRA5wUPSLXVnGhFyInHX2+JYdATKDGf5t9bAyDVI0NneXuPvpUiBV4yIeJvJAP55x.4YSVgF2UtgtxXU9Ev9BoXiXJSH95JhoPjHKZwuK55dsSm510OwaHw7lg97lTcdRfGBCDkOJdLsaB6e8u5W8Ouga5728a9M+ua3CWey3v0etL6GoPRf0mwrkNNE+4ASD5dAYwuqhrbx8W0T1RRg232LNElS7twt4ESLO9z4MUZRf.gq9LVLwYM0ru3MeIKkRTrWvCr5hsJonLJWhwkQXu88ioyagSRKEYM89h9tUbQe+QxaMP2XroiY6xH.Lnm4LTuxmHy3N5vPe.tErmO4CVtMi+nVlJQmZ4E6tFiBK8gbmiIKu7erskj+vpurfFgM0mB3HJ.PzE3Jjo+RSt0bcDym38ja9CdutuTFGFLkAe86jAL9SBaptLfFQ4Qtf.G2T1Qp9gGKlzGbfmiv8W7+yPFeeBQA20mE4xYWt9r4BW2hxUnXgoJ64GN304+4I8I9.yR4TJhYnbpeRpD4zuDqUPXXthrTR1jZo+qu8uN1Mo9a8TWAjP3+bi3NwjnNlkaxrROjalR7QpjdpkMgKJ8YSY3B.wkns.rn6zJqTTaY1KzX9Pb2NIOePNZ6ecNQaWhYO7kr3FwcFcR+tjdjI+tM7UZ62OWXtqKKr1ID63XTu.vNNkkxDY14qh1HdtQS81m11L+zD+Hg43lAolObyEyNJiN4UROAs4KmyzIsjuyh3eOgqhcO+VsKLfwhtx87hNB5XOumDQQAz3e5hAZbgjoIHzv+d9lwwOg6ZnO8o9eG4czQM71zEAD6SfpPFwLNIBOcaA0WPXoyvFkugPAhXoJGu+YOEiyc9fie97qboV.z7.27sjz8RZllqUZ9Voge.BICE7orB5Yz+gpHkaxFPjHb4TRm33DOMXP53NE+aI648PQrOAh0CdYV9kglasO8KKPjWHkXN0+TWKQOIKm6djmiis+4eKb9MJ9pn4duK.9Lt7YRgSDdIVG27.9ug7AnxGTusD0rAwBGfEojDR.hXZvvz5Ycl4aOeAB2xaffcDvUkOHhC3OzQENa+17rLZgK3iGJHBJNLh+CB9e6iWHygmeHygdfL1kxNWPFGnwgRwAdtPgLoS10NzE272+KmIt4dglR2qTR2Y8BxUseDJwcaw787VjB+Fh61NmJk+WXcrWqetGWku2Rbr2mSZ.hchuGCwE0awtjph2w9oXGoNdkHzQIoKEcz9c+2sjq1qGoqkqBdM4ZGbI8h96JdF+aL8M1Hc3HUxycFd163uQis3eO92WiRR1GKiaC+L+nyCKEwazw5Z.TzpotJ1HnM9pIdRle1SxqkXf.aJg9nFr94hy37ickj65+3VIusbS7uub1szGy90+2.CKwxVrZGXMXn7zt72ZirerUrEvtB6FpK9dN124k.SzT3e4GfO1clm88T1cl2oSoDDYun7tistHBso+Xn8OFZ+ig1enBs+PLF7iJ6qseCXvB0tAuEXdqwKKFRlfsFaHru9+gw7t8XaYk90c65WZS4UVtr4fv+dblMSWQ9G4HdNXuVnKO1RenvgHI0nYU9OMoTobpqGv9R+e6qrPqB
      
      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      @Lindon That last snippet was updated with Christoph's suggestion discussed above - the erroring code was included to show what errors are being flagged. I'll strip that out and see what else I can take out.

      posted in Scripting
      L
      Lurch
    • RE: XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?

      Anyone got anymore ideas with this - I've just got this, and the plugin latency calculation stuff to do and then I can count this one as in the bag!

      posted in Scripting
      L
      Lurch
    • RE: Neural Amp Modeler (NAM) in HISE

      @JulesV Don't know if this helps but I have this working fine in my current project:

      //ML Model Loader
      const neuralNetwork = Engine.createNeuralNetwork("Plasma");
      
      const namModel = FileSystem.getFolder(FileSystem.AudioFiles).getChildFile("Plasma.json").loadAsObject();
      
      neuralNetwork.loadNAMModel(namModel);
      ;
      
      

      I renamed my NAM model to a JSON, in this case Plasma.json and put it in AudioFiles as I found Samples wasn't working reliably for me.
      This then pops up in the Neural node in scriptnode no problem. This is a 1000 Epoch NAM model so the json is pretty big/has a lots of weights.
      Again, hope this helps!
      And thanks so much @aaronventure for the help getting this going, it's been a bit of a game changer for me distortion wise!

      posted in General Questions
      L
      Lurch