Categories

  • Let's discuss the latest AI tech and how it influences your life as a HISE developer.

    19 Topics
    256 Posts
    David HealeyD

    @dannytaurus ah that makes sense. I'm just getting Claude to help with small little tasks so I haven't gone to the trouble of setting up a remote repo, etc.

  • General questions and announcements about HISE

    8k Topics
    75k Posts
    David HealeyD

    @ospfeigrp You can draw that kind of thing using look and feel or paint routines, you'll need to get familiar with drawing arcs.

  • Scripting related questions and answers

    2k Topics
    17k Posts
    R

    @David-Healey That was my next step using the MIDI Monitor in Cubase to read incoming MIDI data from Dorico. I had started out working directly in HISE and researching the documentation. I will respond with what I see...

  • To share HiseSnippets, Interface Elements, GUI, UI/UX, Panel LAF etc..

    197 Topics
    2k Posts
    jadgJ

    Here is a video where you can see better the visual details:
    Fully customized pseudo backlit interface via LAF

  • All about ScriptNode DSP nodes, patches, SNEX and recipes.

    373 Topics
    2k Posts
    resonantR

    @pgroslou Even the Lite models of the previous version, which consume less CPU, don't work; only the standard models work.

    Hopefully, the A2 NAM (which has two versions depending on CPU usage) will be integrated without any problems.

  • A subforum for discussing Faust development within HISE

    116 Topics
    951 Posts
    David HealeyD

    @Sawatakashi said in Which version of faust works fine for HISE?:

    it crashed after i loaded a faust scriptnode.

    A blank node or are you copying in a script?

  • If you need a certain feature, post it here.
    632 Topics
    5k Posts
    J

    @dannytaurus Thank you kindly for the detailed response :)

  • Develop better software through collaboration and shared knowledge. Not just about coding —> covering the entire journey, from development to launching and promoting plugins or software.

    179 Topics
    1k Posts
    David HealeyD

    @observantsound Aha ok, I didn't realise how old that video was. The basic layout controls are the same though.

    @observantsound said in How to move the position of the console tab?:

    When I do Show Custom Workspace, then it appears instead of the UI editor. But Code Editor and Module Tree tabs are still there.

    The custom workspace always shows at the right side of the screen. You need to readd the interface designer and anything else you want.

    Here's mine which you can load up using the Load from JSON option

    { "Type": "HorizontalTile", "Title": "Custom Workspace", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "CustomWorkspace", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "Content": [ { "Type": "HorizontalTile", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "Content": [ { "Type": "Tabs", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.7089258744251568, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "Content": [ { "Type": "VerticalTile", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "Content": [ { "Type": "ScriptComponentList", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.21505048318491, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "Openess": true }, { "Type": "ScriptContent", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.9208939579940479, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "EditMode": true }, { "Type": "InterfacePropertyEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.2599186681484935, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false } ] }, { "Type": "ScriptEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 15, "FollowWorkspace": false, "ScriptFile": "Expansions.js" }, { "Type": "ScriptEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 28, "FollowWorkspace": false, "ScriptFile": "RhapsodyFramework/Core/includes/UserSettings.js" }, { "Type": "ScriptEditor", "Title": "onInit", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "ScriptFile": "RhapsodyFramework/Core/includes/Fonts.js" }, { "Type": "VerticalTile", "Title": "Dual Sampler", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "Content": [ { "Type": "HorizontalTile", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "Content": [ { "Type": "GlobalConnectorStreamingSampler", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": 18.0, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SampleEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.54359197907585, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SampleMapEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.45640802092415, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false } ] }, { "Type": "HorizontalTile", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "Content": [ { "Type": "GlobalConnectorStreamingSampler", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": 18.0, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SampleEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5435471100554236, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SampleMapEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.4564528899445764, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false } ] } ] }, { "Type": "HorizontalTile", "Title": "Sampler", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "Content": [ { "Type": "GlobalConnectorStreamingSampler", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": 18.0, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SampleEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.7952971198946208, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "VerticalTile", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.204702880105379, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "Content": [ { "Type": "SampleMapEditor", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.7360655737704918, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false }, { "Type": "SamplerTable", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.2639344262295082, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "", "Index": -1, "FollowWorkspace": false } ] } ] }, { "Type": "Console", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { } } ], "CurrentTab": 0, "CycleKeyPress": "" }, { "Type": "Tabs", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.2920741255748428, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "Content": [ { "Type": "ScriptEditor", "Title": "onInit", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "ScriptFile": "" }, { "Type": "ServerController", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1 }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false }, { "Type": "DspNetworkGraph", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false }, { "Type": "ScriptBroadcasterMap", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "Active": false }, { "Type": "ScriptContent", "StyleData": { }, "Font": "", "FontSize": 16.0, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "ForceShowTitle": 0, "MinSize": -1, "FocusKeyPress": "", "FoldKeyPress": "" }, "ColourData": { }, "ProcessorId": "Interface", "Index": 0, "FollowWorkspace": false, "EditMode": true } ], "CurrentTab": 1, "CycleKeyPress": "" } ] } ] }

    The vertical console is in a tab.

  • If you encounter any bug, post it here.
    2k Topics
    13k Posts
    ustkU

    @David-Healey or perhaps adding an optional parameter bool recursive?

  • Post your example snippets that you want to add to the official HISE snippet database here. We'll revise it, upload it to the repo and delete the post when finished.

    23 Topics
    140 Posts
    CasmatC

    @Christoph-Hart yeah, here's what I could come up with!

    The model occasionally thought you could add child panels directly to viewports. It didn't properly cast/convert the raw result of vpt.get("scrollBarThickness") for calculations. It hallucinated a scroll event listener/callback for viewports. I needed to prompt it specifically to use a 30Hz timer loop for position updates instead. It had the most trouble with local, reg, and const. Especially in long generations with multi level functions, it tried standard JS var/let scoping, leading to long runs of compilation errors. I mainly used Google's Gemini 3.1 Pro via Antigravity, but I also tested Claude Opus/Sonnet 4.6. The Anthropic models had a couple fewer issues, making sense if the MCP server is currently tailored to their behavior.

    I had checked out the viewport's multicolumn mode. I built this as a ScriptPanel recycler to have high LAF control over individual buttons and icons for a custom preset browser. I wouldn't be able to get the same component styling flexibility with multicolumn mode.

    I'll try out the LSP server! I've been following HISE's ai journey and can't wait to see what's next! Being a dev who uses AI to assist in most my work nowadays, it'll make HISE development much much faster and accessible lol. Love the forum, but I dream for the days where I'll ask Claude to explain why my function call is wrong and @David-Healey can enjoy his vacation instead! 😁

    The MCP server in antigravity is amazing, but there's a couple things HISE struggles with against AI.

    Absolute positioning is a bottleneck. Is there anyway to expose JUCE's FlexBox/Grid to hisescript? It would be life changing. If the model can just write relative values, it wouldn't have to guess pixel coordinates anymore. Can't wait for scriptnode to work with MCP. Having models build scriptnode networks from text/json, or piggybacking faust, will make that rodeo a lot simpler.

    I can envision HISE's future as a sidecar rendering engine alongside your everyday IDE, which wil be where the actual code writing/editing and prompting happens. Having HISE run in a headless like manner to compile the plugin, fix errors, and run tests would have massive potential. The LSP and MCP server are great starts for this.

  • Everything related to the documentation (corrections, additions etc.) can be posted here
    71 Topics
    481 Posts
    Christoph HartC

    @username1234 this is a thing that I vibecoded last week - it‘s super fresh but yes once that is tested a bit it will definitely be recommended as the preferred way of getting hise setup for development. Just be a bit more patient my friend.

  • Collection of Blog Entries

    85 Topics
    801 Posts
  • The nerdy place for discussing the C++ framework
    193 Topics
    1k Posts
    David HealeyD

    I noticed that every time I hit compile the values I set for my range slider were lost. I had Claude fix it. I also added the functionality that clicking away from the edges of the slider moves the entire range as one.

    PR: https://github.com/christophhart/HISE/pull/1012

    Peek 2026-08-03 21-21.gif

18

Online

2.5k

Users

13.9k

Topics

120.9k

Posts