Forum
    • Categories
    • Register
    • Login
    1. Home
    2. filipalex96
    F
    • Profile
    • Following 0
    • Followers 0
    • Topics 11
    • Posts 41
    • Groups 0

    filipalex96

    @filipalex96

    1
    Reputation
    8
    Profile views
    41
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    filipalex96 Unfollow Follow

    Best posts made by filipalex96

    • Issues with applying compression to multiple bands simultaneously in HISE

      Hello HISE Community!

      I'm encountering an issue while developing an audio plugin, specifically related to applying compression to multiple bands simultaneously. I'm trying to implement a dynamic EQ compressor (similar to TDR Nova), and I want to be able to apply compression to multiple active bands at the same time, with customized settings for each band. However, I'm running into an error when trying to apply the compression settings to each selected band.

      Here’s what I’ve tried:

      I've created a global array to store buttons for each band (BandToggle).
      I’ve used a loop to create buttons that allow the user to toggle bands on or off.
      The compressor settings are customized for each band, but when I switch between bands, the compression doesn't apply to all bands simultaneously.
      Below is a relevant code snippet for what I’m trying to achieve:

      HiseSnippet 4729.3oc6b0DibbbctGtro3NTTVzVPIA4GzYffwtlKomd9eoBAm8mYkVIt+vcVRYAsFi6clZ1sy1S2i5eVxgzDPHLG74H.qX6.DZe0.B1WBPxg.BXk.eI.FPH4XLc.R.BBPfuD.eiodUUc2UUcOy16RJH5DMGH2t94Uu589du58pp5dSWmtHOOGWkbSu8ngHkbunZ6Q196uz9Fl1JqtrRtWUsmosw.ytZ6ZX2Sqefkk1gkTVbzPCOOTOkb4l5Mf1la5SqP98qu1hFVF1cQwEonbKGytnqaNvzOtzMa91lVVqXzCss4.tVWo4pccrWxwxI.yWSoVTYnQ2CL1CstAzrSopj6Ls5Y563112vG4oj6zK5zaT68ctsMs82xzybWKD7ftRaLgnEuhiUOfigRUVZeSqdaFN+8TTxotYrzXJpz3UTWyrmYT4wRkWlTgVbO3kG4NkH6Mk.6oyydE4XuTXobbrzoorzETa200bnebM.+bN0Us8Qt8MvhcdVg1VkS8UeM0kbvsv1+xCLN.shK9gndLSshEmSC+Oy954y+0S7SawVuwpqu55ug1Fqns8a1RaoMVaysZ0t8Faocy0Wcasu93+kOOVU54qcngq1xu65KncUMB95x6g7a0uOpq+LEfxKfG53VtogKVU66Z99stQmuQZ8QrEPug94grv0h5sHfTupVwWWC3d7CFZlCFZY10z+Sd.ok.VtMx22zdOObKeuuIooK35ZLRaHVJ4FnYn446zE+uHbmbMsPZ8MQcw+IxTaWj8cMAYk1p1l+7efogk4cMbQgsMjDPGfhgQ6Sdf1LCcQdACCr0vjQyKv1WqAkTyluuiq1L.mYRYbSs+DsF3+6hWbVs6kWC+imku7v.u8mgVN7yeeLk2GCuuh1kJU7xEmKpFCeerwyUzzEJ0EKnL7PWQqTQwxM7McthVkKWjTz8wx06SllDIZah30wkSSsHgonEiY7PLlQudussytyTfu9Byg4h4zJSvYgsDKwvH4gHWeSjGFVN3sZuw5I5GclVvGcG+BWQqP6VWu0Raqs3BqubAJyWXfoMtlhgOYbG7S0YO44iF117tHbQ5rhtsYO+8gm0KwJYej4d66SKJOLwyaZaYZi05A1cwREaMGadtBl.tNVyz0YvPGa7TYNr.wJ.EptvBs1FVGhLtKnqivPcCbwsEoYf+ahp2Ty.S9CQZ+rO1F6cAWUODf85tu4fcMHZcCBA8LNDsTfKz8E4fByfYUn5nAkzQ7XR5Iyjv.v8DhHZgP3Xw9uPW+..NSY7tjYIlYwrKCTSoKgoYDMXXOriNfjLgRBlZAv3i2ThQKeGbGoxAKDowFCGZMZIrL0k3bKbVtsyBVVvHPHMFSh+EBgvtEVJTIHgblEvWLlZICKqcw1Byjpdj55SaErxFaOSUBLIAXAavjDVAVALyeyD.jzjCwngwKXm4.rsxkB.AyriWJm9zEbd1YosAye5r8VfJcFdmEuGuR+ad4HeELczjn6BDuGYjvTWMYfpaQ89jQxx7UkE5BduxJUg1xfRw5cChdm.VIJ8P.K14VWJlzwkf.FhjzPQffL.fYXhHW9.kV0tG5NTW+wORVBH5w3kBfevTFloXUjq4tA9nYHkDOxaGpm0tHGI+ZzNBbxF86i6+bBKr7dQsLIPISiJEwbRGRAHTlFOFV5jNfhfqrMh.x4DOdLXGY007gtFtEx0ruIDTPOitDmCjACCGQd9nPLl1O+6YpM.Yiwo1H9kTbbAfMgXl80n76dSXFzx1.G9YuY0tJFucrvTrdhWHeVZ.Sdl6E39IO3RXtbBLN1ZIom96ybiKY84gWzLgwWpwSkv+6XWgLaKIK34UZcyr3OkK9mI4iduPuSLXvQ5Q8HnajO5iAgYv9ifxw9oONjlXdb0L4nVlrQKUNVXEtvA+rejMRXkwmO.8vJCR7GGNG2ukbQ.30GmraDhlKFCCbYtlN8H9A3Q+bgaSivHkUWHz7pZsr2CaQb4tXp4Sxp1cic+SgDlvB3I1WP.P9innjBspDBggrxH1RUHRtSbTbGMS4a3RYqYJSRNMub9jcVBvY33lQRoerogMxJDuE0FbpDjLP.ZcDYfjrmDwPblCUKJm4PE8prhL8QCnafAzxZUpNe85yqqmn1RP0kqUrdspkJO+bwY4D04Bkp0nR4pUpVMLSmccb6gbkxmgV3VF8LC7n4AQRggJxRUtQQ0RRsEC78wp7BBMAxaqzbZymYgVb+tmX1VklWVjUpAqjgFfS3HOEvLOgFPLIvH4wdbR550qWJcsP4xUqVoR4zUA55MpzPebo8ILqFade4ISVvWD4YpeFxncu7Se7bz.3youe9oSPP8SHA0oD79u93xZRTwMlzlRSNL6DfXjU7RaWA3WPDCrlSqR4LCtB6ECZY5soU.1oGaCgPfpF6XEEBqDqD1AwXnEiThvps2pU62biqGswB76TPzZTEF3ziRHTWycQVh6BwkzKJtQDEStQDEuLtQh+pVMD35EzuuIzwBZ8VLl185Yg1zwyDfkvvToX1MdnX6wnnVPNNCIMEKDChpZ9pYVUE0sInqJnWHKppPRIpqVX6sWXo2NcMkndBVDQZqhhT.5UluntdMc84K2PPs0Xh5sT5V1za5GG01j8IQEKSxkzzYLisvt75GoSB98DXb9HD3qI4hXqDAhJA8BiAkf8zqTKyfu3N9zi9hnkH7aqVWu0Bsa8YF9KNDimaAfLIySGBjQjrCAE1.owgAEYMdPXJvPojVjAgj7UnPv4ajcHHqa2aL5gpGSsKEUTtzjvaDrUTflOEPdJuKA3WX6U2nvwIhsICdfw3oD5.j3X.bh2gvwBa3XpICZVy3.zMGNo.nosfctGkplcmWQcTJ.Z8xEeFFA8ZK71st4lElrRhxJeFF0KL.ACe1EzaH8xXLuLQ8DwDBxfIsbVDSzYKTu.hfryZfw038sL1tPR6pxbZUydrwShVwa3A1eyHKho9s.xz0HL70wDlodi436al7UkZzvIiHdrKZQpnuo0.OrVd3pCL1ivv2zCNYl9FAV9ZdGfIOWqwv2CP811gK2vIDpNoJDM+HI9I1Xiqv3iGrQMth4R9DaeWa9h0qTTmqdwTPqOOIOy4qlZKfLQKUubopMpWrDOQxrkMUbtuys2FagunCHS6aX4gnV3Y.rdDagzX62j29nvrljxLrysnV37kkXKAmrs0grdOwc9Kp4fPfsSVXI2g.3e.3Fygr6agaxHxDNJVLLi.WLyG5zY7b.Sjg4AFFyaEGW3RwrhAbBiyLgdywRgmO3m7fAZjEjuTfErg3tPqQryfLjEOBthXzGeNXYjAfc2CF83saM5Xtj1N7re3SykTiyzrhWgCQpIUGHK0tn3gW+0jI.+wubDSXh4vD.yorsiobsXZs9xmvKEC2hrq63i1.ak.Q6j+940jqpe+TqisVjElESqZJyOgNNicvfcQt7wZAMTI2oEu5Rpi+pKweyp5RWchqgN1qZa5uwPj83tuUJrkzTTxcNFWgapO4RN8RrK4DMbJEydJ49RpBa+jBgw4u0YJiiHssL6g6.PjyqxgFEHQyxkW8QYgDujJeJtxz32qYVnQ3bgkhh7bwr4wYtPBXUlDu73IAmLMbtPiuQlFLUzQvF+wpGganSFYeQUvdVuyJtn2WhBu1GkI4yzLJbCgt+A+W23wWKa5Y9aIxICtENIHWPRIJz3QJ2b0kM7Mfq4GyTHNxNbYKiNzrKhdo+lVcYj2A9NCUx8BQwAfsani74CuRfvYdPF3KnJEffxcv1x4fwcD7G+Q3+fDlClzm46xzJzPbfR9qyw.hQwl.kV+G96uqXokXEeCn33is.tNhQGagR74U.slQYE9Cr.JODZj17KCdCHSuWLb5MMicHWVzn44eXh44ePHyrW7r7IO4IoL2KWtrRJy8KbgKPJVJBszT.Jb09kxnCp6DNYHypKh+CwnyiQSK+nv.ygx99eO32e60FPtWtm4u5Ize3Pu4E0z3twTVEG2sBDlLEnQBggI+xqFte3wxwgr9mX2E.lDzuorwBxyrmYBLI2whRrNSPh8ZM4kX3BdHQhQEQaNAQzYTIWWYp74rpz8fNozYPzchlP3TDVvxhoJpjlSOyjUxK6HJr9KNoBquaVEVSqx1wzmoRK4Y0wTbc9Lt.qnv5ebBBqWIcgE0VLz+GS1owdjJfdAUxNrkISswJODY6ioz3rYMVAh3Hen3PImRjAAcWkhmC+Yi0s6wj29JOEwfPX2ucH6VEPqvlf.N3B2DjwpOK8nInOOQ9VY66.eGhDWmOg35uKkUol9+3I+kIWkZpol5eKkUoN+u4W9ixn7layCBCXHEikWgoBVAm5LbcM11DKJodX3KRGD6Lo3C61bTzCOZqlrHdng2f6loEVMsro2PKiQ7yTU141KLSeQ0RUqVSupd0p5hSVRMkpWVWubIERzU4lW8dmGmvYgnbOVE1vG42ff4HsgbK8H6Y04ye+HcBko+I2qYjNgVxG30jOnm7pg2+.NdpLLGpWsbsxMpHHJOW1B8MVBpLCmD7W30jBpNmJzr.jc2QbNQIuEMTHI8wuymJ6ThDDKGL8Mu63L.F9QMo11mgLVSxeQpgeOlovl2t43r390WKdpz7Wc2+7qwOUTzXryTp2PfWlNqwxGSqukGGC836xKij8T+BBdpwgbG+NHjzecrw6v3bdhXz7YKggX17Qt7rYPSY+IBJ9FORPZ0H0Uij7OMF8fRZH1LZ7Whi+ah33+3L+oF+up5xtF6sG3Qj5EflFSrO.XCFjr90qUoTshMpUVz5+bpMv9EJ2nndMlw+Vp2KC19hl9jGWwwxx41uii6AdCM5hh2IUIuBJij8JfmrJIessdY00b5EXY3K9VjAJZVEfjm+U2Bd8rrwZjQ71EOyd0xxJKdA0MM86te573oRgGwov8YAOxdg7NuJ8M.KlAOs5JeiOid66lJ43iCg0IvGgGRpvAdBC30Vy.iltitHiLUlYD8IKGXiBcPvg6rdvf1XDeWDVLXiMVfMpK2KCFVzmKFt1cajcOxCmJtR8vzzfJIOLUbkkfmg3YfJidfUYY9JKKUYE9JqHUYU9JqJUYM9JqIUYc9JqKUYC9JaHU477UNuTk5E4qM9ovp0EpVWtZAwjtrbRWPPoKKozEDU5xxJcAgU7S7VCeYJZLu5xiHuatdD33YHgyI8p45iZEEsYjIJTbzVzKWAKsSNuNPogoWwVUN+GNrYhKZHeeR4r.32pUoivmemKkuZR7ogl3Rivuqoj2uXjaJyWVMoNkY0kbVypHw.wyEzCaNExkrhOmcGDBnR.0EPaRUVJz2wXcGLEqxuvcvmitClIbwokBbOD058YAWHFlifeALjgFrEAq.w1BAdVjGuRhDMNR4ueSnfRw1ve50fBJK9h+Sz0wlxPAUkIZsvB9u+vOlzh5xzngbAyKST8PVU6pOd1GQJIjWe7O9e5Vz1TRlL5I3V8DrqdH+9A+qm6LTJGxvef8+98osIAGqmfk0SvykB44u0u4u4e3umTRHO+v2YvFz1jfmKkfmKkfmKExyObsO5UI7boPd9gK+weHsMg7r1O8+4+jRmD7boD7b4Pd9wO7e92gP4xQxYkG7iosIAOWNAOWVfmWYksibR+7UbRxNFEhSR1w3WDmzy6NF+JgYMrPPOSmq6.GuFw43qPKQCJRaSKiQHW8I7MM4Wj0uoICy72zj1ir6tFMO9HKERpVa6hiCAihEBp.yloDi0VNN9vsDf+apRaiACsPsgqv.l77DYKzgX+8hAFgWDf8YU4aqtzU14ld3VrSeSKyg6rrS2fA3rz81oMbwPP6Por2NvWiEucdK3MF3lV9lCfW9qR6bfoem5czqVryhatVmU1YY2Qc7vIm6syaNZWWydcvyqgcdKig3r68Pc1zJn6AcVdq28x213P5FXPMEIadgZt+kqcVEK7rlLQBqyhHF5EVuriiSmMGGGwmAlS+b2mAleKX6DD9R0LcHO1F9pqfy+3PjE1xivieY0ko2euvREM6Vyw1Y39N1lcEQtXG56sGbrGw7dpSH4n3g9JF9924Sw4IXiLbkM9NFxB8i8WsmT0W+tprW7FvWg1u8tMPS8+s2FHd04Yi9JYQf1uQ3v+RrBzfRlzWGKEkkQvQbvUv6HtghuayTVqYUx0UbSGKCWYw7ypnmDb7MYr.4938bMdEbyfEyOuyjDU+y2LIjF4mWJao34USMd9S8TEO+mGiwWjWx+uLujAFccc5v9NRANbOKoDL52lDA9zpqAOqom7FSN.GkYmtcEIUhNV5j1wxmzNV4j1wpmzNV6j1w5mzN13n6HjDvBA9NCndHUTVayVzyeLG29bn7+Buf.pnC
      

      I want to apply compression to multiple bands simultaneously, each with its own specific settings.

      Thank you in advance for your help!

      posted in General Questions
      F
      filipalex96

    Latest posts made by filipalex96

    • RE: PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      @David-Healey In Image Draw I have : g.drawImage(obj.text, a, 0, 0); and I just change this , for column index >= 0 .... obj.text, obj.area ( was a here) , "centred"

      posted in Scripting
      F
      filipalex96
    • RE: PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      @filipalex96 I solve the problem with this : if (obj.columnIndex == -1)
      {
      g.setColour(Colours.withAlpha(Colours.white, obj.hover ? 1.0 : 0.5));
      g.drawImage(obj.text, a, 0, 0);
      }

      else if (obj.columnIndex >= 0)
      {

          g.setFont("Default", obj.selected ? 15.0 : 14.0);
         g.drawAlignedText(obj.text, obj.area, "centred");
         
         // TEXT
            var alpha = obj.selected ? 1.0 : (obj.hover ? 0.9 : 0.6);
            g.setColour(Colours.withAlpha(Colours.white, alpha));
         
            g.setFont("Default", obj.selected ? 15.0 : 14.0);
            g.drawAlignedText(obj.text, obj.area, "centred");
      

      } Thank You for Help , have a nice day

      posted in Scripting
      F
      filipalex96
    • RE: PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      @David-Healey Any ideas? Thanks!

      posted in Scripting
      F
      filipalex96
    • RE: PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      @David-Healey said in PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem:

      you need an else

      // ICON column
      if (obj.columnIndex == -1)
      {
      g.setColour(Colours.withAlpha(Colours.white, obj.hover ? 1.0 : 0.5));

          // draw only if obj.text matches a loaded image id
          if (lav.getImage(obj.text))
              g.drawImage(obj.text, a, 0, 0);
      
          return;
      }
      else // TEXT columns
      {
          g.setColour(Colours.withAlpha(Colours.white,
              obj.selected ? 1.0 : (obj.hover ? 0.9 : 0.65)));
      
          g.setFont("Default", obj.selected ? 15.0 : 14.0);
          g.drawAlignedText(obj.text, a.reduced(8, 0), "left");
      }
      

      });

      same behavior

      posted in Scripting
      F
      filipalex96
    • RE: PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      @David-Healey Thanks for the clarification — that makes sense 👍
      I understand now that drawPresetBrowserListItem overrides drawing for all columns, so everything has to be drawn manually.

      I tried doing exactly that, but I still get the same behavior.
      When I draw both the icon column and the text columns, the text becomes visible but the expansion icon disappears.

      This is the code I tried:

      lav.registerFunction("drawPresetBrowserListItem", function(g, obj)
      {
      var a = obj.area;

      // Expansion icon column
      if (obj.columnIndex == -1)
      {
          g.setColour(Colours.withAlpha(Colours.white, obj.hover ? 1.0 : 0.5));
      
          if (lav.getImage(obj.text))
              g.drawImage(obj.text, a, 0, 0);
      
          return;
      }
      
      // Other columns (text)
      g.setColour(Colours.withAlpha(Colours.white,
          obj.selected ? 1.0 : (obj.hover ? 0.9 : 0.65)));
      
      g.setFont("Default", obj.selected ? 15.0 : 14.0);
      g.drawAlignedText(obj.text, a.reduced(8, 0), "left");
      

      });

      The result is:

      Text in the other columns shows correctly

      The expansion icon still does not appear

      The icons are loaded like this:

      inline function loadExpansionImagesIntoLaf(obj)
      {
      local expHandler = Engine.createExpansionHandler();

      for (e in expHandler.getExpansionList())
      {
          local img = e.getWildcardReference("Icon.png");
      
          if (isDefined(img))
              obj.loadImage(img, e.getProperties().Name);
      }
      

      }

      Am I misunderstanding what obj.text contains in the icon column?
      Is there a specific property in obj that should be used to identify the expansion / library for the current row, instead of obj.text?

      Thanks a lot for your help!

      posted in Scripting
      F
      filipalex96
    • PresetBrowser Expansion Icons work, but text in other columns disappears when using drawPresetBrowserListItem

      Hi everyone,

      I’m working on a custom PresetBrowser UI in HISE and I’m a bit stuck.
      I feel like I’m going in circles, so I’d really appreciate some guidance from someone who knows the internals better.

      What I’m doing

      I enabled Expansions and I load an Icon.png from each expansion into a custom LookAndFeel.
      The icon drawing itself works perfectly when I only draw the icon column.

      Here is the exact code I’m using right now:

      inline function loadExpansionImagesIntoLaf(obj)
      {
      local expHandler = Engine.createExpansionHandler();

      for (e in expHandler.getExpansionList())
      {
          local img = e.getWildcardReference("Icon.png");
      
          if (isDefined(img))
          {
              obj.loadImage(img, e.getProperties().Name);
          }
      }
      

      }

      lav.registerFunction("drawPresetBrowserListItem", function(g, obj)
      {
      var a = obj.area;

      if (obj.columnIndex == -1)
      {   
          g.setColour(Colours.withAlpha(Colours.white, obj.hover ? 1.0 : 0.5));
          g.drawImage(obj.text, a, 0, 0);
      }
      

      });

      The problem

      With this code:

      ✅ Expansion icons show correctly

      ❌ Text in the other columns (preset name, tags, etc.) is not visible anymore

      If I add an else branch and manually draw the text:

      ✅ Text becomes visible

      ❌ The expansion icon stops showing

      So basically:

      Icon only → icon works, text disappears

      Icon + text (using else) → text works, icon disappears

      posted in Scripting
      F
      filipalex96
    • RE: Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?

      @David-Healey thank you soooo muchhh 🙏

      posted in ScriptNode
      F
      filipalex96
    • RE: Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?

      @David-Healey thank you soo much

      posted in ScriptNode
      F
      filipalex96
    • RE: Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?

      @David-Healey Hi again, thanks for the suggestion! I think there’s a misunderstanding on my side:
      I’m not using the classic Convolution Reverb FX module. I’m using Scriptnode → filter.convolution inside a ScriptFX network.

      However, from Interface Script:

      Synth.getAudioSampleProcessor("Script_FX1") exists (auto-generated by HISE), but calling Script_FX1.setFile("SomeIR.wav") does nothing (IR does not change).

      fx.getNumAttributes() is 0, and I also don’t have getNode() in my build, so I can’t access the node directly.

      posted in ScriptNode
      F
      filipalex96
    • RE: Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?

      @filipalex96 Thanks again — I’m very close now.
      I call Engine.loadAudioFilesIntoPool() and setFile() works in principle, but I can’t get the correct reference via Synth.getAudioSampleProcessor("...").

      cod.png

      In my Scriptnode network the convolution node is labeled/ID like “convolution_verb” (see screenshot), but Synth.getAudioSampleProcessor("convolution_verb") doesn’t seem to resolve.

      Question: what exact name/ID should I use in Synth.getAudioSampleProcessor() to reference the Scriptnode convolution “Single Sample” loader? Is it the Scriptnode node ID, or the module ID somewhere else?
      Any quick way to list available AudioSampleProcessors / their IDs from script?

      posted in ScriptNode
      F
      filipalex96