HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Elezeid
    3. Posts
    E
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 17
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Expansion Content not loading in DAW project file?

      @d-healey

      In case anyone else should ever run into this problem here is the solution (I'm kicking myself).

      The Expansion Selector has to be higher than the sample map selector in the UI tree.
      That's it.

      That's why the minimal project worked, and that change seems to have completely fixed it in my main project.

      Thanks again for all your help. Hopefully this will help someone in the future!

      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey

      Thanks for your willingness to help David. I just made a dummy project for testing. Here's what happened:

      Factory: 2 presets and 2 sample maps
      Expansion 1: 2 presets and 2 sample maps
      Expansion 2: 2 presets and 2 sample maps

      Exported to VST3, created a DAW project and...

      No issue. The problem is totally absent! I'm not completely certain as to why, but I suspect maybe it has something to do with where the code is in the hierarchy.

      Thanks for guiding me through this, I think I have the necessary tools to get across the finish line without pestering you any further! Just in case, here is the code for the dummy plugin.

      Content.getComponent("knbDum").setControlCallback(onknbDumControl);
      
      // The sampler references
      const var Sampler1 = Synth.getSampler("Sampler1");
      
      // The ComboBoxes for Expansions
      const var ExpansionSelector = Content.getComponent("ExpansionSelector");
      
      // The ComboBoxes for SampleMaps
      const var cmbSampleMap = Content.getComponent("cmbSampleMap");
      
      // Expansions Handler Create
      const var expHandler = Engine.createExpansionHandler();
      
      // Expansion Types Allowed
      expHandler.setAllowedExpansionTypes([expHandler.FileBased, 
                                           expHandler.Intermediate, 
                                           expHandler.Encrypted]);
                                           
      // Expansions list retrieve
      const var expansionList = expHandler.getExpansionList();
      
      
      // Extract names of the expansions
      const var expansionNames = [];
      
      // Add “Factory Content” as the first option
      expansionNames.push("Factory Content");
      
      // Add all available expansions
      for (e in expansionList)
      {
          expansionNames.push(e.getProperties().Name);
      }
      
      // Fill the Expansion ComboBox
      ExpansionSelector.set("items", expansionNames.join("\n"));
      
      // Global variable for saving the current expansion
      const var currentExpansion = -1;
      
      // Help function for updating all SampleMap ComboBoxes
      inline function updateAllSampleMapComboBoxes()
      {
          // Empty all SampleMap ComboBoxes
          cmbSampleMap.set("items", "");
          
          local actualValue = ExpansionSelector.getValue() - 1;
          
          if (actualValue == 0) // "Factory Content"
          {
              // Use the embedded SampleMaps for “Factory Content”
              local maps = Sampler.getSampleMapList();
              local mapItems = maps.join("\n");
              cmbSampleMap.set("items", mapItems);
          }
          else if (actualValue > 0 && actualValue <= expansionList.length)
          {
              // For expansion, load the SampleMaps of the selected expansion
              local exp = expansionList[actualValue - 1]; // -1 because 0-based index
              
              // Set the expansion as active
              Engine.setCurrentExpansion(exp.getProperties().Name);
              
              // Get the SampleMap list of this expansion
              local maps = exp.getSampleMapList();
              local mapItems = maps.join("\n");
              
              // Set the displayed names in all ComboBoxes
              cmbSampleMap.set("items", mapItems);
          }
      }
      
      // Callback for Expansions-ComboBox
      inline function onExpansionSelectorControl(component, value)
      {
          updateAllSampleMapComboBoxes();
      }
      
      // Callbacks for SampleMap-ComboBoxes
      inline function oncmbSampleMapControl(component, value)
      {
          if (value > 0)
          {
              // Get the SampleMap name from the ComboBox
              local mapName = component.getItemText();
              
              // Load the SampleMap into Sampler1
              Sampler1.loadSampleMap(mapName);
          }
      }
      
      
      // Set the callbacks
      ExpansionSelector.setControlCallback(onExpansionSelectorControl);
      cmbSampleMap.setControlCallback(oncmbSampleMapControl);
      
      // Initialize with Factory Content
      //ExpansionSelector.setValue(1); // Sets to first entry (1-based)
      //ExpansionSelector.changed();
      

      Thanks again! If I run into more hurdles with this issue I'll return to this thread.

      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey

      Yes exactly, the combo boxes that populate with the samplemaps are showing the correct content, but the audio remains factory unless you choose a preset from the expansion - even if the current preset is already from the expansion. It's like the plugin can't access samplemaps from expansions until the user manually selects them.

      So in short, it looks like this:

      1. User chooses a preset from an expansion
      2. Expansion loads and works correctly (including samples/samplemaps)
      3. User saves their project and closes the DAW
      4. User opens the DAW and loads the same project
      5. Plugin loads all parameters correctly on the interface, including expansion sample maps
      6. Audio produced by plugin is from Factory sample maps
      7. User clicks on the preset that is already currently selected
      8. Correct samples now play (rinse and repeat)
      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey

      Thanks David. I'm happy to do this, though I want to point out that the issue that I'm having is very specific to samples. My plugin is a rompler essentially, and the trouble is that the wrong samplemaps are loading in. Without a sampler, there would be no way for me to debug this.

      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey

      This comes after things like expansion handler, samplers, and their associated combo boxes. Though I think it's worth mentioning that even with this code commented out entirely, the issue remains.

      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey Yes, and that works as intended.

      It's only when saving a project within a DAW and reopening it, the sound produced by the plugin comes from the factory content - despite the expansion content being visibly loaded in the samplemap dropdowns. The sound produced is only updated if the user clicks the already selected preset (or another preset).

      posted in General Questions
      E
      Elezeid
    • RE: Expansion Content not loading in DAW project file?

      @d-healey Thanks for the response!

      I spent the last few days brushing up on this topic and converting just one expansion to Encrypted, and it seems the issue persists. The expansion itself works without a hitch, but the plugin is still having this hiccup.

      At first I expected the culprit was these lines for the combo box that selects expansion or factory content - set to load factory content on init.

      ExpansionSelector.setValue(1); // Sets to first entry (1-based)
      ExpansionSelector.changed();
      

      However, when commented out, the plugin is silent until a selection is made, and the same issue mentioned above is indeed present.

      My next step was to comment out just this:

      ExpansionSelector.setValue(1); // Sets to first entry (1-based)
      

      and leave this:

      ExpansionSelector.changed();
      

      Which did what it was supposed to do, but the actual content loaded in the plugin upon loading the DAW project is still factory, despite the sample maps showing expansion content. It doesn't actually update until the user makes a selection.

      Any idea what might be behind this? Thanks for your time.

      posted in General Questions
      E
      Elezeid
    • Expansion Content not loading in DAW project file?

      I have FilesOnly expansions with unique presets, samplemaps and samples. When using the plugin in a DAW, it works fine, but when loading the project, the VST has reverted to factory content.

      I have a combobox which allows swapping between content libraries (expansions), and despite its current selection being on an expansion at the time of saving and loading the project, the content is still factory. All of the parameters and knobs are correct including the combobox, but the samplemaps are incorrect.

      Any insight would be greatly appreciated! 🙏

      posted in General Questions
      E
      Elezeid
    • RE: Preset Browser bugs after expansion

      @Elezeid

      Identified and fixed (sort of 😂)

      • Combo box with script swaps between factory and expansion content
      • Combo box saves in preset
      • Changing presets seems to re-trigger the combo box's value, even if it's the same as the previous preset, which initializes the expansion content and bumps the scroll window back to the top

      Fix: Turn off "save in preset" for the combo box.

      Voila! Bug gone. This is a slightly less than ideal way to browse content, as the user will have to manually swap content libraries via the combo box, but it is a small inconvenience when compared to the joy of browsing presets.

      Hope this helps anyone else that runs into the issue in the future!

      posted in Presets / Scripts / Ideas
      E
      Elezeid
    • Preset Browser bugs after expansion

      Hey all,

      Ran into some minor issues with the preset browser after introducing expansions to the project.

      1. Favorites have disappeared entirely. Even if you save a favorite, it doesn't persist if user switches between factory and expansion content. Expansion type is files only - just samples, samplemaps, and presets.

      2. When browsing or choosing a preset, the browser jumps back to the top of the list in the rightmost column.

      3. I had some "left and right" buttons to cycle through presets, but they now don't seem to work unless you press the button, choose a preset within the browser, and then press the button again.

      Nothing here breaks the plugin and everything is still accessible, but it does hamper the UX a bit. Any advice would be greatly appreciated!

      posted in Presets / Scripts / Ideas preset preset browser
      E
      Elezeid
    • RE: Memory leak with Engine.loadAudioFilesIntoPool

      @d-healey Thanks David, unfortunately this is indeed the only occurrence.

      Am I really the first to run into this issue? If so, that definitely suggests user error of some kind, but I really don't know where I might have gone wrong!

      posted in Scripting
      E
      Elezeid
    • RE: Memory leak with Engine.loadAudioFilesIntoPool

      @d-healey Yes. When this line is commented out, the issue is gone.

      @dannytaurus Yes. I used ctrl+F to make sure.

      @Chazrox there aren't any other functions like that tied to the combo box, the script is copied line for line from one of David Healey's tutorials. It's possible that it's become outdated?

      I'll try unchecking "save in preset" but it's sort of an integral component of my presets, so if that does fix it, then I'll be in some trouble haha.

      posted in Scripting
      E
      Elezeid
    • RE: Memory leak with Engine.loadAudioFilesIntoPool

      @d-healey Dang, I thought there was gonna be an alternative 😅

      Thanks anyway. I'll check back periodically hoping that someone has a solution or workaround. 🤞

      posted in Scripting
      E
      Elezeid
    • RE: Memory leak with Engine.loadAudioFilesIntoPool

      @d-healey

      Yes. Is there a better way?

      posted in Scripting
      E
      Elezeid
    • Memory leak with Engine.loadAudioFilesIntoPool

      Hey folks, I have a handful of IRs linked to a ComboBox, and I'm using:

      const irs = Engine.loadAudioFilesIntoPool();

      It works fine, however in the DAW if you stop the playhead and restart the track, or close the plugin window (with plugin still running) and reopen it, it seems to load those audio files, which are already loaded, thus doubling the amount of RAM in use by those files. Over time, this becomes a huge memory issue, and projects become unusable. It's saved in the plugin state, so closing and reopening the DAW doesn't solve the issue, assuming you are running the same project file.

      Issue persists in Cubase, Reaper, and FL Studio.

      I couldn't find a solution for this, but I thought something like

      Engine.purgeAudioFilesFromPool(); above it might do the trick, so it purges before loading.

      Unfortunately no such thing seems to exist.

      Does anyone have a potential fix, or alternative for this? Thanks in advance.

      posted in Scripting
      E
      Elezeid
    • RE: HISE seems to have butchered all of my loop points.

      @aaronventure This is great advice. I've actually been using git to backup my project after every session, but I'm fairly new to using it so I didn't realize I could revert to a previous version.

      Thanks for pointing this out (and for the other user who mentioned this). I appreciate the guidance!

      posted in Bug Reports
      E
      Elezeid
    • HISE seems to have butchered all of my loop points.

      This is a bit frustrating, considering it looks like many hours of work must now be redone.

      I have meticulously set loop points for over 400 individual samples. I set the loop points first in an audio editor, but HISE only really recognized embedded loop points about 20% of the time, thus I had to manually enter the loop points (a second time) into the samplemaps by hand. One sample per sample map. Every single one of them was rigorously tested for quality and accuracy.

      I converted the samplemaps all to HLAC monolith, and every single one of the loop points has been offset by anywhere from 1, to 5000 samples. Now I'm seemingly forced to jump in and manually set all of these loop points again, but I'm not certain I trust that they'll remain.

      This is a major setback. Is there anything I can do here? Are there any quirks of how HISE handles samples that I should be aware of so that I can avoid this happening again?

      Thanks in advance for any guidance.

      posted in Bug Reports samplemaps monolith sample
      E
      Elezeid