Forum
    • Categories
    • Register
    • Login
    1. Home
    2. dannytaurus
    3. Posts
    • Profile
    • Following 3
    • Followers 1
    • Topics 84
    • Posts 822
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Colour non-sense...

      @ustk Full disclosure, I figured this out using ChatGPT 😜

      posted in Bug Reports
      dannytaurusD
      dannytaurus
    • RE: Colour non-sense...

      @ustk Seems that when you set a colour variable it's stored as unsigned 32-bit but the return of the calculation is signed 32-bit.

      They are the same number, but different formats. It looks like the floating tile doesn't like the signed format and falls back to the default green colour.

      If you force the calculation result to unsigned, it works as expected:

      inline function getColourFromTheme(saturation, brightness)
      {
      	local sat = Colours.withSaturation(THEME, saturation);
      	local col = Colours.withBrightness(sat, brightness);
      	//return col;
      	// force unsigned 32-bit result
      	return col < 0 ? col + 4294967296 : col;
      }
      

      Not sure if that's considered a bug, or just another gotcha we have to remember and accommodate.

      CleanShot 2026-02-08 at 15.13.47@2x.png

      posted in Bug Reports
      dannytaurusD
      dannytaurus
    • RE: Mac installer for audio sample libraries best practices?

      @David-Healey You get the Destinations settings below. I'm not 100% clear if that means User folder and System Disk though.

      CleanShot 2026-02-08 at 11.13.20@2x.png

      EDIT: actually, that Destinations section just dictates what the user sees on this page of the installer:

      CleanShot 2026-02-08 at 11.24.18@2x.png

      I think just back away quietly. I'm just making things worse here 😂

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Mac installer for audio sample libraries best practices?

      @David-Healey said in Mac installer for audio sample libraries best practices?:

      What does this mean?

      I don't know. I'm repeating what I read in other posts here. Hence the 'apparently' 😀

      I do know it has an Audio Plugin option when you create a new package project.

      And given that installing different files to different locations, including to both user and system directories, is a very common requirement for audio plugins, I assume it will handle it.

      Haven't tried it myself yet though.

      CleanShot 2026-02-08 at 11.06.26@2x.png

      EDIT: looks like the Audio Plugin option might be purely a visual element, and it doesn't actually do anything special.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Mac installer for audio sample libraries best practices?

      @WillowWolf You could look at Package Builder too. Apparently it's been updated to specifically handle installing audio plugins, so I assume it would do what you need.

      https://www.araelium.com/packagebuilder

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @Bart Wow, that interface is wild! 😮 😂

      The synth I'm building is the start of a series, so I'm designing a layout that will work with all of them. Each one will have a couple of unique controls, so they all look slightly different but obviously from the same family.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Help! Automation image painting in panel

      @David-Healey Yeah, me too. But I thought for someone learning how to do the basics of optimising repetitive code into loops, I would just show the basic method.

      @goldee What David means, if we're talking about the same thing, is that you can get an array of components and loop through them directly, instead of fetching each one by name.

      const panels = Content.getAllComponents("instimg_pnl\\d+");
      
      for (panel in panels)
      {
        panel.loadImage("{PROJECT_FOLDER}" + panel.getId() + ".png", "img");
        panel.setPaintRoutine(function(g)
        {
          var a = this.getLocalBounds(0);
          g.drawImage("img", a, 0, 0);
        });
      }
      
      posted in Newbie League
      dannytaurusD
      dannytaurus
    • RE: Help! Automation image painting in panel

      @goldee To put this in a loop, I would grab the block that is repeated each time:

      const var instimg_pnl1 = Content.getComponent ("instimg_pnl1");
      instimg_pnl1.loadImage("{PROJECT_FOLDER}instimg_pnl1.png", "instimg_pnl1");
      instimg_pnl1.setPaintRoutine(function(g)
      {
        var a = this.getLocalBounds(0);
       g.drawImage ("instimg_pnl1", a, 0, 0);
      });
      

      And put it in a loop structure:

      for (panel in panels) // we'll make the panels list later
      {
        const var instimg_pnl1 = Content.getComponent ("instimg_pnl1");
        instimg_pnl1.loadImage("{PROJECT_FOLDER}instimg_pnl1.png", "instimg_pnl1");
        instimg_pnl1.setPaintRoutine(function(g)
        {
          var a = this.getLocalBounds(0);
          g.drawImage ("instimg_pnl1", a, 0, 0);
        });
      }
      

      Then change the instimg_pnl1 var name to something generic and reusable, p:

      for (panel in panels)
      {
        const var p = Content.getComponent ("instimg_pnl1"); // 👈 p
        p.loadImage("{PROJECT_FOLDER}instimg_pnl1.png", "instimg_pnl1"); // 👈 p
        p.setPaintRoutine(function(g) // 👈 p
        {
          var a = this.getLocalBounds(0);
          g.drawImage ("instimg_pnl1", a, 0, 0);
        });
      }
      

      Then identify the parts of the block that change each time. In this case it's the instimg_pnl1 string used 4 times in the block. Change that to the panel string we're passing in from the for loop:

      for (panel in panels)
      {
        const var p = Content.getComponent (panel); // 👈 panel
        p.loadImage("{PROJECT_FOLDER}" + panel + ".png", panel); // 👈 panel, panel
        p.setPaintRoutine(function(g)
        {
          var a = this.getLocalBounds(0);
          g.drawImage (panel, a, 0, 0); // 👈 panel
        });
      }
      

      Now build the list of panels from your original code. There are a few ways to do this but let's use the full names:

      const panels = ["instimg_pnl1","instimg_pnl2","instimg_pnl3","instimg_pnl4","instimg_pnl5"]
      

      Add this to the loop and we're done:

      const panels = ["instimg_pnl1","instimg_pnl2","instimg_pnl3","instimg_pnl4","instimg_pnl5"]
      
      for (panel in panels)
      {
        const var p = Content.getComponent (panel); 👈 panel
        p.loadImage("{PROJECT_FOLDER}" + panel + ".png", panel); 👈 panel, panel
        p.setPaintRoutine(function(g)
        {
          var a = this.getLocalBounds(0);
          g.drawImage (panel, a, 0, 0); 👈 panel
        });
      }
      
      posted in Newbie League
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @Bart Oof, I don't think the design-nerd side of my brain could accept that! 😜

      But I did remove the background highlight and now it just highlights the actual wave selected.

      Feels a bit cleaner and I'm happy with it now! 🙌

      CleanShot 2026-02-07 at 08.28.04@2x.png

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Automation subfolders in DAW

      @ustk said in Automation subfolders in DAW:

      should be written automationId

      That lowercase d still gets me LITERALLY EVERY TIME 😂

      posted in Feature Requests
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @Orvillain Yep, that's on the list for a Plus version of the plugin. This is the trimmed-down free version.

      Although I have no idea yet how to use a wavetable as an LFO. Fun future project! 😂

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: How to get numbers from strings

      @ulrik Or use regex to detect strings that only contains digits.

      const var strings = ["brass", "001", "127", "flute"];
      
      for (s in strings)
      {
        if (Engine.matchesRegex(s, "^\\d+$")) Console.print(parseInt(s));
      }
      

      ^ means 'start of string'
      \\d means digit
      + means 'one or more'
      $ means 'end of string`

      So, "one or more digits between the start and end of the string, and nothing else"

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Export Setup Wizard Problems

      @David-Healey @Christoph-Hart @HISEnberg I think whatever regex magic and tree-following voodoo is in the script, there will be some user somewhere who loses all their work because of their weird setup.

      Maybe instead of actually deleting the detected HISE folders, the script should just alert the user of potential issues?

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Hise Crashes when adding waveform floating title

      @David-Healey Is there a GitHub issue?

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Hise Crashes when adding waveform floating title

      @markothemixer When exactly does HISE crash?

      1. When you add the floating tile to the Interface Builder, or
      2. When you change the ContentType of the floating tile to Waveform, or
      3. When you change the ProcessorId in the Data panel to the processor ID of the waveform module you want to visualise, or
      4. All of the above work, but HISE crashes at some point later, like re-compiling or a reload of the XML
      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @griffinboy said in UI feedback on tiny control:

      See how tiny the Ableton dropdown selection boxes and multiple choice buttons are in the background?

      Very good point! I've always disliked the Ableton UI for that reason but the point is, that's what folks will be used to I guess.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @ustk said in UI feedback on tiny control:

      Could also be a 3 pos knob

      Yeah, I tried a 3-pos knob but since all the other knobs are continuous, having one that only has 3 positions feels a bit weird. Especially since I don't want to put markers around that one knob to denote the positions.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: UI feedback on tiny control

      @David-Healey said in UI feedback on tiny control:

      Looks fine sublime to me

      Very good! 😂

      Yeah, I thought about a combo box but that's essentially what this already is - an 'always open' combo box.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • UI feedback on tiny control

      Does the Wave sector in the Motion section look too small and fiddly?

      Each wave is a fairly small hit target of 44x14.

      Any other ideas for choosing between 3 waves in that control area?

      CleanShot 2026-02-04 at 12.08.35@2x.png

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Export Setup Wizard Problems

      @Christoph-Hart said in Export Setup Wizard Problems:

      I'm also thinking about a "Nuke HISE" tool

      Definitely, although it won't help users who have multiple copies of the source on their machine.

      posted in General Questions
      dannytaurusD
      dannytaurus