HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. aaronventure
    3. Posts
    A
    • Profile
    • Following 0
    • Followers 3
    • Topics 168
    • Posts 1,727
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: HISE + PluginDoctor = OP

      @ustk and compile the hise plug in with backend as fx flag

      posted in General Questions
      A
      aaronventure
    • Multipage Creator build failing on macOS 15.5 + Xcode 16.4
       Processing Info-App.plist
      ▸ Compiling include_hi_dsp_library_02.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_dsp_library_01.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling MainComponent.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling Main.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling Exporter.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_lac.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling DialogLibrary.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling BinaryData.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie_1.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie.mm
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie_10.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie_12.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie_13.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      ▸ Compiling include_hi_rlottie_3.cpp
      
      ❌  clang: error: unsupported option '-mpopcnt' for target 'arm64-apple-macos10.11'
      
      
      etc. etc. etc. it keeps going
      
      
      posted in Bug Reports
      A
      aaronventure
    • RE: Chat Room Feature || Request?

      @Chazrox this way you learn some markdown which will undoubtedly come in handy!

      posted in General Questions
      A
      aaronventure
    • RE: Scriptnode - Creating/Linking a button that bypasses a Node

      @Orvillain in a network that's always running, yes.

      posted in General Questions
      A
      aaronventure
    • RE: Scriptnode - Enable filter when Frequency value rises above 20hz

      @DanH yeah the value dot size changes with unscaled value @Christoph-Hart

      c65dad59-08c6-47a4-82b4-ea9aaa934ff6-image.png

      posted in General Questions
      A
      aaronventure
    • RE: Scriptnode - Enable filter when Frequency value rises above 20hz

      Use the compare node.

      HiseSnippet 1472.3ocuXEraaaDDcojocrZZQRaOVTPfbwov0PxV1IF8fUrrUpPqcTCcMxM2MjKsVHxcYVtz1JE8T6gzS8Kn8KneD4bQJPAxWP+CR+BZmkjRjTTxQlMIx.FZmYGtu8MuY1kpmfaQBB3BjVsiF5SPZWW2bHS1uceLkg5tGR6CzO.GHIBiXS6NzGGDPrQZZUuuxf1xKfh97pc1E6hYVjTSHzwbpE4qodTYp0ds9JpqaGrM4HpWlY2rUWKNqM2kGB3opdcjO1Z.9TxgX0zpni9RbPej1mou45aX0z9N1qu9laukEdKx1NXGmFaX2r4V2c6FarMt4c2hTeSj1h6aSkbgoDKIAHsE1kaOzrO+bV7BbLMf9XWhZPCjIrxwl6vcsUaQkUT69TW6diHp.D7T5kRaUiosOV+.pMcr8T56FQNLRiHKApUIO7plCdMxBu5Yf2TfjVFHsPLjtotokf5KS8nvy6o2kAYSGLjmxBk34hzdtdaNLAlbMO7.RGALXb.qrU85qZ.+61egSHyRR4LCN6Ptj7.1J2t12Wa4Z+PMiIc43LUepkQvccIho5VIMDWVfqvB8dLQrpwYX2Px3IBa+7bp9r4zrobq3cclIxYcYT4C7IrYIDPITE7sus6dXIVkHRrAyymHjTEDz1ibFTFDmVVVeORv.I2GJDJjy.0B2NzEKyKgTEZIN.NHWdSkbXAT4vrEhuwzUyKDuodOpzp+zwXkofQfodafwjpw2WeeGGhkLEfKn24Qu6J8pkT5AqoZwudxPiNOpwTK5dldp.2WP7wBxQ7dt3gqDf87cIODv3pFO1kaMvj9TRwpB+XHrqZFqX0GyXD2fxT7r3byJMt7jxC4gRJ6zCvRA8BnJ7vPOSnutEocB5.aZUT0PwiqqFqzElDlczf+E9j3rgZrVhyFiblo76Ph7btXPT5H46Hskh49fHR9DmKZftmqK+71bOeZhJExAQ15wcG52mynVJSwyXDRumGODVjD3BGAcDl5pj0lgAPyA6GvLgIGctmV0iIhfnG7R50WC9Cj4GxsAWK0AaAD6vdXYeU8hpeCHNIh0rFKRyg0r5j3C.y4V8TGcTYLwAn1SwFpCJUordXADFz5V0AphV0LcjhEspQPIYk3ktavwJuVXWzwJQgJnnUQM8pwahEUSsldHK.lFQfxsm9vn8DHtVar+h6gLAeI6.O86ykRrgHjYPkFx9Bd3o8MFEpQ.WYFTX9gx.vMw..RH1MVNupAiKirx3BOrKTwXaT+yaXHvrSIFbmHe9inGTdpAk1D6Hr3ThLHoqNiXEqYhxncsUsxs.kBTrhFy0JyKp+0DGPUlIAnH7z06ZGPYIbbZ+vCvWLgsWsioj3qJ3yNOyAjyi48ryTkXVRO9AT3QuGwAG5JKX+dgRtGTnaONWmjhS2XSQ0pxvibWLAmF5kqPKMoeM8fybNg7j7b9x56yvPmI6In8pu8o8jzcIY8L3ao4CeMacUkEOjdZ+B.rYqYAvRfoOYJXB3wYhoqq2NRkntEQAla1.KiDcrLHmB8F5NTWUpesDuEEniC7JoOUv0kbwnK40IdUR+ppMJylbwnyl1GNd0FdGhn.FcdUNk4hWtxrYqBr7yd47k4a8id+4Nw20uif7jP3rogSPxs9koSxf84Vd1ZiMd4NS.xm+hWbq4Tddq+4uh.YU8uAUnBb5JfWsyqQZt9yKJMWu0UsbN50Zm6x4RTsLmcX9tOZuWljGM83bYe39T4vUq+9o+zznpH6k.W23JVEun5UAHkip9ezL9xfT54.yslZFB9IOzdo3crphB8lubcbne5O+q+1e76G0ZVnM6ohJHV4JbHY19AnoFWlqmkKxQWs.sKmOvCGcS6x8NuuKdu.OrkfeRxcUTjz0hr.8ZXI2Q4.0XiFnylTA5QsomXYk+QUHv0KafaT1.aV1.2rrAtUYC7NkMv695CT8aokTupDtPGid6GeDq1n5d3fdz+Af2a88G
      

      I'm seeing some super funny graphics on the compare node, though.

      posted in General Questions
      A
      aaronventure
    • RE: Neural Amp Modeler (NAM) in HISE

      @Orvillain you can still see the two cables going into it. You multi node should contain a neural node and an empty chain node.

      posted in General Questions
      A
      aaronventure
    • RE: Branch Container - Bypass non-selected channels / chains?

      @DanH It does, there's no need to use Soft Bypass alongside it.

      posted in General Questions
      A
      aaronventure
    • RE: Neural Amp Modeler (NAM) in HISE

      @Christoph-Hart said in Neural Amp Modeler (NAM) in HISE:

      Haha wasn't all that drama about it being 8x slower than the NAM plugin?

      I have no idea, I'm only now touching it for the first time.

      I ran direct comparisons in Reaper and a Waveform Synth with NAM on stereo channels consumes 1% of CPU (20% of RT CPU), while two NAM plugins in total consume 0.9% of CPU and 18% of RT CPU.

      So HISE is about 10% less efficient, which is good enough and entirely shippable if you ask me.

      @Christoph-Hart said in Neural Amp Modeler (NAM) in HISE:

      Can't you just embed the JSON content of the NAM file into a script and it will be embedded in the plugin?

      I sure can. I feel silly now. Thank you.

      posted in General Questions
      A
      aaronventure
    • RE: Neural Amp Modeler (NAM) in HISE

      @Lurch I mean, it works? The performance is seemingly twice as bad as the NAM plugin, but only because the neural node in HISE is processing two channels, and the NAM plugin is processing one.

      If you use the multi node to force mono processing and before that collapse the stereo signal into mono, you get roughly the same performance.

      Create your NAM file in the colab https://colab.research.google.com/github/sdatkinson/NAMTrainerColab/blob/main/notebook.ipynb

      Put in into the Samples directory.

      const neuralNetwork = Engine.createNeuralNetwork("MidDrive");
      
      const namModel = FileSystem.getFolder(FileSystem.Samples).getChildFile("model.nam").loadAsObject();
      
      neuralNetwork.loadNAMModel(namModel);
      

      Create a ScriptFX DSPNetwork and load the math.neural node.

      It would be cool to be able to embed the .nam files into the plugin instead of having to install them separately.

      posted in General Questions
      A
      aaronventure
    • RE: BYPASS Mac Security || sudo code?

      @Chazrox xattr -cr pathToPlugin

      posted in General Questions
      A
      aaronventure
    • RE: Anyone here using ChatGPT to assist with scripting or instrument design?

      @Christoph-Hart someone recently released a framework for adding your own data, training on it and adding it to an LLM, which is much better than RAG which is very dependent on context size/accuracy performance, currently the leader here is Gemini but it's only benchmarked on recall (like recalling stuff from a book).

      I'll see if I can find it.

      But ultimately for this to be super useful, HISE would need to be completely scriptable, and then an agentic tool with Context7 might be able to get you some results.

      Currently there's just no way around learning HISE.

      posted in General Questions
      A
      aaronventure
    • RE: HISE Meet Up

      @Christoph-Hart So you're just removing all the modules and everything is now done in ScriptNode? 😆

      posted in General Questions
      A
      aaronventure
    • RE: I wasted 3 hours on deepseek trying to create Autotune, Reverb and Delay in Hise

      @Chazrox Writing small pieces of code, like functions. Connect it to context7 so it can get docs, but obviously that only works if the docs are complete, and HISE docs are not.

      I did once write a full 3d rendering engine in HISE PaintRoutine, with frustum culling and all the jazz. You'd just pass it a "mesh" like a an array of points relative to a center, pass it a location for the the mesh center, pass it camera specs like xyz, pitch, yaw, fov and it would render the whole scene using line calls. Of course it was all running on the CPU so it wasn't very efficient at all.

      I did eventually move to WebView and three.js because that's what three is made for and it runs on the GPU, but this is the kind of stuff where even testing it out meant you had to go and learn computer graphics from complete zero just to implement this here, but the toughest question would be where to even look and what to look for. With AI it was much faster to find the relevant information and get it going.

      So in a world where a question "is this even viable to try to implement" can be answered in days instead of months, it's like magic wand.

      posted in Scripting
      A
      aaronventure
    • RE: I wasted 3 hours on deepseek trying to create Autotune, Reverb and Delay in Hise

      @Chazrox said in I wasted 3 hours on deepseek trying to create Autotune, Reverb and Delay in Hise:

      Who will maintain all this 💩 code??? lol

      The point is that you shouldn't look at it. Does it work? Is the performance acceptable? Have you tested for security issues? Just ship it. That's the current way of things. Some of the stuff I'm seeing in new repos popping up is the stuff of nightmares, but hey, it works.

      I mean it's incredible, it's literal science fiction stuff, you write an instruction as if you were writing it to a developer on your team, and it becomes reality. If you told me 3 years ago this would be a reality today I would've called you crazy. Of course, currently it's just step by step, so you still need to have the big picture, understand on high level how things work so your instructions can be accurate etc.

      But code developed both to be functional and to be readable to humans so they can write it and debug it. This is no longer necessary, so I have no trouble imagining a language coming up in a very near future that is completely oriented to be written by LLMs.

      The potential is just too much to ignore.

      posted in Scripting
      A
      aaronventure
    • RE: I wasted 3 hours on deepseek trying to create Autotune, Reverb and Delay in Hise

      @d-healey yeah you're right

      plus as I've said elsewhere, large part of HISE is not code-based

      No way through HISE currently other than the hard way. which may become increasingly inaccessible as people become super impatient with AI doing their shit for them in seconds in other areas of life. I do often think how impossible it will be for us to relate to the new kids, given how we had to go and read 300 pages of docs before writing some code back in the day.

      Now it's all just a prompt away.

      posted in Scripting
      A
      aaronventure
    • RE: ScriptNode Compilation Workflow and What to Do About It

      @Christoph-Hart Haha that's not at all what that requirement says.

      The requirement says that if I input MIDI or audio into HISE and it spits something out, then pressing export should result in that same plugin.

      Faust nodes need the compilation step before they can work? Alright ,throw a warning and tell me to enable Allow Compilation. If I didn't ask again on export. But then it should compile to a plugin that works. Because it works in the HISE IDE.

      I can, in HISE, have a single .dsp file that I use in 10 different networks at 30 different places in Fasut nodes and it'll work in the IDE. I can make changes and it'll work. But just pressing export wont.

      So what, I should now first compile that faust dsp file in a lone network that exists just for compiling lone faust files, replace all existing faust nodes that are used for development because I cannot just branch, as the nodes cannot be in there when exporting, connect all the cables for 30 instances across 10 networks and then compile? And then when I have to make a change, what then? Git discard all the changes to the networks, make changes, and then replace and reconnect 30 nodes again just to run pluginval?

      Come on, man 😄

      posted in ScriptNode
      A
      aaronventure
    • RE: I wasted 3 hours on deepseek trying to create Autotune, Reverb and Delay in Hise

      @d-healey That's why you should ask Claude with the Context7 MCP installed

      // ========================================
      // HISE Hello World Script Examples
      // ========================================
      
      // 1. BASIC CONSOLE OUTPUT
      // The simplest way to output "Hello World" in HISE
      Console.print("Hello World");
      
      // 2. CREATING A BASIC USER INTERFACE
      // Create the main interface (600x500 pixels)
      Content.makeFrontInterface(600, 500);
      
      // Add a button programmatically
      const var HelloButton = Content.addButton("HelloButton", 10, 10);
      HelloButton.set("text", "Click for Hello World!");
      
      // 3. BUTTON CALLBACK FUNCTION
      // Define what happens when the button is clicked
      inline function onHelloButtonControl(component, value)
      {
          if(value) // Button was pressed (value = 1)
          {
              Console.print("Hello World from Button!");
              
              // You can also show a popup message
              Engine.showMessageBox("Hello World", "Greetings from HISE!", 0);
          }
      };
      
      // Connect the callback to the button
      HelloButton.setControlCallback(onHelloButtonControl);
      
      // 4. DRAWING TEXT ON A PANEL
      // Add a panel for custom graphics
      const var HelloPanel = Content.addPanel("HelloPanel", 10, 70);
      HelloPanel.set("width", 300);
      HelloPanel.set("height", 100);
      
      // Set a custom paint routine for the panel
      HelloPanel.setPaintRoutine(function(g)
      {
          // Set background color
          g.setColour(Colours.withAlpha(Colours.blue, 0.3));
          g.fillRect(this.getLocalBounds(0));
          
          // Set text properties
          g.setFont("Arial", 24);
          g.setColour(Colours.white);
          
          // Draw the hello world text
          g.drawFittedText("Hello World!", this.getLocalBounds(5), "centred", 1, 1.0);
      });
      
      // 5. CREATING A SIMPLE SOUND GENERATOR
      // Get reference to a sine wave generator (if one exists in your project)
      // Note: You need to add a SineWaveGenerator module first in HISE
      /*
      const var SineGen = Synth.getChildSynth("Sine Wave Generator");
      
      if(isDefined(SineGen))
      {
          Console.print("Sine generator found - Hello World with sound!");
          
          // Set some basic parameters
          SineGen.setAttribute(SineGen.SaturationAmount, 0.1);
          Console.print("Saturation set to: " + SineGen.getAttribute(SineGen.SaturationAmount));
      }
      else
      {
          Console.print("No sine generator found - add one to test sound generation");
      }
      */
      
      // 6. WORKING WITH ARRAYS AND LOOPS
      Console.print("=== Array Hello World ===");
      const var words = ["Hello", "World", "from", "HISE"];
      
      for(i = 0; i < words.length; i++)
      {
          Console.print("Word " + i + ": " + words[i]);
      }
      
      // Join the words together
      var message = "";
      for(word in words)
      {
          message += word + " ";
      }
      Console.print("Complete message: " + message);
      
      // 7. BASIC MATH OPERATIONS
      Console.print("=== Math Hello World ===");
      const var x = 5;
      const var y = 10;
      const var result = x + y;
      Console.print("Math result: " + x + " + " + y + " = " + result);
      
      // 8. TIMER-BASED HELLO WORLD
      // Create a timer that prints hello world every 2 seconds
      const var HelloTimer = Engine.createTimerObject();
      HelloTimer.setTimerCallback(function()
      {
          Console.print("Timer says: Hello World! " + Engine.getUptime());
      });
      
      // Start the timer (2000ms = 2 seconds)
      HelloTimer.startTimer(2000);
      
      // 9. BASIC FUNCTION DEFINITION
      inline function sayHello(name)
      {
          return "Hello " + name + " from HISE!";
      }
      
      // Call the function
      Console.print(sayHello("Developer"));
      Console.print(sayHello("World"));
      
      // 10. BASIC CONDITIONAL LOGIC
      const var currentTime = Engine.getUptime();
      if(currentTime > 5.0)
      {
          Console.print("Hello World - HISE has been running for more than 5 seconds!");
      }
      else
      {
          Console.print("Hello World - HISE just started!");
      }
      
      Console.print("=== HISE Hello World Script Complete! ===");
      
      posted in Scripting
      A
      aaronventure
    • RE: ScriptNode Compilation Workflow and What to Do About It

      @Christoph-Hart hey, so it's been a bit, where are we with this?

      During the last meetup, we talked about this and my point was basically:

      If it works in the HISE IDE, pressing export should result in a plugin that works/sounds the same.

      No need for hidden steps like compiling nodes separately in a different network, then replacing Faust node instances etc.

      I just tried creating a simple faust effect in a Faust node. HISE kindly reminded me to set the Allow Compilation flag to true. I tried, the error failed to go away, the "Fix it" button worked.

      The effect was having an effect and doing what it should in HISE Standalone.

      I hit export. Build succeeds. VST3 fails to scan. AU crashes host.

      posted in ScriptNode
      A
      aaronventure
    • RE: What are you using to build UI for your plugin? What's your preferred way and why?

      @mrcurious No.

      If you don't fancy building your own components, check out PrimeVue/PrimeReact.

      Then either pick Vue+Nuxt for the Vue version or NextJS for the react version, configure it to build a static website and start.

      Link Preview Image
      PrimeReact | React UI Component Library

      Slider is a component to provide input with a drag handle.

      favicon

      (primereact.org)

      posted in General Questions
      A
      aaronventure