HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. bendurso
    • Profile
    • Following 0
    • Followers 0
    • Topics 88
    • Posts 581
    • Groups 0

    bendurso

    @bendurso

    101
    Reputation
    82
    Profile views
    581
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Age 29
    Website zaksound.com
    Location Argentina

    bendurso Unfollow Follow

    Best posts made by bendurso

    • Automatic Installer for Windows: Inno Setup Script

      Hello!

      I thought that maybe for some this Inno Setup script could be useful. It installs the plugin + samples automatically on the user's computer.

      It does the following:

      1. Asks the user where they have their VST3 plugins folder. {commoncf}\VST3 is selected by default, but the user can change it.
      2. It then asks where you want to install the samples.
      3. And finally it creates the LinkWindows file with the chosen location of the samples.

      (In this case I also added the file "AudioResources.dat" so that it is automatically installed in the userappdata folder)

      In this way, the user simply opens the plugin and already has everything configured.

      Paying attention to the * symbol at the end of the source file location because it includes the folders inside the selected folder. For example, inside the "D:\Downtown Grand Piano\Samples Folder*" location I have the folder called Downtown Grand Piano Samples. Inno Setup will include the folder inside “Samples Folder”, which is "Downtown Grand Piano Samples" (You can check the Inno Setup documentation if you need to understand this better.)
      Then the linkWindows file is autogenerated with the location chosen by the user + \Downtown Grand Piano Samples at the end.

      (I received help from GPT to automatically generate the linkWindows file, although it took me some time to make it work properly)

      [Files]
      Source: "D:\Downtown Grand Piano\AudioResources.dat"; DestDir: "{userappdata}\ZAK Sound\Downtown Grand Piano"; 
      Source: "D:\Downtown Grand Piano\VST3 File\*"; DestDir: "{code:GetVst3Directory}"; Flags: recursesubdirs
      Source: "D:\Downtown Grand Piano\Samples Folder\*"; DestDir: "{code:GetSampleDirectory}"; Flags: recursesubdirs createallsubdirs
      
      [Code]
      var
        Vst3DirectoryPage: TInputDirWizardPage;
        SampleDirectoryPage: TInputDirWizardPage;
      
      procedure InitializeWizard;
      begin
          SampleDirectoryPage := CreateInputDirPage(wpSelectDir, 'Select Samples Directory', 'Where would you like to install the samples?', 'Select the location where you want to install the samples (2.58GB). You can use an external drive if you have one.', False, '');
          SampleDirectoryPage.Add('');
          SampleDirectoryPage.Values[0] := ExpandConstant('{commoncf}\VST3\Downtown Grand Piano');
          
          Vst3DirectoryPage := CreateInputDirPage(wpSelectDir, 'Select VST3 Directory', 'Where would you like to install the VST3 file?', 'Select the default location of your VST3 plugins. In most cases, there is no need to make any changes.', False, 'Size: 29MB');
          Vst3DirectoryPage.Add('');
          Vst3DirectoryPage.Values[0] := ExpandConstant('{commoncf}\VST3');
      
       end;
      
      function GetVst3Directory(Param: String): String;
      begin
        Result := Vst3DirectoryPage.Values[0];
      end;
      
      function GetSampleDirectory(Param: String): String;
      begin
        Result := SampleDirectoryPage.Values[0];
      end;
      
      
      procedure CurStepChanged(CurStep: TSetupStep);
      var
        LinkWindowsFilePath: string;
        LinkWindowsFileContent: string;
        SampleDirectory: string;
        BaseDirectory: string;
      begin
        if CurStep = ssInstall then
        begin
          BaseDirectory := ExpandConstant('{userappdata}\ZAK Sound\Downtown Grand Piano');
          ForceDirectories(BaseDirectory);
      
          LinkWindowsFilePath := BaseDirectory + '\LinkWindows';
          if FileExists(LinkWindowsFilePath) then
            DeleteFile(LinkWindowsFilePath);
      
          SampleDirectory := GetSampleDirectory('');
      
          LinkWindowsFileContent := SampleDirectory + '\Downtown Grand Piano Samples';
      
          SaveStringToFile(LinkWindowsFilePath, LinkWindowsFileContent, False);
      
      posted in Blog Entries
      bendursoB
      bendurso
    • RE: Waveform LAF / PR

      @bendurso Well, I just made my own svg paths for the waveforms. If someone needs them, here it goes:

      Sine
      110,109,0,0,0,0,0,0,72,66,98,0,0,200,65,0,0,0,0,0,0,150,66,0,0,200,66,0,0,200,66,0,0,72,66,101,0,0
      
      Saw
      110,109,0,0,200,66,0,0,72,66,108,0,0,200,66,0,0,0,0,108,0,0,72,67,0,0,200,66,108,0,0,72,67,0,0,72,66,99,101,0,0
      
      Square
      110,109,0,0,0,0,0,0,200,66,108,0,0,0,0,0,0,72,66,108,0,0,72,66,0,0,72,66,108,0,0,72,66,0,0,200,66,99,109,0,0,72,66,0,0,0,0,108,0,0,72,66,0,0,72,66,108,0,0,200,66,0,0,72,66,108,0,0,200,66,0,0,0,0,99,101,0,0
      
      Triangle
      110,109,0,0,0,0,0,0,72,66,108,0,0,72,66,0,0,0,0,108,0,0,200,66,0,0,72,66,108,0,0,22,67,0,0,200,66,108,0,0,72,67,0,0,72,66,101,0,0
      
      Random
      110,109,0,0,0,0,0,0,72,66,108,0,0,160,65,0,0,72,66,108,0,0,160,65,0,0,240,65,108,0,0,32,66,0,0,240,65,108,0,0,32,66,0,0,160,66,108,0,0,112,66,0,0,160,66,108,0,0,112,66,0,0,160,65,108,0,0,160,66,0,0,160,65,108,0,0,160,66,0,0,112,66,108,0,0,200,66,0,0,
      112,66,108,0,0,200,66,0,0,32,65,108,0,0,240,66,0,0,32,65,108,0,0,240,66,0,0,180,66,108,0,0,12,67,0,0,180,66,108,0,0,12,67,0,0,32,66,108,0,0,32,67,0,0,32,66,108,0,0,32,67,0,0,140,66,108,0,0,52,67,0,0,140,66,108,0,0,52,67,0,0,72,66,108,0,0,72,67,0,0,72,
      66,101,0,0
      

      They're SVG paths. So you can customize them within a panel :)

      posted in General Questions
      bendursoB
      bendurso
    • RE: scroll event for script panel mouse callback

      @oskarsh Another friendly bump.

      I want to use it to move panels down/up.

      posted in Feature Requests
      bendursoB
      bendurso
    • RE: Reference Multiple Convolution Nodes in ScriptNode

      @d-healey oh, I found the solution on this post: https://forum.hise.audio/topic/4355/changing-impulses-in-scriptnode/15

      posted in ScriptNode
      bendursoB
      bendurso
    • RE: Zak Sounds Particles animation

      @d-healey It works on mine, and it's a M2. I didn't receive any complaints either.

      posted in General Questions
      bendursoB
      bendurso
    • RE: Compiling macOS Components and VST3 Doesn't Put Them in the Project Folder

      @d-healey said in Compiling macOS Components and VST3 Doesn't Put Them in the Project Folder:

      In a recent commit of HISE Christoph removed the copy step so it should no longer be moving the plugin files automatically (although this might only apply on the latest MacOS version I'm not sure).

      I can confirm. I'm using Sonoma 14.3.1, and the compiled plugins are now located inside the project folder. That was a good surprise :)

      posted in General Questions
      bendursoB
      bendurso
    • RE: Parametric eq is not saved in Presets?

      @ThinkTank You have to add this:

      const var ParametriqEQ1 = Synth.getEffect("Parametriq EQ1");
      Engine.addModuleStateToUserPreset("Parametriq EQ1");
      

      (Replace ParametriqEQ1 with your real EQ name)

      posted in General Questions
      bendursoB
      bendurso
    • RE: Joining two projects?

      @alfaholic This is how to copy/paste components: https://forum.hise.audio/topic/4408/copy-paste-component-following-feature-requests-thread?_=1696542841615

      posted in General Questions
      bendursoB
      bendurso
    • RE: Wavetable convertion?

      @bendurso I just realized that setting the Source Length to the same sample length (2048, I was using Automatic mode before) and enabling FLAC compression does the trick to obtain the same file as the example.

      posted in General Questions
      bendursoB
      bendurso
    • RE: New Website

      Beautiful page. I think the commercial license prices and FAQ are very useful for new potential users who want to use Hise :)

      posted in General Questions
      bendursoB
      bendurso

    Latest posts made by bendurso

    • RE: VST3 / Ableton / Macro Modulation Issue

      I think the problem is that the macro modulation system interferes with the DAW's automation system.

      Ideally, the DAW would ignore parameters with isPluginParameter if they have a macro assigned. But... isPluginParameter can't be set dynamically.

      Is there a solution for this? @Christoph-Hart

      posted in Bug Reports
      bendursoB
      bendurso
    • RE: VST3 / Ableton / Macro Modulation Issue

      @ILIAM said in VST3 / Ableton / Macro Modulation Issue:

      Worst than that is that you can't undo redo anything, try to bypass / unbypass something, you'll see

      Oh yeah, that's another issue. With VST3 and also AU.

      posted in Bug Reports
      bendursoB
      bendurso
    • VST3 / Ableton / Macro Modulation Issue

      I’m experiencing an issue when using a macro modulator in Ableton (with VST3 plugin only). When a macro modulator is active, you can’t change anything in the automation menu—it gets stuck.

      Screen Recording 2025-10-13 at 12.24.36 PM.gif

      The AU version works fine.
      I tested this on Ableton 11.3.42 / macOs Sequoia 15.6.1

      posted in Bug Reports
      bendursoB
      bendurso
    • RE: Moonbase

      @tobbentm Hise uses Juce 6 :)

      posted in General Questions
      bendursoB
      bendurso
    • RE: SoundSync: Reseller, Security & Serial Management Platform

      @d-healey said in SoundSync: Reseller, Security & Serial Management Platform:

      Sounds similar to Moonbase

      The Juce module of Moonbase could work with HISE? Never heard about moonbase but looks cool.

      @trillbilly said in SoundSync: Reseller, Security & Serial Management Platform:

      SoundSync is meant to put all of that in one place, while still letting you own your brand.

      SoundSync looks good as well :) But in my case I already have most of these features.

      posted in General Questions
      bendursoB
      bendurso
    • RE: .ch1 samples stop working in compiled VSTi (did i miss something?)

      @Straticah Yeah, this is my code to install the expansions (i'm actually saving other things on that json file, so that's why I used "SampleFolder" to retrieve it from the json)

      var CompletePath;
      
      inline function InstallPackage()
      {
      	local parentFolder = FileSystem.getFolder("../");
      	local SampleFile = parentFolder.getChildFile("settings.json");
          local SampleObject = SampleFile.loadAsObject();
          
          local DirectoryFile = FileSystem.fromAbsolutePath(SampleObject.SampleFolder);
          
          CompletePath = DirectoryFile.createDirectory(InstrumentName);
            
          if (CompletePath.isDirectory())
          {       
                 expHandler.installExpansionFromPackage(selectedInstrumentFile, CompletePath);  
          }
          else
          {
              Console.print("Could not create the installation directory.");
          }
      }
      

      When I use expHandler.installExpansionFromPackage, it creates the link file on expansion samples folder with the samples path. It always worked for me, and I never received a support ticket.

      And then I created my own button to change the samples path on settings. This will change the sample paths for all the expansions.

      inline function onbtnChangeSamplesDirectoryControl(component, value)
      {
          if (value)
          {
              FileSystem.browseForDirectory("", function(selectedFolder)
              {
                  if (selectedFolder)
                  {
                      if (selectedFolder.hasWriteAccess())
                      {
                          var path = selectedFolder.toString(0);
                          currentSampleFolderPath = path;
      
                          var notFound = [];
      
                          for (e in expHandler.getExpansionList())
                          {
                              var name = e.getProperties().Name;
                              var fullPath = path + "/" + name;
                              var folderObject = FileSystem.fromAbsolutePath(fullPath);
      
                              if (folderObject.isDirectory())
                              {
                                  e.setSampleFolder(folderObject);
                              }
                              else
                              {
                                  notFound.push(name);
                              }
                          }
      
                          if (notFound.length > 0)
                          {
                              Console.print("Not found");
                          }
                          else
                          {
                              Console.print("All sample folders updated successfully");
                          }
                      }
                      else
                      {
                          Console.print("The selected folder can't be accessed due to insufficient write permissions. Please choose a different folder.");
                      }
                  }
              });
          }
      };
      
      Content.getComponent("btnChangeSamplesDirectory").setControlCallback(onbtnChangeSamplesDirectoryControl);
      
      posted in General Questions
      bendursoB
      bendurso
    • RE: .ch1 samples stop working in compiled VSTi (did i miss something?)

      @Straticah What I do is this: when the user opens the plugin for the first time, I ask them where they want to store all the samples and save that path in a JSON file.

      Then, during each expansion installation, when I call expHandler.installExpansionFromPackage, I always send the samples to that folder inside a new subfolder. The file link is created automatically by this function.

      If the user later wants to change the location, I provide a master configuration option for relocating samples. So I call Expansion.setSampleFolder for all the expansions and change the path of the json file. This way, the user can simply move all expansions at once.

      I analyzed different approaches a while back, and this one seemed the most reasonable.

      posted in General Questions
      bendursoB
      bendurso
    • How to imitate Residual Noise Settings with setResynthesisOptions()

      When using WavetableController.getResynthesisOptions(), we get a json file like this:

      {
        "PhaseMode": "StaticPhase",
        "MipMapSize": 12,
        "CycleMultiplier": 4,
        "UseTransientMode": true,
        "NumCycles": -1,
        "ForceResynthesis": false,
        "UseLoris": true,
        "ReverseOrder": false,
        "RemoveNoise": true,
        "DenoiseSettings": {
          "SlowFFTOrder": 13.0,
          "FastFFTOrder": 9.0,
          "FreqResolution": 500.0,
          "TimeResolution": 0.2000000029802322,
          "CalculateTransients": true,
          "SlowTransientTreshold": [
            0.8,
            0.7
          ],
          "FastTransientTreshold": [
            0.85,
            0.75
          ]
        },
        "RootNote": -1
      }
      

      How can we set this file to imitate the modes "Residual", "mix" and "solo" from the stock tool wavetable creator?

      I tried changing "RemoveNoise" and different "DenoiseSettings" but no luck to imitate the "Mix" and "Solo" modes

      posted in General Questions
      bendursoB
      bendurso
    • RE: How to make dynamic expansion Artwork accessible for Webview?

      @Straticah To get the Tags text you can use

      ExpansionHandler.getCurrentExpansion().getProperties().Tags
      

      Supposing that is for the current expansion getCurrentExpansion(), but you could use any expansion.

      It doesn't contain a description field in the expansion_info.xml.

      posted in General Questions
      bendursoB
      bendurso
    • RE: `setCurrentExpansion` changes the input paths

      @daniloprates This happens to me sometimes as well. I'm not sure if that's the only reason, since it has occurred on projects without expansions.

      Other than having to move the mouse a bit more, everything works fine :)

      posted in Newbie League
      bendursoB
      bendurso