Forum
    • Categories
    • Register
    • Login
    1. Home
    2. ustk
    3. Posts
    • Profile
    • Following 0
    • Followers 15
    • Topics 473
    • Posts 6,053
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart Mmmm... Maybe because I am still using a basic ScriptFX in the project that I don't compile (but I can compile it and use it in a hcfx) that the crash happens without the samplerate fix. I'll try to place it in a HCFX to sse if it's at least stable without the fix.
      But yeah that's not related to the HCFX module thing

      The setup is:

      • FXs are hardcoded modules
      • They make use of NUM_HARDCODED_FX_MODS=8
      • Extra mod slots are receiving a matrix modulator
      • UI components have a matrixTargetId set to the corresponding matrix modulator name of the corresponding hcfx

      In the networks:

      • there are extra_mod nodes set to the index of the extra mod slot
      • Corresponding network parameters have their ExternalModulation property set to Combined

      HCFX modules are bypassed from UI buttons.

      So at init, the state of the project has been saved with the init preset, that has all modules unbypassed by default. Then other presets are bypassing/unbypassing the modules as you load them. It's only when a module has been cycled bypassed/unbypassed at least once that is actually able to modify the sound

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart I expect your binary to crash if you don't have samplerate fix from above. Or something is definitely weird...
      I you need I can provide you with my project.

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart AI said that it was initillay because Hise already prepared all the processes (or something like this) so modules are well ready to work.
      But exported plugins needs to do it at init so prepare to play was not ready yet (or reset with bad samplerate) when the modules are initialising, if it ever make sense to you...

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart said in Matrix modulation connection is broken in exported plugin:

      We're talking about loading the project fresh in HISE, right?

      No, it was always working in Hise, the issue is with the exported binary.

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart Ok so due to other another issue that causes an instant DAW crash, I need to stay on my custom branch.

      The fix I've made is:
      Screenshot 2026-05-04 at 17.09.59.png

      Don't bother the GlobalModulators.h, I reverted it...

      But I confirm it's only working when cycling bypass once after init. If it's related to my fix I don't know, because I can't remove it without seeing the plugin crashing the DAW...

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart Pretty sure... But I'm checking with the real develop instead of my custom branch before confirmation...

      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart I've noticed you attempted to fix this in https://github.com/christophhart/HISE/commit/dc5bb89e68c917505e4a5fa70ff6db8d8a490c22

      It behaves better but still not working. we need to cycle bypass/unbypass the modules at least once after init for the effects to work. After that, they are working nicely when loading presets.

      posted in Bug Reports
      ustkU
      ustk
    • RE: Unnecessary noise when saving presets

      @Christoph-Hart not that I'm aware of, I didn't even know this macro 🤷♂
      I checked and it's 8 as it should...

      posted in General Questions
      ustkU
      ustk
    • Unnecessary noise when saving presets

      @Christoph-Hart I thought this has been dealt with a while ago?

      Screenshot 2026-05-04 at 13.30.23.png

      posted in General Questions
      ustkU
      ustk
    • RE: API browser drawing a blank

      @David-Healey yeah absolutely, for a couple of days or more…

      posted in Bug Reports
      ustkU
      ustk
    • RE: Builder InterfaceTypes

      Just a quick question without polluting the thread to much.

      Is this what I need if:

      • I want to create predefined modules only in "dev mode" (meaning I can use a macro processor during development and disable it before export)
      • I want to add scripts to those modules (they would be scriptFX that are using their process callback)
      • add/remove corresponding buttons on the interface

      The rationale behind this is to dynamically create a set of tools (modules + scripts + components) that are helping me during development then throw everything away before export with a simple macro (or uncommenting an included file which is about the same)

      posted in General Questions
      ustkU
      ustk
    • RE: Agentic coding workflows

      @Christoph-Hart clever move…

      posted in AI discussion
      ustkU
      ustk
    • RE: z-ordering issue when using drawModulationDragger/drawModulationDragBackground

      @Christoph-Hart awesome! I was in the same situation so 👍

      posted in Bug Reports
      ustkU
      ustk
    • RE: Agentic coding workflows

      @Bart Recompile On File Change does work here on mac, the other things I don’t know…

      posted in AI discussion
      ustkU
      ustk
    • RE: Preset browser not fully functional in exported plugin

      Ok it's no bug... I have READ_ONLY_FACTORY_PRESETS=1 and I assumed, naively, that I could prepare a User folder in advance. But since it's shipped with the binary it is treated as factory... Shame...
      So in plugin, if I create a new Folder in the first column as a user would do, it's working...

      gclfo.gif

      posted in Bug Reports
      ustkU
      ustk
    • RE: Preset browser not fully functional in exported plugin

      And it's definitely not my drawDialogButton LAF function because even commented out I get the same result...

      posted in Bug Reports
      ustkU
      ustk
    • RE: Does anyone offer compilation service for plugins on PC/MAC

      @Morphoice GPT's answer: "the ultimate weapon against Defender is compliance. Not very rebellious, but highly compatible."
      Arfff... those robots will never have the balls... 👊

      posted in General Questions
      ustkU
      ustk
    • RE: Preset browser not fully functional in exported plugin

      @David-Healey oh sorry... well I tested today's one and 2 months ago...
      macOS 26.4

      posted in Bug Reports
      ustkU
      ustk
    • Preset browser not fully functional in exported plugin

      So all is good in Hise, but in exported plugin:

      • the additional buttons at the bottom are not showing
      • the SAVE button doesn't react (it does not even illuminate with mouse over like the mouse event is not received...)

      EXPORTED PLUGIN:

      Screenshot 2026-04-27 at 16.15.47.png

      HISE:

      Screenshot 2026-04-27 at 16.16.53.png

      Preset Browser data:

      {
        "ShowSaveButton": true,
        "ShowExpansionsAsColumn": false,
        "ShowFolderButton": true,
        "ShowNotes": false,
        "ShowEditButtons": true,
        "EditButtonOffset": 0,
        "ShowAddButton": true,
        "ShowRenameButton": true,
        "ShowDeleteButton": true,
        "ShowSearchBar": false,
        "FavoriteIconOffset": 0,
        "ShowFavoriteIcon": true,
        "FullPathFavorites": true,
        "ButtonsInsideBorder": false,
        "NumColumns": 3,
        "ColumnWidthRatio": [
          0.3,
          0.3,
          0.4
        ],
        "ListAreaOffset": [
          0,
          0,
          0,
          0
        ],
        "ColumnRowPadding": [
          0,
          -5,
          0,
          -5
        ],
        "SearchBarBounds": [],
        "MoreButtonBounds": [
          750,
          10,
          40,
          22
        ],
        "SaveButtonBounds": [
          635,
          10,
          22,
          22
        ],
        "FavoriteButtonBounds": [
          487,
          5,
          32,
          32
        ]
      }
      
      posted in Bug Reports
      ustkU
      ustk
    • RE: Matrix modulation connection is broken in exported plugin

      @Christoph-Hart here you go (all the fixes my pet and I tried until today haven't worked so my hacky solution... Using a processingSpecs BC works too, because the root problem as I understand it is the samplerate not being set before the module are constructed/connected)

      HISE bug: extra_mod runtime targets broken in exported plugins

      Setup

      NUM_HARDCODED_FX_MODS > 0, hardcoded FX modules with networks containing core::extra_mod nodes driven by Matrix Modulators in the FX's modulator chains.
      Works in HISE backend, broken in exported plugin (compiled DLL and interpreted both).

      Symptoms

      Network parameters don't respond to UI changes or preset recalls.
      Matrix modulator's Value updates correctly but its output never reaches the extra_mod node.

      Root cause

      Order-of-operations bug between project-state restore and prepareToPlay:

      1. Host loads project state → restoreHardcodedData → setEffect(name) → connectToRuntimeTargets(*newNode, true).

      2. ExtraModulatorRuntimeTargetSource::addConnection (ModulatorChain.cpp:2155) builds a SignalSource with sampleRate_cr / numSamples_cr from getSampleRate() — which is 0 because the host hasn't called prepareToPlay yet.

      3. target->onValue(signal) stores that zero-rate signal in every extra_mod node.

      4. When prepareToPlay finally runs, extra_mod::prepare() reads the stored signal, checkSignalRatio() sees rate 0, and the node ends up in a non-functional state — modulation values never reach the parameters.

      In the HISE backend the engine is already prepared when networks are loaded, so step 2 captures a valid rate.

      The early-return in HardcodedSwappableEffect::setEffect (if (factoryId == currentEffect) return true;) makes the broken signal sticky — no later preset load triggers a reconnect.

      Confirmed workaround

      After init delay (so prepareToPlay has run), force-reload each FX:

      fxSlot.setEffect("");
      fxSlot.setEffect(originalDLLName);
      

      This forces a full disconnect + recreate with a valid sample rate.

      Related

      Same class of bug as the recent GlobalModulator::prepareToPlay reorder fix ("Fix SmoothedValue assertion when sample rate is uninitialised"), but on a different code path (setEffect → connectToRuntimeTargets, not prepareToPlay).

      Suggested fix

      In HardcodedSwappableEffect::setEffect, skip connectToRuntimeTargets(*newNode, true) when getSampleRate() <= 0, and call it instead from prepareToPlay once the rate is valid. The scriptnode FX (JavascriptMasterEffect / JavascriptPolyphonicEffect) and HardcodedSynthesiser variants need the same treatment.

      posted in Bug Reports
      ustkU
      ustk