• "Error at node: chain" while 'compiling network to dll'

    Unsolved Scripting
    16
    0 Votes
    16 Posts
    300 Views
    HISEnbergH

    I'm looking for documents and examples to guide you and I am seeing this is rather poorly documented.

    Basically DspNetworks folder works like this:

    DspNetworks/Binaries: The compiled DLL. When you compile networks to .dll, HISE is launching and creating a mini-project of just your FX networks, so it contains a .jucer, XCode or VisualStudio file, etc. DLL (Dynamic Link Library) is, to put it crudely, a pre-written and formatted library that contains the DSP code which HISE can load at runtime (for example, load into the HardcodedMasterFx). You can simply delete the entire Binaries folder before compile to DLL for a fresh start (in fact it is a good idea). More info here: https://docs.hise.dev/scriptnode/manual/third_party.html

    DspNetworks/CodeLibrary: I don't look here much, but it's usually where a lot of the faust and snex networks are saved to.

    DspNetworks/Networks: Where scriptnode networks are saved as .xml. So you can actually look at these in a code editor and see the same structure flow and module settings (it is fairly human readable). This is what is saved and recalled when you are launching networks (it's very similar to how a User Preset works).

    DspNetworks/ThirdParty: Mainly for C++ files if you are working that way. I think Snex headers are stashed here as well (I can't remember). You'll also notice HISE will autogenerate headers depending on what you are using, example for Faust.

    AdditionalSourceCode/nodes: This is also important. When you go to compile networks you see the menu below. Basically it is autogenerating some headers that are stashed here for when you are ready to compile the entire project. They help link the compiler to the necessary DSP files. You don't really ever need to bother with this folder, but for a completely fresh build, you can just delete the "nodes" folder before compiling the networks to DLL.

    Screenshot 2026-06-04 at 6.58.44 AM.png

  • Custom filter graph output within a custom node?

    C++ Development
    6
    0 Votes
    6 Posts
    217 Views
    griffinboyG

    @Lindon

    Yeah thats another way to do it!
    Basically the same idea.

    Except like you noted, the Hise filters (which I think are ports of the stock Juce ones?) are primitive, they cramp in the high end of the spectrum (the filter shape get warped near nyquist). And so that's not very nice to see on the graphs.

    Plus, the trouble with analog style filters (if they are actually simulating the hardware topology) is that the cutoff frequency on the knob won't actually line up with the frequency in the real filter, the cutoff frequency on the graph won't really match the real frequency the filter is at internally.

  • Volume Doesn’t Change

    General Questions
    4
    0 Votes
    4 Posts
    170 Views
    J

    Thanks guys much appreciated

  • 0 Votes
    4 Posts
    247 Views
  • 0 Votes
    14 Posts
    425 Views
    David HealeyD

    @observantsound It's probably something to do with how the stretching algorithm works. I also noticed your sample is 44.1kHz, 48 might produce better results.

  • Installing Hise on Mac Tahoe

    General Questions
    5
    0 Votes
    5 Posts
    152 Views
    S

    @David-Healey Of course! Silly me.....

  • [feature request] Network connectivity checker

    Feature Requests
    7
    5 Votes
    7 Posts
    625 Views
    ustkU

    @David-Healey so there's no way my server could be faster, especially since it is actually very slow...

  • Directory.hasWriteAccess()

    General Questions
    12
    0 Votes
    12 Posts
    316 Views
    LindonL

    @David-Healey yeah that seems more comprehensive, its more or less doing under the hood what Im doing in HISEScript... so both approaches have the advantage of getting a result back for the plugin itself (no matter how the user has set up to run it..)

    Thanks for looking and confirming what I'd found.

  • 0 Votes
    29 Posts
    922 Views
    Y

    @dannytaurus It working soo fine, I had to put engine.loadaudiofilesintopool earlier

  • 0 Votes
    29 Posts
    1k Views
    MorphoiceM

    @Orvillain ill give that a try thanks. I don't have claude code though. I cant afford paid services at the moment

  • Second fix for MIDI device reselect bug 🐞

    General Questions
    1
    1 Votes
    1 Posts
    61 Views
    No one has replied
  • 7 Votes
    4 Posts
    200 Views
    OrvillainO

    Very cool man!

  • Building Hise github

    General Questions
    14
    0 Votes
    14 Posts
    377 Views
    Y

    @David-Healey It was already default to 500 mb in 4.1

  • Control ScriptNode from UI knob AND envelope?

    ScriptNode
    6
    0 Votes
    6 Posts
    234 Views
    Christoph HartC

    It depends whether you want it to be a static connection or a dynamic modulation routing.

    If static, then a control.pma node would be the best candidate - connect the UI knob to the value and the envelope output (either from an extra_mod or an inbuilt scriptnode AHDSR) to the add output, this will combine the two with unipolar modulation mode.

    Scales and offsets a normalised modulation signal using a multiply-add formula with clamped output.
    The PMA node (Parameter Multiply Add) scales and offsets a normalised modulation signal. It takes a 0-1 input value, multiplies it by a configurable factor, adds a constant offset, and clamps the result to the 0-1 range. This is one of the most commonly used control nodes for adjusting modulation depth, inverting signals, or combining parameters.

    Each parameter change triggers an independent output update. If Value, Multiply, and Add all change in sequence, three separate output values are sent to connected targets.

  • sync faust delay times to host

    General Questions
    4
    0 Votes
    4 Posts
    170 Views
    Christoph HartC

    I'm not sure whether MIDI tempo information messages makes it through to the Faust node, but the tempo sync node is definitely the way to go. just build your Faust node with a absolute delay time parameter and then connect it to the tempo sync node - it automatically sends the correct time value matching the tempo and reacts to tempo changes etc.

    upcoming docs:

    Tempo Sync (control.tempo_sync)

    Converts a musical tempo value to a duration in milliseconds and sends it as a modulation signal.
    Tempo Sync converts a musical time value (such as 1/4 note or 1/8 triplet) to a duration in milliseconds based on the current DAW tempo. The output updates whenever the host tempo changes or any parameter is adjusted, making it suitable for driving time-based effects that need to lock to the beat.

    The output is an unnormalised modulation signal carrying the raw millisecond value. If the target parameter expects a different unit (such as frequency in Hz), place a control.converter between this node and the target. When Enabled is set to Off, the node outputs the manual UnsyncedTime value instead, allowing a smooth fallback for standalone operation or manual control.

    CPU: negligible, polyphonic.

    Signal Path

    Pseudo-code - hover highlighted terms for details // control.tempo_sync - musical time to milliseconds // BPM + parameters -> ms out (unnormalised) onParameterChange() { if Enabled: output = tempoToMs(bpm, Tempo) * Multiplier else: output = UnsyncedTime } onTempoChange(newBpm) { bpm = newBpm if Enabled: output = tempoToMs(bpm, Tempo) * Multiplier }
  • Verb Factory

    C++ Development
    8
    4 Votes
    8 Posts
    284 Views
    griffinboyG

    @Orvillain Nice work

  • Modulating ShapeFX Gain

    General Questions
    8
    0 Votes
    8 Posts
    261 Views
    dannytaurusD

    @HISEnberg @Christoph-Hart I hit a problem with controlling a ScriptNode macro with a UI knob AND an envelope.

    New post here: https://forum.hise.audio/topic/14793/control-scriptnode-from-ui-knob-and-envelope

  • Thoughts on Moonbase?

    General Questions
    18
    0 Votes
    18 Posts
    685 Views
    J

    @David-Healey cool cool
    I did make just a licensing system with traditional serial keys...so Ill probably just use that for now, and then update.
    and I finally actually fininshed making this instrument😁

    now just working on some vids and demos and final testing. but ill include some screenshots here.
    Its just a sample based synth, where i sampled the f-k out of a LYRA 8 synthesizer..
    recorded through some amps and speaker cab impulse responses etc.
    Screenshot 2026-05-29 at 2.41.06 PM.png Screenshot 2026-05-29 at 2.41.18 PM.png

  • Get Panel Attributes - Colours

    Solved Scripting
    11
    0 Votes
    11 Posts
    341 Views
    ustkU

    @David-Healey There might be a bad parsing at some point. Without really knowing, the hex might be first parsed as string by the property editor...

  • 32bit macOS flag

    General Questions
    3
    0 Votes
    3 Posts
    147 Views
    David HealeyD

    @Lurch Not sure if it affects compiling networks