• 0 Votes
    3 Posts
    3 Views
    MorphoiceM

    @David-Healey I've been told by AI:

    Free stuff attracts the most entitled users — people who paid nothing often feel owed the most. There's no skin in the game, so complaining costs them nothing.
    Big platforms like KVR have huge, anonymous crowds. Anonymity plus scale equals low-effort negativity. The thoughtful people just download, enjoy it, and say nothing — silence is the real majority.
    Most commenters aren't deep musicians; they're collectors chasing the next free download. They judge convenience (unzipping, instant gratification), not sound.
    "Made by AI" is the current lazy insult — it's the easy way to dismiss something without engaging with it.
    And negativity is just louder. One happy user moves on; one annoyed user writes a paragraph. You're seeing a skewed sample, not reality.
    The 7000 downloads are the real signal. The comments are noise.

  • Control ScriptNode from UI knob AND envelope?

    ScriptNode
    6
    0 Votes
    6 Posts
    51 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
    37 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 }
  • Building Hise github

    General Questions
    7
    0 Votes
    7 Posts
    53 Views
  • 3 Votes
    2 Posts
    17 Views
    griffinboyG

    @elanhickler Interesting work, thank you

  • Verb Factory

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

    @Orvillain Nice work

  • Modulating ShapeFX Gain

    General Questions
    8
    0 Votes
    8 Posts
    72 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
    424 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
    137 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
    84 Views
    David HealeyD

    @Lurch Not sure if it affects compiling networks

  • Stupid Quotation marks behavior....

    Solved Scripting
    14
    0 Votes
    14 Posts
    99 Views
    ChazroxC

    @Christoph-Hart I can breathe again....and move much faster now lol

  • How can I improve my reaction time?

    General Questions
    2
    -2 Votes
    2 Posts
    54 Views
    Christoph HartC

    @nohasm191 haha yes we all do human things as humans. Because we are human and not a robot.

  • HISE plugin as virtual midi port?

    Unsolved General Questions
    13
    0 Votes
    13 Posts
    221 Views
    ChazroxC

    @David-Healey I guess you're right. I haven't tested any automation through that method yet. Only midi messages.

  • js file not found

    General Questions
    3
    0 Votes
    3 Posts
    80 Views
    Y

    @David-Healey

    Thank you so much

  • 4 Votes
    2 Posts
    95 Views
    tobbentmT

    @dannytaurus Thanks for sharing this! If anyone has questions about the data going into this, or suggestions for the next survey, please let us know! :)

  • Meta Ads

    General Questions
    25
    0 Votes
    25 Posts
    1k Views
    David HealeyD

    @dannytaurus said in Meta Ads:

    Or get someone much younger and more in-touch with social media to make them for me!

    Don't know if you know about this, but here is a creator/influencer marketplace built into ad manager where you can hire people to make ads for you. If you hire someone, get them to make 10 3 second intros for each ad. Then you can mix and match the intros with the ads so you get more chances to catch a viewer's attention (Ben Heath's idea).

    8dd61f3b-86ad-4008-847a-eae77c41d288-image.png

  • Change Look And Feel Dynamically

    General Questions
    13
    0 Votes
    13 Posts
    1k Views
    OrvillainO

    @Lindon said in Change Look And Feel Dynamically:

    @Orvillain said in Change Look And Feel Dynamically:

    @Lindon Nice! And you're doing all that with branching logic in the LAF's ??

    I did make a start, and I got a mix control to turn into a slider versus a knob, depending on what effect I have loaded. Seems pretty flexible for sure!

    actually Im doing all this with json, so when the user selects an FX I go find the JSON object for its background and its sliders, and use those in the LAF... so hardly any branching going on.... it'd be a fairly massive switch statement....

    Gotcha! Yes that makes total sense.

  • 0 Votes
    13 Posts
    256 Views
    David HealeyD

    @Yannrog said in Hello, easy one, How do we set a value to a knob by scripting so it never changes.:

    If I update, will I get the exact features on my project?

    Maybe, depends if your current version has a bug

  • Recent commit to Processor.cpp breaking old project

    Bug Reports
    23
    0 Votes
    23 Posts
    1k Views
    David HealeyD

    @Christoph-Hart How about this to fix the original issue? https://github.com/christophhart/HISE/pull/959

  • 0 Votes
    17 Posts
    304 Views
    David HealeyD

    My network contains a lot more than just some gains so recreating it all via scripting is a pain and means I don't get to work with the nice GUI. Is there a simple build network from JSON type thing? Edit: dsp.createFromJSON might be it..

    Another option I thought of is I can park all the chains in the multi as unused nodes, then in the script use this to add them for just the number of channels:

    const dsp = Engine.createDspNetwork("SimpleGain"); const numChannels = dsp.getNumChannels(); const multi = dsp.get("multi"); const numPairs = numChannels / 2; for (i = 0; i < numPairs; i++) dsp.get("chain" + i).setParent(multi, i);

    This works for my multi channel simple gain because each channel has its own chain, but I don't think it would be a good general solution for all networks.