• Hashtag # in a string causing EOF?

    Solved General Questions
    12
    0 Votes
    12 Posts
    29 Views
    David HealeyD

    @ustk btw, HISE automatically uses the correct path separator if you use the File/FileSystem APIs.

  • Why isn't my projucer showing up?

    General Questions
    16
    0 Votes
    16 Posts
    405 Views
    David HealeyD

    @duma Looks like a problem with your xcode installation

  • Exposing preset lists to DAWs

    General Questions
    3
    0 Votes
    3 Posts
    30 Views
    dannytaurusD

    @David-Healey I really like the Logic [ and ] shortcuts for prev/next preset in the open plugin.

    I've added those shortcut keys to my plugin, but they don't work quite as well.

    The Logic [ / ] keys work when the plugin window is focussed. The plugin [ / ] shortcuts only work when the actual plugin UI is focussed. Small but tangible difference.

  • One shot drag drop

    General Questions
    2
    0 Votes
    2 Posts
    21 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
    526 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
    38 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

  • 4 Votes
    3 Posts
    62 Views
    ChazroxC

    @resonant Thanks bro! 🙏 ⚡

  • Oriental Drummer

    General Questions
    5
    4 Votes
    5 Posts
    288 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
    228 Views
    P

    @HISEnberg Alright man, Thanks!!

  • 12 Votes
    79 Posts
    3k Views
    ChazroxC

    @digi I can add this. 'Gradient Rotation offset'. I'll push this when I get home tonight.

  • [Devlog] Blog

    C++ Development
    7
    8 Votes
    7 Posts
    256 Views
    ChazroxC

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

  • SVG -> base64 Batch conversion?

    Scripting
    7
    0 Votes
    7 Posts
    195 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
    70 Views
    No one has replied
  • 4 Votes
    3 Posts
    414 Views
    soundsyncS

    UPDATE: Plugin Storefronts now use Webview for smoother experience

    Plugin Storefonts have been updated to use the same Webview model as the validation system. Now you can display your products directly in your plugin.

    To implement is easy:

    Firstly, you will need to make sure you have atleast 1 product created and live in your account.

    Secondly, you will need to setup your Website/Storefront Credentials & Support Credentials.

    Once that is complete, find the Plugin Storefront Package is in the TOOLS section of your Developer Account and open.
    9a4ebe69-d9d3-4eec-9b32-ed1bab9c89ae-{C5EAF645-10E0-487B-8597-3318AED9F1DE}.png

    Scroll Down and you will see the HISE Storefront Package Generator. Enter your GUI Height & Width and download the package. Unzip and place the SoundSyncStorfront folder in your HISE projects "Scripts" folder.
    06a1c51d-4eb8-4738-93d3-b76533983580-{1C4EBE5B-FC47-4C2C-956E-D406727522D7}.png

    Open your project and use 1 simple include line to generate the entire package in your project.

    include("SoundSyncStorefront/Runtime/SoundSyncStorefrontRuntime.js");

    Then your branded Plugin Storefront window will be present. It will pull your logo, brand colors, store name, products, support etc all from your Website/Storefront/Support pages in the developer account.

    Public Catalog View:
    3b917721-ae7a-4462-a2c6-d256e4f52aea-{40435235-D433-4C58-9122-03D3C9C356ED}.png

    Customer Product View:
    62118a87-c730-47c1-9ddc-7359f4dd31f3-{34AA5E77-0C2D-4A85-A12D-4575F4167AF5}.png

    It makes for a pretty dope Storefront inside your plugin!

    All the best,

    Aaron

  • AAX Build on MacOS

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

    @Lindon
    I second that! :-)

  • Is the HISE REST server ready for use?

    AI discussion
    22
    0 Votes
    22 Posts
    1k 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
    426 Views
    D

    @David-Healey Please check your dms for me

  • Rotation around center of mass is weird.

    Solved Scripting
    14
    0 Votes
    14 Posts
    789 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(); });
  • 0 Votes
    3 Posts
    280 Views
    ustkU

    @observantsound You can use both references at the same time. Just use the one that works for the bypass, and the other for your sampler job

    What I said might work, but do as @David-Healey said it's better implementation even if the reference are the same behind the scene 👍

  • Ellipse Masking // Mask makes shape dark.

    Unsolved Scripting
    13
    0 Votes
    13 Posts
    783 Views
    ChazroxC

    Update: I bowed out gracefully.....for now lol