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

    Posts

    Recent Best Controversial
    • RE: onControl vs custom callbacks?

      @David-Healey Roger that 👍

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Wavetable creation

      @DanSound Not sure. Haven't tried compiling it yet. I think it's due to the calculations done after loading the file, so will probably be the same.

      I'd like to test the caching more, to see if it can speed up the process.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • onControl vs custom callbacks?

      What are the advantages of using the onControl callback vs using custom callbacks?

      Is onControl legacy at this point?

      https://docs.hise.dev/hise-modules/midi-processors/list/scriptprocessor.html#the-oncontrol-callback

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Best practice for stepped frequency parameters in SVF EQ

      @the-red_1 You could use an array of the values and a stepped knob in the UI.

      const EQ = Synth.getEffect("Script FX1");
      const knb = Content.getComponent("knbEQFreq");
      const freqSteps = [3000, 5000, 7000, 9000, 11000, 14000, 16000];
      
      inline function onKnbEQFreqControl(component, value)
      {
          local index = Math.range(value, 0, freqSteps.length - 1);
          EQ.setAttribute(EQ.Frequency, freqSteps[index]);
      }
      knb.setControlCallback(onKnbEQFreqControl);
      
      HiseSnippet 1593.3ocuX0saaaCElxIJMwqqnEaWrKERuwcHyvN+1fhg3jX6Nitj5TmFTfhhLZI5XBKQpIQkD2gc01E8t8XrWi9.zALf9Dr2ftmfsCIksjhcccMRqBfs4OGdNeme93QoY.2lDFxCPF4OtuOAYbSyV8Yht62ESYnFUQF2x7.bnfDXomZu993vPhCxvXtGJmvXo4Qpm2sydXWLyljLEBcBmZS9QpGUjLayJOh55VG6PNl5kZ2qWogMmsO2kGA1yblkP9X6d3yHGhkaKmI5GvgcQFeq48sa6r41N3sZu4ls2prsy1cJUdaLgzdsMt+ZjMr2ztbmMwkPFKTygJ3AsDXAIDNz83N8a0keASqfSngz1tD4fxnVfl0Si1uK00o4.mSHBYLeyDW0bZW0Wad.0gNb9DW1sUKXkHQZmlQtIYRk+HLIiTlz7ZS5NlsrCn9hjUj1yWX1fAQvNXH1j1Tz6Ekaubl6ygcvDE8v8H0CfACknvpkJshE7w8dP97P7ITXcNNvp1QVeukJUo3YDQsNcH1hBKqOQq5Oq7xv1S1cOVaX6CTBHv9bOeNCFTXYXsZGUOf7yKmUCcfoZIH9gfjOesRRqXC0mao9ba0mkKq+Zc8WaBe8B3TnLWJiX0IhYKnblEm8nAZQZDAb2B1CrfU.s4FQtW9eIuE73xswtVTlC4RPwGfA.FfYmQJn10JVfZFZYEcIryDcs9NqxRaWJdsiJFRD6JDAz1QBRAXrTqQDlc+TR9bkBdAH0ulGb.RYhMr8wttsg79BiZy26Ao.zgbA4wrBRydI3Prt5Rc5L10hOJWRvXWVVQFLIAKvh7ZSBR4zTaDx.ylVuvzkVaqSIRsQNqAiJdrOIdbctqiLcU96QKBPw4TxxgXKD1pPULbq3hgVtTGR.h5HqDFlsgT.HMWE5oMphE3AGEbpfl7IABpDPFUImCbY55rkLqRB6I39p8FmHgLtwTo3KSTZ0J8SOvCmZsuoBP652h9R3DMMKWrDxi533RZxCoxXRxNWrBZTp.fDh6D4hEYYljb1wKHOizzAxRdFb18Syo+QPWUZhzUSqIdGylTgc2wai4FiMBwqOE1XLI+WZp41RLv4Mq+rYkQuzGMid93bIPmRkeSyDJ1wwka7JyjhV+.hONfbLuoKtegPrmuK4IfMthUafkqmL0ZzJcesIrmbGEr6hYLha3rPHrv0z8bnmviDT1Y.Ub.EpOLOLxqEzhfMY+XqClyHmjKPOtjbrLunEg4nF7evS7hkkiMhWr7fESnQPGRDWvC5oBGw+FYrn12Gpbxm14xxnccc4WHK8owYoPLPMWStae+tbF0VNkdGCrzc83QRdBs4ljhu2fvw.KGZz4XL0Ulw2JJD3BcdLqEbNptqLl6DRPnRm2vrTQ3OnB3PtCrzMpisAed+lv0VxRII8Jj2RBJZOL+MCLRmBoayJyxxScPCYZKC.jmhqCZGSFMahC.wfdEjTj4LlKEkoNeVNBpVyoUcivSjqBWwhNQy+BtBoVz9aEHVPt0EMCOuyo.aYFDcayNTWoxJFu5n1+PAmrsm0RkKAEGWNf+utVKI+TB.4M1CRXpA47Nv8RJAFjDkxW.nX3H.2GPYmj85l0qb.9xry8p2Vo0PF+D1sV8HWncBwyV4279qcz80Mr0BzwjKEGyUGHjKeN.LohSuilPmz5vVT6GFvi7UCxZBU9iJUIcvQthQlug9PUd5ciDbOrdPNTJfl+J.sxZq81ctBPe8adycmNfht6+92JfNm4QuW.9THrzARwclJ.B2nMV.ByOIb.Oq95QBXnUmRbHOdINVPc866AJxdJrosItSGPf9EFKPj2hMQf.DOi.j2syTAje5qp913LuVdbtnKPKesDXp7Ou72GWfQM+LfmaOl.CfwIDXNPR8bMki8IOzLInrjYMFFtX04yYEilrOEg2Uomt9I.g.VV18ZWBplgcS04Hz8TUZn1aLdrlAZWA49+YkOLqp5cEXDUSQgnLCiuUtgSpKkF5iZ3j8bP6w487vpFOloWD4yRaRdX6.9o15N+jvcQ0L.CMSc46RlGHGaUdz2tBd4E5o11YOpQDb0YUv0lUAWeVEbiYUvMmUA2ZVE79eXAk+GqhuVWl5BLQMqoatwX.eBbwO5+wkAyGk
      
      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Wavetable creation

      @DanSound @Lindon Here's how to switch between audio file wavetables:

      Engine.loadAudioFilesIntoPool();
      const wt = Synth.getAudioSampleProcessor("Wavetable Synthesiser1");
      
      inline function loadWavetable(component, value) {
          wt.setFile("{PROJECT_FOLDER}" + component.get("text") + ".wav");
      }
      
      for (b in Content.getAllComponents("Button")) b.setControlCallback(loadWavetable);
      

      Four audio files in Audio Files folder: wavetable1.wav, wavetable2.wav, etc
      Four buttons in the UI, with button text as the filename: wavetable1, wavetable2, etc

      Video demo here: https://share.cleanshot.com/LvnqfWlM

      Notice it takes 1-2 seconds to load and process each audio file.

      There's a cache method but it didn't speed up the load time for me on these simple wavetables. Mainly because, I think, the caching only skips the resynthesis step, which I don't think these simple wavetables need.

      EDIT: here's a ZIP of the full project - https://wmd.d.pr/f/iIi4gG

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: How do I remove or mask out sections of a path?

      @Orvillain You can set up the hierarchy in your script I guess. Then at least you have it all in one place.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: How do I remove or mask out sections of a path?

      @Orvillain I put the floating tile inside a panel then resize and offset the plotter.

      Panel = 180x50
      Plotter = 182x48 at x,y -1,1

      Making the plotter wider by 2px and shifting left by 1px cuts off the lines down to zero on each side.
      Making the plotter 2px shorter than the panel and sitting it 1px down on the y stops the curve cutting off at the top and bottom.

      CleanShot 2025-12-15 at 14.09.08.gif

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Wavetable creation

      @DanSound Ah, OK. My project only uses one wavetable so I'm not switching.

      From the docs it looks like you can load but it'll probably need scripting.

      https://docs.hise.dev/hise-modules/sound-generators/list/wavetablesynth.html

      Data formats

      The wavetable synthesiser can be fed with two different data types:

      • An audio file
      • The custom wavetable format .hwt (.HiseWaveTable)

      Using audio files

      With the recent rehaul of the Wavetable Synthesiser at HISE 4.1.0 the wavetable synthesiser is now also a AudioSampleProcessor , which means that it has an audio file slot that you can use to load any arbitrary wavefile into the wavetable synthesiser. This heavily streamlines the process of creating wavetables as well as provides the user the ability of loading own wavetables. You can even create wavetables programatically and send it directly to the synthesiser to be played back.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey Weird! Could still be a difference between Ventura and Sequoia?

      Well, I'm not going to try to fix a bug I can't replicate.

      But you can probably do a similar fix to the combo box. Add a preapreAlertWindow override and set newWindow to not be opaque.

      Would still like to know why I see different to you.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Wavetable creation

      @DanSound They don't appear in the dropdown in the Wavetable Synth.

      Put a WAV file in the Audio Files folder, then drag it from that folder onto the Wavetable Synth, in the preview area.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey My preprocessors might be out of date. I don't think I added any until the Rectangle one today.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey I'm building Debug in Xcode with the ⌘+R (Run) command so it builds and runs in Xcode.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey macOS Sequoia 15.6

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey It's my fork but my develop branch is identical to Christoph's.

      dan ~/code/HISE@develop: 🔥 git diff develop hise/develop 
      dan ~/code/HISE@develop: 🔥 
      

      I keep all my own customisations on a separate branch:

      dan ~/code/HISE@develop: 🔥 git diff meatbeats hise/develop --name-only
      .github/workflows/build_installer.yml
      .github/workflows/build_mac.yml
      .github/workflows/ci_mac.yml
      .gitignore
      MEATBEATS.md
      hi_backend/backend/BackendApplicationCommands.cpp
      hi_backend/backend/BackendApplicationCommands.h
      hi_core/hi_components/audio_components/EqComponent.cpp
      hi_core/hi_components/floating_layout/FrontendPanelTypes.cpp
      hi_core/hi_components/floating_layout/FrontendPanelTypes.h
      hi_core/hi_components/keyboard/CustomKeyboard.cpp
      hi_core/hi_components/keyboard/CustomKeyboard.h
      hi_core/hi_core/Popup.cpp
      hi_core/hi_core/Popup.h
      hi_core/hi_modules/synthesisers/synths/SineSynth.cpp
      hi_core/hi_modules/synthesisers/synths/SineSynth.h
      hi_core/hi_modules/synthesisers/synths/WaveSynth.cpp
      hi_core/hi_modules/synthesisers/synths/WaveSynth.h
      hi_scripting/scripting/api/ScriptingGraphics.cpp
      hi_tools/mcl_editor/code_editor/FullEditor.cpp
      hi_tools/mcl_editor/code_editor/FullEditor.hpp
      hi_tools/mcl_editor/code_editor/TextEditor.cpp
      hi_tools/mcl_editor/code_editor/TextEditor.hpp
      tools/auto_build/build_mac.sh
      dan ~/code/HISE@develop: 🔥 
      
      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey OK, I recompiled with Rectangle support and I'm on latest commit on the develop branch, but I still don't see the black corners. 🤔

      CleanShot 2025-12-15 at 11.38.04@2x.png

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: I released my first public plugin guys

      @NISHI_MUSIC Congratulations! What does it do? 😀

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey said in Look & Feel - ComboBox Background.:

      @dannytaurus Probably because it's global laf. Once you get an error with it you have to restart HISE, reload the snippet, don't click compile until you've changed that bit of code :)

      Aha! Now I see it! OK... on to fixing the bug 😂

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey said in Look & Feel - ComboBox Background.:

      @dannytaurus drawAlertWindow applies to message boxes and lots of other little popups.

      Oh, cool. Good to know. Well I'm still not seeing the LAF unfortunately.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey said in Look & Feel - ComboBox Background.:

      @dannytaurus Ah you haven't got the rectangle class enabled I'm guessing, so a.reduced won't work. Just change it to a

      I get the same thing after changing a.reduced(10) to a 🤔

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Look & Feel - ComboBox Background.

      @David-Healey I'm confused. 😜

      Your code creates LAF for drawAlertWindow but the button callback calls Engine.showMessageBox() which I thought was a different thing.

      posted in General Questions
      dannytaurusD
      dannytaurus