• 5 Votes
    6 Posts
    2k Views
    ChazroxC

    Update!

    Dual SVG capabilities for buttons such as this.
    (shown compiled in HISE)
    DualSVGButtonWorkingExample.gif

    Both import methods and settings panels are identical but are independent from each other between button states.

    Screenshot 2026-07-05 at 9.10.52 PM.png

    Screenshot 2026-07-05 at 9.14.27 PM.png

    And If you didnt already know...
    You can also do some pretty nice LED's with the app as well! 👍

    Screenshot 2026-07-05 at 9.17.58 PM.png

    Screenshot 2026-07-05 at 9.17.25 PM.png

    Screenshot 2026-07-05 at 9.18.37 PM.png
    They're available now in the preset menu.

  • Roadmap to HISE 5

    General Questions
    143
    27 Votes
    143 Posts
    55k Views
    observantsoundO

    @ustk I'm indeed still on the latest stable release...
    I read it as 4.10 instead of 4.1 so I was convinced I was on the latest version.
    I'll compile from the latest develop branch instead and try again.

    So what state is the mod matrix actually in?
    Do some things work but others don't?
    I'd just like to know what to look out for, if the documentation isn't super up to date.

    What are PRs?

  • 3 Votes
    1 Posts
    584 Views
    No one has replied
  • JUCE 8 Build Errors

    Bug Reports
    14
    0 Votes
    14 Posts
    5k Views
    L

    @dannytaurus That is a massive, massive bummer. I hadn't seen that. Guess I'm going down a rabbit hole trying to get the graphics portions working again, I 'just' need GLSL shaders working again, it worked fine in an older build of HISE so hopefully not too much to work out.

  • Hashtag # in a string causing EOF?

    Solved General Questions
    16
    0 Votes
    16 Posts
    4k Views
    dannytaurusD

    @ustk Until July 7th anyway. Then I'll probably only use it for big tasks! 💰

  • 1 Votes
    1 Posts
    710 Views
    No one has replied
  • Exposing preset lists to DAWs

    General Questions
    4
    0 Votes
    4 Posts
    1k Views
    dannytaurusD

    @Christoph-Hart Looks like you deliberately chose to not expose the preset list to host. Can you remember why?

    "Here be dragons" maybe? 😂

    # hi_frontend/frontend/FrontEndProcessor.h int getNumPrograms() override { return 1;// presets.getNumChildren() + 1; } const String getProgramName(int /*index*/) override { return "Default"; } int getCurrentProgram() override { return 0; //return currentlyLoadedProgram; }
  • BUG (& FIX) in Midi Learn panel value displays

    Bug Reports
    5
    0 Votes
    5 Posts
    2k Views
    dannytaurusD

    @David-Healey Makes sense 👍

  • One shot drag drop

    General Questions
    2
    0 Votes
    2 Posts
    982 Views
    David HealeyD

    @Oriah-Beats Enable one shot mode in the sampler's playback settings.

    e0578f4f-f5c5-4dc6-ac61-199b6e8e48b8-image.png

  • Check Latency broken on latest develop build?

    Bug Reports
    22
    0 Votes
    22 Posts
    6k Views
    ustkU

    @dannytaurus That being said, it only matters in a parallel track mixing context (but nowadays it's still very frequent, we parallel this and that everywhere...), but you don't mind such a small latency for instruments...

  • Latency issues..

    General Questions
    2
    0 Votes
    2 Posts
    951 Views
    dannytaurusD

    @Jeetender You can use setLatencySamples() to report the latency amount to the host, so it can compensate.

    https://docs.hise.dev/scripting/scripting-api/engine/index.html#setlatencysamples

    However, I think the tool to measure the latency of your plugin is currently broken.

    Tools > Check latency of signal chain

    https://forum.hise.audio/topic/14245/check-latency-broken-on-latest-develop-build?_=1783032811243

  • Oriental Drummer

    General Questions
    5
    4 Votes
    5 Posts
    2k Views
    dannytaurusD

    @David-Healey Dang. Shame they don't have a time-limited demo or something.

  • Channel Strip help

    General Questions
    5
    0 Votes
    5 Posts
    2k Views
    P

    @HISEnberg Alright man, Thanks!!

  • [Devlog] Blog

    C++ Development
    7
    8 Votes
    7 Posts
    2k Views
    ChazroxC

    @griffinboy 195?! Release the kraken! haha 🔥 🔥

  • SVG -> base64 Batch conversion?

    Scripting
    7
    0 Votes
    7 Posts
    2k Views
    ChazroxC

    @dannytaurus

    I tried to load a 'duo-tone' svg with Base64SVG and this is the result?

    Screenshot 2026-07-01 at 2.40.49 AM.png

    SVG file:

    Screenshot 2026-07-01 at 2.42.10 AM.png

    Am I doing something wrong or not understanding something?

  • Base64 Path versus Base64 SVG

    Newbie League
    1
    3 Votes
    1 Posts
    696 Views
    No one has replied
  • AAX Build on MacOS

    General Questions
    31
    0 Votes
    31 Posts
    8k Views
    Oli UllmannO

    @Lindon
    I second that! :-)

  • Is the HISE REST server ready for use?

    AI discussion
    22
    0 Votes
    22 Posts
    6k Views
    dannytaurusD

    @David-Healey Give it a try and let us know.

  • How To Fix this problem building HISE on MacOS

    General Questions
    8
    0 Votes
    8 Posts
    2k Views
    D

    @David-Healey Please check your dms for me

  • Rotation around center of mass is weird.

    Solved Scripting
    14
    0 Votes
    14 Posts
    4k Views
    ChazroxC

    StarKnobNoiseMaskLayerFixed.gif

    Heres the fix:

    MyKnobLaf.registerFunction("drawRotarySlider", function(g, obj) { var a = obj.area; var range = obj.max - obj.min; var stableSize = a[2] * (1.0 - 2.0 * 0.15); var ox = a[0] + (a[2] - stableSize) / 2; var oy = a[1] + (a[2] - stableSize) / 2; var cx = ox + stableSize / 2; var cy = oy + stableSize / 2; var sw = stableSize / 200.0; var startOffset = 2.5; var totalSweep = 2.0 * startOffset; var endOffset = -startOffset + totalSweep * (obj.value - obj.min) / range; var cStarBody3Top = 0xffFF0000; var cStarBody3Bot = 0xff00FBFF; var cStarBody3Outline = 0xfa000000; var starBody3Size = stableSize * 0.76; var starBody3X = cx - starBody3Size * 0.5; var starBody3Y = cy - starBody3Size * 0.5; var starBody3Static = Content.createPath(); starBody3Static.addStar([0.5, 0.5], 3, 0.13, 0.5, 0); starBody3Static.roundCorners(1); var starBody3StaticBounds = starBody3Static.getBounds(starBody3Size).translated(starBody3X, starBody3Y); var starBody3Star = Content.createPath(); starBody3Star.addStar([0.5, 0.5], 6, 0.05, 0.6, endOffset); starBody3Star.roundCorners(1); var starBody3RotBounds = starBody3Star.getBounds(starBody3Size).translated(starBody3X, starBody3Y); // PASS 1: gradient fill g.beginLayer(false); g.setGradientFill([cStarBody3Top, cx, starBody3Y, cStarBody3Bot, cx, starBody3Y + starBody3Size, false]); g.fillPath(starBody3Star, starBody3RotBounds); g.endLayer(); // PASS 2: noise — use full obj.area so noise fills behind mask cleanly g.beginLayer(false); g.applyMask(starBody3Star, starBody3RotBounds, false); g.rotate(endOffset, [cx, cy]); g.addNoise({"alpha": 0.3, "monochromatic": true, "area": [a[0], a[1], a[2] * 2, a[3] * 2]}); g.rotate(-endOffset, [cx, cy]); g.endLayer(); // PASS 3: outline g.beginLayer(false); g.setColour(cStarBody3Outline); g.drawPath(starBody3Star, starBody3RotBounds, 3.06 * sw); g.endLayer(); });