• How to add Portamento

    Scripting
    53
    0 Votes
    53 Posts
    10k Views
    d.healeyD

    @tsempire said in How to add Portamento:

    Do you understand me better now ?

    Not really. Imagine I'm DaveGPT and you need to explain to me what you want.

  • WebView Not Scaling With Zoom Factor

    Bug Reports
    19
    2 Votes
    19 Posts
    2k Views
    HISEnbergH

    @Straticah Hey did you find a solution for this? I am looking into this as well? Also how is your webview-based preset browser coming along? I want to dive into this myself but I am worried about potential bugs cropping up then being stuck.

  • Expansions preset tagging

    Scripting
    8
    0 Votes
    8 Posts
    68 Views
    R

    @Lindon yes that what I have done. The panel is above the preset browser in my project.
    That panel is essentially a 2 x 4 grid of 'buttons' (one for each tag) inside that panel and when the 'buttons' are clicked currently it prints a list of all presets that have that tag to the console depending on which button was clicked. This is working correctly so the tags are being picked up and read correctly by hise which is good.

    What I'm looking to try and do ultimately is have the preset browser filter to show only the bass presets if I click the bass tags button, only the bells presets if I click the bells tag button and so on.

  • Filter Display Buffer, avail or not avail?

    General Questions
    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • 0 Votes
    3 Posts
    41 Views
    S

    SOLUTION: Use Xcode 14.3.1 on Ventura

  • Fx Build Fails - Cycle in Dependencies

    Solved General Questions
    11
    0 Votes
    11 Posts
    306 Views
    S

    @d-healey i will try that, thank you!

  • EnableBand

    General Questions
    1
    0 Votes
    1 Posts
    16 Views
    No one has replied
  • How to limit voice count per key?

    Newbie League
    12
    0 Votes
    12 Posts
    33 Views
    It_UsedI

    @d-healey said in How to limit voice count per key?:

    Use a MIDI list instead of an array.

    This is unlearned area for me. Which only gives me more interest and perseverance.

  • Forum has 503-ing a lot over the last week...

    Bug Reports
    4
    1 Votes
    4 Posts
    26 Views
    Dominik MayerD

    @Lindon
    Yup, confirmed..

    I will update the forum software in the next days trying to fix this.
    As always there might be some hiccups and newly introduced glitches, so please bear with me :)

    Best,
    D

  • How to add multiple parameters to snex_node in ScriptFX

    Scripting
    2
    0 Votes
    2 Posts
    29 Views
    Christoph HartC

    @blackbneard You're almost there, the only thing you did wrong was using more function arguments than necesssary. setParameter() always requires a single argument that contains the parameter value and all the branching is done with the template constant like you assumed.

    template <int P> void setParameter(double value) { if(P == 0) thresh = (float)value; if(P == 1) attack = (float)value; if(P == 2) release = (float)value; }
  • Building HISE Standalone on macOS with Xcode crashes

    Bug Reports
    3
    0 Votes
    3 Posts
    22 Views
    H

    @d-healey Thank you, I'll look into that option!

    Niklas

  • Recompiled Hise

    ScriptNode
    9
    0 Votes
    9 Posts
    404 Views
    HISEnbergH

    @hyperphonias I’m more of a humble DSP man myself 👩🏻‍🌾

    @d-healey is the man you want to talk to about these sorts of questions. He’s got a ton of materials online about this on YouTube and Patreon. I think this vídeo should answer your question.

    He also released a whole course on getting started in HISE which may be helpful to you:

    Link Preview Image Audio Dev School

    favicon

    (www.audiodevschool.com)

    Essentially you need to script the controls, not use the property editor here.

  • Control ScriptFX using code

    Newbie League
    9
    0 Votes
    9 Posts
    56 Views
    H

    @d-healey oh yeah you're right I was at the top of the block not of the entire dsp sorry

  • I wrote a bbd delay

    C++ Development
    12
    6 Votes
    12 Posts
    149 Views
    griffinboyG

    @Orvillain

    Oh yeah I tried a moog. It was arguably not very good haha.
    It becomes very dark in a very musty way.

    Unless you're willing to stack a few to get a high order it's going to sound quite blurry. Whether or not that's a bad thing is up to you.

    For refrence the real antialising filters from pedals like the memory man are steep. They are almost like low order elliptic lowpasses. That's the closest 'standard' filter response I found to the real thing. This allows them to have a high and crisp feeling cut-off (3.5k) while still killing aliasing.
    It's different to a synth filter.

    But that's what the hardware BBD effects do anyway.

  • 0 Votes
    39 Posts
    1k Views
    d.healeyD

    @ScreamingWaves Mini projects are a great way of debugging issues like this :)

  • Global DryWet

    General Questions
    7
    0 Votes
    7 Posts
    63 Views
    ChazroxC

    @elemen8t I just did this myself trying to mimic the RC-20's Intensity knob. What I ended up doing was putting each of my scriptNodeFX's inside of another wet/dry node, then when you have that done, script one slider/knob on your UI to adjust all 'GlobalMix' knobs together. So if you have a scriptnodeFX with a wet/dry setup already, put the whole thing inside of another one and let that be your 'GlobalMix' parameter. I hope I explained that well enough.

    Heres a working example.
    Screenshot 2025-10-04 at 11.24.40 PM.png

    Screenshot 2025-10-04 at 11.24.46 PM.png

    Best way? idk but it works.

    Screenshot 2025-10-04 at 11.32.17 PM.png

  • 3 Votes
    30 Posts
    7k Views
    OrvillainO

    @Christoph-Hart said in Please Increase parameter limit on Scriptnode custom nodes!:

    @Orvillain have you tried the new pagination feature? That allows you to subgroup parameters into pages. It looks like this is just an UI problem and having a node with 100 knobs will look very ugly anyways.

    Ahhh yeah, this seems like it will work. I did notice when you create a page, any hidden parameters end up going to it, rather than showing up on the unassigned page. But I can work with that.

  • PitchShift Node has Noise

    General Questions
    4
    0 Votes
    4 Posts
    149 Views
    xxxX

    @trillbilly @Yarost

    yes i tried different things and it still crackles

    i ended up using the pitch shifter in faust

    it sounds a little different but it works fine without any crackles

  • 0 Votes
    12 Posts
    128 Views
    VirtualVirginV

    @Christoph-Hart said in Looking into the hise_documentation on GitHub- any reason why a majority of the markdown files are empty for the Scripting API?:

    Aw poor @VirtualVirgin that was half an hour that you'll never get back

    "Aw poor @VirtualVirgin that was half an hour that you'll never get back"

    No worries! Was learning how to generate markdown files from text.
    I made text files of all of the classes in the API, then ran a python script to transform it to markdown. Just a learning experience. I then went on the generate JSON for the API with the following schema:

    { "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Scripting API Method", "type": "object", "properties": { "class": { "type": "string", "description": "The class this method belongs to." }, "method": { "type": "string", "description": "The method name." }, "description": { "type": "string", "description": "A description of what the method does." }, "syntax": { "type": "string", "description": "The usage syntax string for the method." }, "parameters": { "type": "array", "description": "List of method parameters.", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The parameter name." }, "type": { "type": "string", "description": "The parameter type." }, "optional": { "type": "boolean", "description": "Whether the parameter is optional." }, "description": { "type": "string", "description": "A description of the parameter." } }, "required": ["name", "type", "optional", "description"], "additionalProperties": false } }, "returns": { "type": "string", "description": "The return type of the method." }, "examples": { "type": "array", "description": "Code examples demonstrating usage.", "items": { "type": "string" } } }, "required": [ "class", "method", "description", "syntax", "parameters", "returns" ], "additionalProperties": false }

    Which makes this for example:

    [ { "class": "Array", "method": "clear", "description": "Clears the array.", "syntax": "Array.clear()", "parameters": [], "returns": "", "examples": [ "const var arr = []; // Declare an array\n\n// preallocate 10 elements, do this if you\n// know how many elements you are about to insert\narr.reserve(10); \n\nfor(i = 0; i < 10; i++)\n{\n\t// Add an element to the end of the array\n\tarr.push(Math.randInt(0, 1000));\n}\n\nConsole.print(trace(arr)); // [ 523, 5, 76, 345, 765, 45, 977, 223, 44, 54]\n\narr.clear();\n\nConsole.print(trace(arr)); // []" ] }, { "class": "Array", "method": "clone", "description": "Creates a deep copy of the array.", "syntax": "Array.clone()", "parameters": [], "returns": "A deep copy of the array.", "examples": [ "const arr1 = [0, 1];\n\nvar arr2 = arr1;\n\n// Changing any element in arr2 will also change it in arr1\narr2[0] = 22;\nConsole.print(trace(arr1)); // [22, 1]\n\n// Reset the element 0 back to 0\narr1[0] = 0;\n\n// Cloning the array creates a new dataset in memory, separate from the original array\narr2 = arr1.clone();\nConsole.print(trace(arr1));\narr2[0] = 22;\nConsole.print(trace(arr2));" ] },

    I'm sure this is all elementary for you and David, but I'm just learning how to do some these data formats and transformations with parsers etc.

  • How to remove draggable filter grid lines?

    General Questions
    3
    0 Votes
    3 Posts
    41 Views
    xxxX

    @d-healey ah, yes thanks

    laf.registerFunction("drawFilterGridLines", function(g, obj) { });