Forum
    • Categories
    • Register
    • Login
    1. Home
    2. filipalex96
    3. Posts
    F
    • Profile
    • Following 0
    • Followers 0
    • Topics 14
    • Posts 48
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: No audio processing after export

      @David-Healey Yes, audio files are embedded and the plugin is exported as an FX plugin.

      It works perfectly inside HISE, but after export the plugin loads in the DAW and does not process audio at all.

      I’m using ScriptNode convolution and loading IRs from AudioFiles with:

      const irs = Engine.loadAudioFilesIntoPool();

      Could the issue be related to ScriptFX1.setFile(...) / dynamic IR loading after export, rather than embedding itself?

      posted in General Questions
      F
      filipalex96
    • No audio processing after export

      I have a HISE FX plugin with a convolution reverb (ScriptNode).

      Works perfectly in HISE, but after export (DLL + VST3) the plugin loads in DAW but does nothing (no audio processing).

      I use:
      const irs = Engine.loadAudioFilesIntoPool();
      irs.sortNatural();

      IRs are loaded from AudioFiles and selected via script.

      Do I need to explicitly load all IRs before export or reference them differently for ScriptNode convolution?

      Thanks

      posted in General Questions
      F
      filipalex96
    • ScriptNode export completely broken

      Hi,

      I'm trying to compile a HISE ScriptNode network as DLL on Windows, but the generated DSP project fails.

      Context:

      • HISE develop branch
      • Windows
      • Visual Studio 2022
      • Exporting DSP network as DLL
      • The network name is nebula

      Main errors:

      • scriptnode::core::clock_ramp: too few template arguments
      • scriptnode::wrap::no_process: too many template arguments
      • scriptnode::container::chain: use of class template requires template argument list
      • scriptnode::container::split: use of class template requires template argument list

      The generated file that fails is:
      DspNetworks/Binaries/Source/nebula.h

      I also found a broken connection in the network related to an intensity2 node:

      • node type: control.intensity
      • ID: intensity2
      • name: intensity1

      Its setup is:

      • clock_ramp -> intensity2.Intensity
      • intensity2.Value -> lfo_mix

      In the XML I found this suspicious part:
      <Connection NodeId="dry_wet1" ParameterId="1"/>

      I deleted the intensity2 node, removed related connections, saved the network again, deleted DspNetworks/Binaries, and recompiled, but the problem still remains.

      Question:
      Could this be caused by a stale / orphaned connection in the network XML, or by an incompatibility with control.intensity + clock_ramp when compiling as DLL?

      What would be the correct way to fully clean / regenerate the ScriptNode network so the autogenerated nebula.h is rebuilt from scratch?

      Thanks.

      posted in ScriptNode
      F
      filipalex96
    • RE: Exporting plugin with expansions?

      @David-Healey Thanks, I’ll take a closer look tomorrow and get back with an update.

      posted in General Questions
      F
      filipalex96
    • RE: Exporting plugin with expansions?

      @David-Healey I watched the tutorial and followed the steps shown there, but I think I must be doing something wrong somewhere.

      Do I need to export the expansions in a specific way, or is there an extra step required before compiling the plugin?

      Also, in Expansion Type I selected Full Expansions. Maybe this is where I made a mistake?

      Sorry if this is a basic question, I’m just trying to understand the correct workflow and I might be misunderstanding something.

      Thanks for the help!

      posted in General Questions
      F
      filipalex96
    • RE: Exporting plugin with expansions?

      @David-Healey Thank you for the reply, I really appreciate the help.

      Sorry if this is a stupid question, but I want to make sure I understand correctly.

      When you say “The expansion's samples should be in the expansion's folder”, do you mean that each expansion must contain its own Samples folder with the actual audio samples inside it, like this?

      Example structure:

      Expansion1

      Samples

      SampleMaps

      Presets

      Expansion2

      Samples

      SampleMaps

      Presets

      Right now in my project all the samples are stored in the MAIN project Samples folder, and inside the expansions I only have SampleMaps and presets that reference those samples.

      posted in General Questions
      F
      filipalex96
    • Exporting plugin with expansions?

      Hi everyone,

      I’m preparing to export my instrument and I want to make sure I’m structuring everything correctly before release. I’ve read the documentation and some forum threads, but I’m still unsure about the correct workflow in this situation.

      Here is my current project setup:

      • Main Project

      All samples are stored in the MAIN project (Samples folder)

      I also have AudioFiles such as:

      • Wavetables

      • Monolith files

      • One Reverb IR file in WAV format

      • Expansions

      I have two expansions

      Inside each expansion I only have:

      • SampleMaps

      • Presets / metadata

      The actual samples used by those samplemaps are in the MAIN Samples folder

      When I compile the plugin:

      The expansions and presets appear correctly

      But no samples load inside the presets

      So I’m trying to understand the correct workflow for exporting and packaging the project.

      My questions:

      Is it valid to keep all samples in the MAIN project, while the expansions contain only SampleMaps and presets?

      If yes, what is the correct way to export samples and expansions so that the compiled plugin can properly locate the samples?

      Should the expansions also contain their own Samples folder, or is referencing the main Samples directory acceptable?

      What is the recommended export workflow in this situation?

      Compile plugin

      Export Samples for Installer

      Expansion packaging

      Are AudioFiles like wavetables and a convolution IR (.wav) safe to keep in the main project without converting them to monolith?

      Any advice on the proper folder structure and export workflow would be greatly appreciated.

      Thanks!

      posted in General Questions
      F
      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
    • RE: Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?

      @David-Healey said in Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?:

      Instead of getting the reference to the effect with Synth.getEffect you need to get it as an AudioSampleProcessor. That will give you access to a bunch of extra functions.

      Thanks a lot for the tip, really appreciate it!
      I didn’t realize I should access it as an AudioSampleProcessor instead of using Synth.getEffect(). That makes a lot of sense.
      I’ll try this approach and see how it goes. Thanks again for the help!

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

      @David-Healey said in Scriptnode filter.convolution – select External Audio File Slot from UI (ComboBox)?:

      You don't need multiple slots for this, you just need one, and you use the combo box to load a different IR into that one slot.

      Thanks, that makes sense.
      Could you please explain how to actually do this with filter.convolution in Scriptnode?

      More specifically:
      – What is the method / API to load a new IR WAV file into the convolution node at runtime?
      – Can this be triggered from Interface Script (e.g. from a ComboBox)?
      – Or do I need to expose a Scriptnode parameter / use a specific node to call something like “setFile” on the convolution?

      A small example or hint would really help. Thanks!

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

      @David-Healey They’re not connected to anything yet.

      I just added multiple External Audio File Slots to load different IRs, but I don’t know how to switch/select the active slot inside the Scriptnode network (or expose it to the UI).

      My goal is to select the slot from a ComboBox in the Interface Script.

      posted in ScriptNode
      F
      filipalex96