Forum
    • Categories
    • Register
    • Login

    AHDSR envelope floating tile laf

    Scheduled Pinned Locked Moved General Questions
    lafahdsr lafenvelope
    4 Posts 2 Posters 42 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.
    • R
      rzrsharpeprod
      last edited by

      Is it possible to change the laf of an AHDSR envelope floating tile?
      I have been trying with local look and feel but nothing seems to affect it visually. I'm just hoping to add a simple gradient fade between 2 colours and maybe a glow effect on the line if possible but it is proving trickier than I thought.

      I have done it with filters and equalisers in the past with no issues but I can't seem to affect the envelope floating tile at all for some reason

      dannytaurusD 2 Replies Last reply Reply Quote 0
      • dannytaurusD
        dannytaurus @rzrsharpeprod
        last edited by dannytaurus

        @rzrsharpeprod You've tried the three LAF functions in the autocomplete?

        CleanShot 2026-01-28 at 20.49.40@2x.png

        The syntax for drawAhdsrPath is here: https://docs.hise.dev/glossary/custom_lookandfeel.html

        Meat Beats: https://meatbeats.com
        Klippr Video: https://klippr.video

        1 Reply Last reply Reply Quote 0
        • dannytaurusD
          dannytaurus @rzrsharpeprod
          last edited by dannytaurus

          @rzrsharpeprod The following script draws something like a glow.

          It ain't pretty, and I doubt it's very performant, but it might help to get you started.

          CleanShot 2026-01-28 at 21.07.41@2x.png

          const flt = Content.getComponent("FloatingTile1");
          const laf = Content.createLocalLookAndFeel();
          
          laf.registerFunction("drawAhdsrPath", function(g, obj)
          {
              var path = obj.path;
              var area = obj.area;
              var fillColour = Colours.red;
              var lineColour = Colours.red;
              var bgColour = Colours.red;
              
              // Fill the path
              g.setColour(Colours.withAlpha(fillColour, 0.05));
              g.fillPath(path, area);
              
              // Draw glow with multiple strokes with decreasing alpha
              var glowColour = lineColour;
              var numGlowLayers = 5;
              var maxGlowWidth = 20.0;
              
              for (i = 0; i < numGlowLayers; i++)
              {
                  var alpha = 0.5 / i;
                  var strokeWidth = maxGlowWidth * (i / numGlowLayers);
                  
                  g.setColour(Colours.withAlpha(glowColour, alpha));
                  g.drawPath(path, area, strokeWidth);
              }
              
              // Draw the main stroke on top
              g.setColour(lineColour);
              g.drawPath(path, area, 2.0);
          });
          
          flt.setLocalLookAndFeel(laf);
          
          HiseSnippet 1514.3oc4X8zaaTDEe1jrEhaaJUBAWG4S1MFG6Dm1FBnFW63zHRZshSa4VY7tisGxtyrL63jXU0y.huAHwM9d.G4Xk3NeF5QtEdytq8tahw0wBnsBeHZm2el2u48u4MooTXQ88ERjQlCG3QQFWyr0.tpWsdDFGsacjwRl6S7UTINjz8G3Q78o1HCi42QSvXwEPA+d08tOwgvsnwjPnmHXVz8XtLUL0la8ELGmFDa5gL2DRWYqcsD7ZBGQe.OyaVB4QrNhzk9PhVr4LQOf32CYbKyxz6V4N1s2vp8sqTtxZVaTYsMJYeWREZGKZox1aTockMrJcGjwU11loDxVJhh5Ca58E1CZ0SbBOz.Og4yZ6P0KJiZAVNjLpVOlicygNGeDxvrYrqZ9PW0GZtOylMhdrK6CBXfi0HoSyXtIAoxWBHYj.RKDBoaZ1xRx7Twbz34pl6xgHXGBDaRBkPYQy8sKXVS.RvUEcIGQaHgEizH2sKUp.F9S9MyjAhO9JbGGE9ywCUoKUUS35I3vhbYa3HHJFu6gLGZ4rfNgp3P5jPEKIEN76IrHN6IDGUka2fRcxos.HXQIsKSmx0nO2RwD7bYskjSp1y1W1jn5ks.tyPNcKfEs+57YddFL76XhD6AR.lBnVT+4liXP.iFwP+YLiNP1XXVW.D0e3CXvNVBGFmNYIZ28umeveVYEbCvNXUOZ.DCH1snu14okO2P0Ngo5U0wqGIWLtJfKUrz54yuYjVZNZOQN8NUH3jkOsspCNLbWGwIX89gc66nXdNTruRJNh5GR0lpCD9PzBSzVbzoQq3nyS7gO93x66tCHydjAToOHy5wrbImpY8TlcPbXU.4IfVGgDmiAzKsIlg+rzaDPZ4kyGHWX7bTnSiNsREWGuBlsYJlgGog1Kk4uk1Vqj1H4i0dzGSNND6MJDhj7I1itE04lmKXTHInhD9EWL9nyEbglFQRiEbrR3cgLi3.vnDfwZyUKpqQegtJBpP0avEpvfpq7aNr3Ar2CEJ5i34z0OKlAP34Y0oyX4oqikBGGpbrr0s0kSRwbPDoMEbmGSb5SGIHzFKcuwqLc8FsBaqjPPAeWNS8HOZz5FBGacOO82WrSJJpuD70i2sNQQzMWinAx4QkJlFNF0oGCWmE1pcQy5T+if3UfrQ8+fdspn6FBatlrcHhAH3Flo5PhNEtZw36AKOP+wyiAyvqiq9f5sNXGIwqGZXSFv3W4rnKXYJpaLUD5ryRSc0jjUzSUID9LT.0fSrQKScMW1Q9kcsy9o3rAVGuM+XpC3GJmsfVlc41zSAteR4fkfyUWwIjG4CWXSAFcHN9zLuHALVK.yQFDcwKtfqLE18cHpz2ipmvHhAj.k5xK8ETbelZPxIPtDWtVZhWtNsP7llMYJqdiGiyMFLBoV+afwnQRtt41c5PsTw.bAyFe4rN+wza9kBM+UMaA8pBFfLv3eTvZ7SIGSw6P4To14UdByP9xocFRuodFxGYo.yenjv88D9o13VTW1gPcqeRhO1GF.h9MGnilIoWSPjik0qtWC3PNVcZQT8kAoEUcE84pToAymNNrvz0qKcEQB4eKYl0+YJqdCV4mZr5aDhw2KrKbTE+45IlBa6K3BudBNyJYr9.pRx51kJSh3wdLppTvadp0WdbpL05TKxfyQcnvin7i+7VgT1iBPKh7W8xk+ie4Av0eWX6FQ3O+gsZ02WEWHt0u8SK+qGPcfYCis2286assk.BIzYzseIdf0jRMttY3gDGT3eoyKVX5xKdMCLLkXcogXMLh71MXulYPZw6B90aXFkv9NgicIynZo2EbsSbfl4+ey.MSxE8wlw2qieyLc5Ah95mPrOAtWQ+BhG12sELwiEEPImSc70OlXN8TKgqKoWGNxC2NXwYvuHlk0qMhXVdHy+SrgKwRJdlU3qB02B79ATfyMO3+42hl6qWiKiBdoXxrNWXbkmYYkdqtfhqNqJt1rpXkYUw0mUEu8rp3clUEu6qWQ8zjU6qDtg0FHz9M2N7glFayIPVdPYB5u3st0bC
          

          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

          R 1 Reply Last reply Reply Quote 0
          • R
            rzrsharpeprod @dannytaurus
            last edited by

            @dannytaurus Yes I had tried those but to no avail...but seeing your example working made me look back at the project and there was a conflict which is why it wasn't changing anything visually, Thanks for your help it is much appreciated and shows me that I am not going mad at least haha

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

            10

            Online

            2.2k

            Users

            13.3k

            Topics

            115.7k

            Posts