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

    bendurso

    @bendurso

    100
    Reputation
    81
    Profile views
    576
    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: .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
    • RE: Hise won't open on Windows 10

      @d-healey Did you remove /arch:AVX from extra compiler flags or did you something else? I tried and didn't work on that machine

      posted in General Questions
      bendursoB
      bendurso
    • RE: Webview Doesn't Work on Compiled Plugin in Windows

      @Christoph-Hart Nice, thanks. I rebuilt HISE with the latest commit and re-exported the plugin, but nothing changed for me.

      What I find strange is that on Mac, the exported app (or plugin) opens instantly without any delay, while on Windows it takes about 5 seconds to load. My Mac is a bit more powerful than my Windows PC, but not five times more powerful.

      posted in General Questions
      bendursoB
      bendurso
    • RE: Webview Doesn't Work on Compiled Plugin in Windows

      @Christoph-Hart Thanks for your reply and details to debug it :)

      It turns out I was mistaken—the commit I mentioned doesn’t work either.

      I created a test project with a lot of sliders, labels, buttons, and comboboxes (using the latest commit), and exported it as a standalone app.

      In HISE, the WebView works (the btnNews button shows and hides it), although the interface loads slowly. However, in the exported standalone app, it takes a long time to launch, and the WebView’s HTML doesn’t load.

      If I remove the WebView, the interface loads much faster in both HISE and the standalone app.

      This issue only occurs on Windows; everything works fine on Mac.

      https://we.tl/t-S7yxRTEQQw

      posted in General Questions
      bendursoB
      bendurso
    • RE: Webview Doesn't Work on Compiled Plugin in Windows

      I found that commit ffc821ed0dcbde87c3b29dac9023b4b11eaeaf0e (enabled compilation of HISE with IPP by default) works fine. So the issue must be in a newer commit.

      The plugin loads much faster, and the html file loads too. @Christoph-Hart maybe this info helps :)

      posted in General Questions
      bendursoB
      bendurso
    • RE: Webview Doesn't Work on Compiled Plugin in Windows

      @bendurso After a lot of testing, I figured out why the index.html file wasn’t loading. Once I deleted all the UI components (panels, sliders, etc.), it finally worked.

      One thing I noticed is that the standalone app now opens way faster—went from 5 seconds to almost instant. Makes sense since there are fewer elements to load, but it always loads fast on Mac.

      So maybe the HTML file isn’t loading because of too many UI elements? The weird part is I only see this issue on Windows, not Mac. A couple commits ago it was fine, but I can’t roll back since I’m using the new AHDSR Flex now.

      posted in General Questions
      bendursoB
      bendurso