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

    dannytaurus

    @dannytaurus

    172
    Reputation
    124
    Profile views
    481
    Posts
    1
    Followers
    3
    Following
    Joined
    Last Online
    Website meatbeats.com
    Location Los Angeles

    dannytaurus Unfollow Follow

    Best posts made by dannytaurus

    • RE: Look & Feel - ComboBox Background.

      @David-Healey I just had a go at fixing this. Is that what you mean?

      HISE-PopupTransparentBackground.gif

      HiseSnippet 1112.3ocsVs2aaaCDmJIJKwacqEne.H7e4roYH+pIcACMO8pwxCi4rhMDDTPKcxhKRjFRTMwXneH12z8MH6ndXKO6klZfI.av6Eue2wi2w9QRGHNVFQLpb0jw.w3qLGLQn7O1mwEjdmPL9ZyyYwJHhlw5nIiYwwfKwvX8eRyvX6MHoe+8aNhEvDNvLVDx6jbG3LdHWMia+C9YdPPWlKbEOrj1sOnmiTbrLPlf3YcSaxXlysrQvELsZqYRdKK1mX7sl1scX60zqSqVu9061wcH330.FtqCytCyqCC41l0tSi1DiMO0kqjQCTLEDia5QR2IC7k2Ixbv63w7gAflnAY.54L1ji84At8KRNwDhwF8mkpVOKU8Ryy4t7o7mkxddp.5LKJmzLV6wfTiOCHYTBRajAoWXNvIhOVMShFOeoYOAdB5wvylxPISWxZ+05lGKQMDp5gragtQHwTKp0z11hh+sy9UpfmOwJZ.yi9izBSbh.LRNS5vBNSJu8PgaW.BpoUGUrdDLhqqe5lHbTbonVU2H1c8kiSFeNHRNBOhGEISDtUsndE5LxhJG9G6T4OqPwuQ0iAUVcQsp12am+UEcQlXOrd5W.GUsqssrsz.F+cCJ9iOQTzSAg+29+CrHJCiXjUcFFs3dVvdLy8PjCJ7Z1012P+NZSKJ65FSW07F52SaqW0Jc0M6uPHo2Vd7a4i7CveJvk9FZln35ih.PP+gozCCRf4CacpCb0QOSLJ.pkiHK5d6TBmJ3dUAPy0HCt6YUDCHnmsNE1Md0LFstYIHu.U24yUyfEJuKVaTq5IfGKIPgI1FsqaOUtNyeHFpBv8JDVowuFeVSQoEsZ.3opVbBlU1crLbn7H48MJU7MRikvwRAnc3TMzVNkPCnEJOwhhc1u37lJEWHUvkhZ5i7sq7wJz+sHOukJSiiHYP.DsTw5FbQOlg0DIgCgHK7PRexVnHdgd9tDa9z5R3jkVJonTzSvUWNFxo6JCb0290qWrmBIOup6tjiPTUUZukmm2aoHuR3t5VKSSyjzPnbyexu16DlhUrY39h9ZLDo35Px3D3C3vgrFWaadBDeqRNF6yO8.kXrUlqeVQaMl.BR86VloqaPturCmTl.KICKFlr8lDxCOLO2lkYeG2U4OyZ9A9f9tXYNjR35KdhoDDclFMyPlowKwEgrTdqunO+8CzXCSLei4kBnxU2IqbkOd8GGXtPedbBizMIfoleridfbt.rJatd8594hXtZR4A1eFyhrezYQOUH9By9bki+xw3ZKAiXsy+GXLeB9yLO0yC6bNCfaX182V0w0eB2icpUbwnyYpHttF3hjvAXYnCfdWf0xw55h0z2Ayns0z5Lv.P3lR7.9kKrgl1HWXiBgX0kSj78NY2b0uQXqTNHlDougZa7wbHMcIWVCwmr7dGm42pELr4pZXqU0v1qpgcVUCe0pZ3tqpg68oMT+hxCSTxvrqMDx48OMs4pgwoBFVAlVsR9GztgJYG
      
      Content.makeFrontInterface(200, 200);
      
      const laf = Content.createLocalLookAndFeel();
      
      laf.registerFunction("drawPopupMenuBackground", function(g, obj)
      {
          g.setColour("0x00000000"); // any transparent colour
          g.fillRect([0,0,200,200]);
      });
      
      laf.registerFunction("drawPopupMenuItem", function(g, obj)
      {
          var a = obj.area;
      
          var padArea = [a[0] + 2, a[1] + 2, a[2] - 4, a[3] - 4];
          g.setColour(obj.isHighlighted ? Colours.green : Colours.blue);
          g.fillRoundedRectangle(padArea, 8);
      
          var textArea = [padArea[0] + 8, padArea[1], padArea[2] - 16, padArea[3]];
          g.setColour(Colours.white);
          g.setFont("Default", 14.0);
          g.drawAlignedText(obj.text, textArea, "left");
      });
      
      const ComboBox1 = Content.getComponent("ComboBox1");
      ComboBox1.setLocalLookAndFeel(laf);
      

      The drawPopupMenuBackground object should probably include an area, and the popup menu items still have a subtle drop shadow. But they're both fixes for another day.

      PR here, if it's useful: https://github.com/christophhart/HISE/pull/805

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Turn a unit on/off

      @bendurso Today I learned that right-clicking a module in edit mode shows a different context menu to right-clicking not in edit mode. 😀

      posted in General Questions
      dannytaurusD
      dannytaurus
    • Added phase offset to Waveform Generator

      PR that adds StartPhase1 and StartPhase2 to Waveform Generator.

      Coded for my own needs but someone else might find it useful.

      Works great for setting a random phase offset on MIDI note-on.

      Works independently for Osc1 and Osc2.

      https://github.com/christophhart/HISE/pull/792

      EDIT: from this conversation https://forum.hise.audio/topic/13720/free-running-or-randomised-phase-for-waveform-generator-oscillators/9

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: How/Where do you actually market/sell your plugins?

      I'm fortunate that I started with a (small) audience, and I'm selling to a focussed crowd. My plugins serve a very specific niche and the producers there are always hungry for more authentic products.

      I've never done any paid ads. I might do an experiment on Instagram one day. I see a lot of adverts for plugins in my feed and I'm curious how effective they are.

      I sell on Gumroad. They take about 15% fee, then you pay payment processor fees. I haven't done the maths for the total cut but I'd say it's less than 20%.

      It's a good deal for me because it includes basic web presence, file hosting, secure delivery, payment processing (cards, Apple Pay, Google and PayPal), email marketing and analytics.

      I started selling in September 2022. I'd done a couple of free plugins before that through various platforms like SimpleGoods and SendOwl but didn't take it seriously until later.

      When I started selling I posted each new product on my Facebook and Instagram accounts. The engagement was pretty good to start with but I noticed that over time, I got more results from sending emails to my ever-growing email list. When I launch a new product now, I only send it to my email list at first. Then later I post short clips to Instagram but they're supplemental to the email list.

      You NEED an email list. They say "the money's in the list" and in my experience, that's 100% correct.

      Free products are a great way to build your email list. Most people stay subscribed and as long as you don't flood them with emails, they're happy to receive them.

      This is my email strategy:

      • Launch email for every new product with 20% discount code, valid for 2 weeks
      • Reminder email 48 hours before the launch discount ends
      • One email per month with 20% discount off a single product, valid for 2-3 days

      That's it. I don't like to bombard my list with too many emails. I'm on some Gumroad seller lists where they send continual discounts, sometimes daily. This would be way too much for me as a customer.

      Gumroad includes email marketing, which is a bonus because when your list gets large things like Mailchimp, ConvertKit, etc get into the $100's/month.

      I can target emails to people who have or haven't bought specific products. Very handy for offering a discount only to those who haven't bought something. Or offering a discount for a product Y to those who have already bought product X. You can also target by how much someone has spent, so you can offer extra discounts or free stuff to your most loyal customers.

      Gumroad also includes extra features like affiliates (having others push your products for a % split), collaborators (where you can split a products revenue with someone else), email automations (for sending drip emails to customers - I don't use those) and upsells (recommended products at checkout).

      It does have some downsides. The download links in the receipt emails sometimes don't work and you have to send a link manually to the customer (Gumroad have so far refused to acknowledge this as an issue). I also find their fees to be expensive compared to other services, but for what I get built-in I still think it's worth it for now.

      Something else that might be of interest is that Gumroad recently made the source code available, so if there's a feature you want to add and you're handy with Ruby on Rails and JavaScript you might be able to contribute.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Any interest in a SemiTones control for Waveform Generator?

      Happy to report this has been merged in to develop branch! 🎉

      posted in Feature Requests
      dannytaurusD
      dannytaurus
    • RE: Default button state on load

      @ustk Could do, but I prefer to keep the button's 'on' state synced to the panel's visible state.

      If I start flipping values as a workaround, my future self will not thank me when he looks at the code in 2 years! 😂

      posted in General Questions
      dannytaurusD
      dannytaurus
    • Finally compiling HISE locally on new MacBook! 🙌

      Some of you might remember my troubles compiling HISE on my 2020 M1 MacBook Air with 8GB RAM.

      It was taking an hour to compile a debug version, if it finished at all - it usually crashed.

      Seemed like the 8GB RAM limit was the issue, causing havoc with memory swap.

      My solution then was to write a build script that builds my version of HISE using GitHub Actions, whenever I push a change live. It took about 15 minutes round trip to push a change, wait for the build, then download the build artefact to test the change.

      I used this long-winded system to add features and fix bugs for the last few months. Painful!

      Finally I upgraded to a 2024 M4 MacBook Air with 32GB RAM and I can now build debug HISE locally in 20 seconds! It's like a dream!

      Just wanted to put this out there in case anyone else is having issues compiling on an 8GB MacBook.

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Quick F5 tip for Mac users

      @aaronventure said in Quick F5 tip for Mac users:

      @d-healey Hold Shift while typing to amplify my anger.

      Exactly this! Left pinky on the SHIFT and hammer those keys! 😂

      Same on iOS. Instead of double-tapping the shift key to lock it, I shift uppercase every character, just so it makes me more angry! 😜

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Roadmap to HISE 5

      @d-healey LOOK AT THAT BEAUTIFUL RELEASE CURVE! 😍🥰❤️

      posted in General Questions
      dannytaurusD
      dannytaurus
    • RE: Build Failed on Mac: last develop commit (3e1718f)

      @DJJD12345 Faust is an optional external dependency. It's not required unless you're actually using Faust code in your project.

      posted in Bug Reports
      dannytaurusD
      dannytaurus

    Latest posts made by 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