• Lottie vector animation

    Feature Requests
    54
    1 Votes
    54 Posts
    5k Views
    R

    @Rognvald

    To answer my own question.. :)

    To add another Lottie animation in a HISE project, you'll need to first create a new Lottie panel on the UI and then assign a different JSON or B64 string to this new panel using the set animation function. This is done by adding a second animation element and using a distinct variable to hold its data, as HISE's set animation command expects to be assigned a unique animation element.

    // Example for assigning the new animation to the panel
    const secondAnimationData = "PASTE_YOUR_NEW_B64_STRING_OR_JSON_HERE"; // Replace with your actual data
    const myLottiePanel2 = Content.getComponent("MyNewLottiePanel"); // Assuming your new panel is named "MyNewLottiePanel"
    myLottiePanel2.set animation(secondAnimationData);

  • 0 Votes
    8 Posts
    74 Views
    B

    @ustk It is overkill indeed hahaha
    I just checked the snippet that you shared and its much better than what I had in mind.
    I'm not very familiar with the HISE API so I didn't know about ScriptFX1.setAttribute(ScriptFX1.HQ, value); and stuff.

    Your solution is much more elegant than mine!
    Tysm :)

  • Set font style?

    Scripting
    16
    0 Votes
    16 Posts
    100 Views
    d.healeyD

    @VirtualVirgin might work, try it in the compiled plugin and let us know

  • Random Presets

    General Questions
    19
    0 Votes
    19 Posts
    750 Views
    cassettedeathC

    @cassettedeath Scratch that

    Incase anyone encounters the same issue I did, I used

    var myPresetList = Engine.getUserPresetList(); const var RandomPreset = Content.getComponent("RandomPreset"); inline function onRandomPresetControl(component, value) { if(value) { // Get the current list of presets from disk local presets = Engine.getUserPresetList(); if(presets.length > 0) { // Pick a random index local index = Math.floor(Math.random() * presets.length); // Load it by name with the .preset extension Engine.loadUserPreset(presets[index] + ".preset"); } else { Console.print("No user presets available."); } } } RandomPreset.setControlCallback(onRandomPresetControl);
  • LAF a vertical slider using CSS

    Scripting
    7
    3 Votes
    7 Posts
    84 Views
    CatABCC

    @young60 Cool,hahaha😆

  • Compile With Debug Symbols

    General Questions
    2
    1 Votes
    2 Posts
    99 Views
    iamlampreyI

    this is happening to me too, and is preventing me from properly debugging a crash @Christoph-Hart

  • Split SampleMap?

    General Questions
    3
    0 Votes
    3 Posts
    37 Views
    CatABCC

    @d-healey OK, I understand, thank you David

  • Loading Files Into MIDIPlayer via script?? || SOLVED! 🙏

    Solved Scripting
    34
    0 Votes
    34 Posts
    173 Views
    ChazroxC

    @d-healey I got it....wheres that damn t-shirt. Thats my outfit for the week. hahaha.

    Thank you so much! 🙏

    @HISEnberg I see the answers in your snippet as well and so much more! Im already learning a few things just looking at this. 🙏 Bless!

  • 0 Votes
    10 Posts
    71 Views
    d.healeyD

    @lijas90 You have to put them in the folder before you map them.

    So now you have the choice, either you can remap them - which is what I would do if it's not too many samples.

    Or you can edit the xml file to use the wildcard instead of the absolute path.

  • A couple of questions about Macros

    General Questions
    1
    0 Votes
    1 Posts
    27 Views
    No one has replied
  • 0 Votes
    8 Posts
    202 Views
    ChazroxC

    @pcs800 @daniloprates

    open 'Analyser' in ScriptnodeFX.

    'Add new external DisplayBuffer'
    Screenshot 2025-08-29 at 5.33.27 AM.png

    Screenshot 2025-08-29 at 5.33.40 AM.png

    Screenshot 2025-08-29 at 5.35.31 AM.png

    Screenshot 2025-08-29 at 5.34.53 AM.png

    HiseSnippet 1529.3oc2X0sSabDEdVLCI3jzzTkpzKWg5EjJDx+DnIsWDCXbhawfEqKIR8hngcmEOhcmY6tyB3FEodIOU8h9DzGg9Hz2fzyLiW6cMVTGqzj1BRHOmyYl4aN+7cNltwBWZRhHFYUt2fHJx51XmAbY+c5SXbT6lHqOE2g4wr2SP7r6QSjnsGDQRRndHKqROSYk0xKhz+7mOcaR.g6RGKBgNRvbo6wBYxwR6136YAAsHdzdrvbV+nFscE7cDAhT.QkvUPQD2SImP2mnLaAL54jj9HquBWqlu6iqT4w0quQEBotGg7npz5Og5uou6FUdREui2nB76lHqk10iIEwNRhjl.G51BuAN8EmyMWvQrD1wAT0hpHG3lMhQ6zmE30My8jfPV3ticVkLNq6q8MijeEm13cj2oYsv0AopuCPZgbP5FYwOMjBHCnwZn7I3Nsa111HoZAfrSZbLkKcn+TJchn1PU8hA+e9.7dBQztbB.Ou7hUm9wfoNQzhJrJ8d5shTOqVr.p5y4d1KZd12C63Fyhji0nd62B2lKow9D3wk+garEY8a3cDfAb45gjSoshgEi1vpaVoxZ1ved32VtreJ2UxDbaAeegjd.e0GV90kWt7aJaOoJe+opScQwhf.Z7TUqpChutMtJOM7XZ7Z1mQBRoiLDb.EcvKMaNXWy6NmgBdaNSdPDc35Vh.Ok2R84oDNF53fO8CsaRjDHazZnLvtHZrjofiUS5YP8uIHsLtIM4ToHRaaXjfqNAqaKGVLYBKsBDDIieROHXiX.BtKNunpnKFkf8K+XiAiVzf1XH.L21cwak5wDawIACRfhgiOIiXY4kpWu9aU6gIogikd4kWNgzZJwMa1TKVRuPN13rJE8i2pC90kssWYjKps2Jei8JlGjcqWVck0Tpay8nW.JpnWAd3.w4uPDeZBPyQA49jfDZ42fNm4IAZNr02YgP8orS5KUq9UzTy8AxFgWZ.QVjARwMOTAjIUH+WkjySXxAEJUmcZoJWeo5LBw6g6xjt8mNFWXJXTw38O.FGRleG7t99TW4X.tHt0KmWl6q+5srxc+Xy8WNK++k5K+13wYOE.w9ogMYIQ.i61o.fgiCRMf7DTFq1k3w7GQwzHRLsmPwPuZBILJfdH.90rONP.70reldURmHC11VYwpt8IbNMHYd3lV58E4+ghTU8eGhLlAk+XvG3.0gtzcFhNkOXAEsjYcE0ZUBiCk6oW7V3mgJqNxgAJqloLGi19T44ppRUbZ3mg9qlfRh1I+J+Kph1RU9p3wXCSegfiVVWQvfn9BNyU2kUaQFR2JTjxkYvEFmoGgEnx2cRS.tWuC3Nfw5twVkNBht5C9F3JqC+B4+6K7.UK0h3BN1AcIJdh6gUz4PVKMdc2QYuEvZgDH8vTETqN0LpMiiCPcnlcFF5xpTNJcStqZETYtf4hZmbjRqKI.cjJEP8dzmowEZfrxTL12WhJ.96fIFF50UptJNMa4cAfJUPZ9EYsklnZYRIpWghWN6f2Exk8fVeFh8gIGcIw.ZjTC2Q9EaKDmFRzYKyUqv7LQOvn7V3WPNipmCWGI+b8ZeQbn8ynPPVQiV8ZlC+2m04vil44vOvUBP.FGjmDIRflv4NYGZHqGzKOofzI1QsotiBRaRko7hGsQTAqTthVfqHmc2rQlvZ4E1kvKbXv5BmTG13IIP+wSMi05PgWt2AItfiQ4mKLkaJzd9EpdyUyuwwhqkW7yIwdPLzsP+qIFGdwYiQrXq7b1OkNKK8Q3qo79YdfOhirTne7xYXzgo3Q1keFM.Ji0X7yf5VeRZfLSZw5vNBtHi4ebT+PJz15jSnERll5CZKorvW359MNjFPII4pM+xF6AD8j3NZV04xWTc18EWW75KvF3ZqHOr+u6nlk9e8nlyd0GvG9u6n3Cv.ubMacnz9iSr7CwfneHtiPhar3Utl42UE82TKAd2b8TWKi6nVaWEclYftwNyPnkwqbcKdTWYi0l2MVed23il2Mtw7twMm2M90y6Fe7e+FUcz2JUJBM0FvXNc20LJq0n+wcVkP+EHhKr2M
  • Wordpress plugin to block temp mail signups

    General Questions
    13
    6 Votes
    13 Posts
    202 Views
    dannytaurusD

    @griffinboy Gotcha. I do that but with free products. I have 'Plus' versions of a couple of my free products and a decent amount of people upgrade.

    In my situation, I made the free products first and so many people asked for more features that I made the 'Plus' versions to satisfy that need.

    You have to weigh the balance between the two approaches. Getting X number of folks in through heavily discounted product and possibly converting more of them to a higher value product, versus getting many more folks in through a free product and probably converting a lower percentage.

    Only you can decide which is best, based on your products, your pricing, your market, and your customer list.

  • Cannot Compile HISE Project on macOS

    General Questions
    11
    0 Votes
    11 Posts
    91 Views
    L

    @d-healeyOk, I think I know where the problem is. I hadn’t downloaded the Apple Silicon version of Xcode. I’m still having some issues but I’m making progress. Thanks, David!

  • 2 Votes
    4 Posts
    122 Views
    T

    @d-healey Thanks for the advice, this makes a lot of sense ill be doing this!!

  • LInux HISE + Faust

    General Questions
    9
    0 Votes
    9 Posts
    156 Views
    B

    @d-healey Thankyou again

  • Widen The Mid and High

    General Questions
    3
    0 Votes
    3 Posts
    110 Views
    O

    @griffinboy I think I got it right thank you.

  • 0 Votes
    2 Posts
    78 Views
  • FFT Analyser Path - Need help drawing the magnitude to height

    Unsolved Scripting
    25
    0 Votes
    25 Posts
    2k Views
    HISEnbergH

    I made some progress towards solving the UI lag from the FFT. @Consint & @oskarsh @Oli-Ullmann this may be of some interest to you.

    Basically I found that if you run the FFT inside of a scriptnode network, you need to script the buffer size in order for it to take effect (editing the buffer size within the scriptnode will not work).

    Now in my case I need to drop the size to at least 4096 samples which is barely tolerable, but it seems to have cleared up the UI lag issue. The minimum the FFT will accept is 1024 samples (which is virtually useless imo). There's also a direct correlation between the size of the FFT on your UI and the lag you experience (smaller ones don't seem so bad).

    You can kind of see the refresh rate slowing down here:

    giffymetimbers.gif

    I created a script to resize my visual/buffers, and I use sliders to control their sizes. It looks something like this:

    namespace BufferManager { reg isUpdating = false; const var BUF_SIZE = [1024, 2048, 4096, 8192, 16384]; // FFT Buffer Properties const var FFT_BUF_PROPERTIES = { "BufferLength": 1024, "WindowType": "Blackman Harris", "Overlap": 0, "DecibelRange": [-100.0, 0.0], "UsePeakDecay": false, "UseDecibelScale": true, "YGamma": 1.0, "Decay": 0.5, "UseLogarithmicFreqAxis": true }; for (i = 0; i < fftBuffers.length; i++) { fftBuffers[i].setRingBufferProperties(FFT_BUF_PROPERTIES); } // ----- CONTROLS ----- // Control - FFT Size inline function onknb_fftSizeControl(component, value) { if (isUpdating) return; isUpdating = true; // Stop all processing for (b in fftBuffers) b.setActive(false); //Engine.allNotesOff(); // I was using this but doesn't seem necessary // Updates local newSize = BUF_SIZE[value]; FFT_BUF_PROPERTIES.BufferLength = newSize; // Apply to all buffers for (b in fftBuffers) b.setRingBufferProperties(FFT_BUF_PROPERTIES); LafFftAnalyser.createReadBuffers(); // Restart processing for (b in fftBuffers) b.setActive(true); isUpdating = false; }; knb_fftSize.setControlCallback(onknb_fftSizeControl);
  • Issues with plugin latency and oversampling

    General Questions
    6
    0 Votes
    6 Posts
    103 Views
    B

    @HISEnberg tysm for the answer! This is exactly what I needed.

    But, how do I actually add the code to my project? I'm not a really good programmer and I don't know much about the HISE API.
    I've tried asking Gemini for some help but I still can't figure it out.

    Where do I put each part of the code? I the place where it says Content.makeFrontInterface(600, 600); ? Don't I have to add code to two different places?
    And If you don't mind, could you write what code do I need?

    Also, using Tools>Check Latency of signal chain i could check that the latency with oversampling is 12 samples (idk why I wrote 11 before, but checking with bertom eq analyzer and doing some comb filtering test i'm sure that's 12 samples). BUT when I check with oversampling OFF, it says it has 1 sample of latency, even tho I'm sure that's actually 0, by testing like I've explained before.

  • Looking for Plugin Tester

    General Questions
    1
    2 Votes
    1 Posts
    60 Views
    No one has replied