<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Bug Reports]]></title><description><![CDATA[If you encounter any bug, post it here.]]></description><link>https://forum.hise.audio/category/3</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 22:21:49 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/category/3.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jul 2026 12:43:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[compileWithDebugSymbols breaks the export on Windows (malformed XML)]]></title><description><![CDATA[<p dir="auto">Small bug, but it blocked me for a while: enabling <strong>Project Settings → CompileWithDebugSymbols</strong> makes the export fail on Windows with:</p>
<blockquote>
<p dir="auto">xml parsing error, expected '=' after attribute '1'</p>
</blockquote>
<p dir="auto">The cause (found while debugging something else): in <code>hi_backend/backend/ProjectTemplate.cpp, the %STRIP_SYMBOLS_WIN%</code> placeholder sits inside the quoted prebuildCommand attribute:</p>
<pre><code>prebuildCommand="%PREBUILD_COMMAND%;%STRIP_SYMBOLS_WIN%"/&gt;
</code></pre>
<p dir="auto">but what gets substituted into it is itself a set of quoted XML attributes:</p>
<pre><code> alwaysGenerateDebugSymbols="1" debugInformationFormat="ProgramDatabase"
</code></pre>
<p dir="auto">so the inner quote closes the attribute early and the parser trips on the 1. With the setting off it substitutes an empty string, which is why nobody hits it normally.</p>
<p dir="auto"><strong>Fix:</strong> move the placeholder outside the quotes, matching how <code>%STRIP_SYMBOLS_MACOS%</code> is already written elsewhere in the same file:</p>
<pre><code>prebuildCommand="%PREBUILD_COMMAND%"%STRIP_SYMBOLS_WIN%/&gt;
</code></pre>
<p dir="auto">Same fix applies in <code>StandaloneProjectTemplate.cpp</code> (line ~66), which has the identical issue.</p>
<p dir="auto">Worth fixing since this option is exactly what you need when you're trying to debug a crash, it's what was stopping me from getting usable symbols in the first place.</p>
<p dir="auto">Best,<br />
Jon</p>
]]></description><link>https://forum.hise.audio/topic/14922/compilewithdebugsymbols-breaks-the-export-on-windows-malformed-xml</link><guid isPermaLink="true">https://forum.hise.audio/topic/14922/compilewithdebugsymbols-breaks-the-export-on-windows-malformed-xml</guid><dc:creator><![CDATA[versusjona]]></dc:creator><pubDate>Tue, 14 Jul 2026 12:43:06 GMT</pubDate></item><item><title><![CDATA[Use-after-free in DelayedRenderer::processWrapped - crashes the DAW on dense MIDI (patch included)]]></title><description><![CDATA[<p dir="auto">Hi all,</p>
<p dir="auto">I've been building a multi-mic drum kit, and for days it randomly crashed my DAW whenever I played fast, busy patterns (quick hi-hats, fast toms). It happened in <strong>both Ableton and Reaper,</strong> but never in the HISE standalone, which is what made it so hard to pin down. Windows reported heap corruption (<code>0xC0000374</code>), and the denser the MIDI, the faster it died, sometimes seconds, sometimes 10 minutes.</p>
<p dir="auto">I spent past Sunday debugging it with Claude Code, mostly to read the crash dumps for me.</p>
<p dir="auto">Things we ruled out first, in case it saves anyone time: my scripts (it still crashed with everything disabled), round-robin, choke scripts, voice limits, monoliths vs streamed samples, CPU affinity, deferCallbacks, and the number of samplers. It even crashed with a stripped-down project and an empty script, so it clearly wasn't my code.</p>
<p dir="auto">We eventually ran it under Application Verifier (PageHeap), which turns the delayed heap corruption into an immediate access violation, and symbolicated the dump. <strong>Here's what Claude Code found, pasting its explanation:</strong></p>
<blockquote>
<p dir="auto">The crash is in <code>hi_core/hi_core/MainControllerHelpers.cpp</code>, in <code>DelayedRenderer::processWrapped</code>.</p>
</blockquote>
<blockquote>
<p dir="auto">When the host sends a buffer larger than the prepared block size (the "FL Studio violates the block size" workaround), the function chunks the buffer and calls itself recursively — passing its own member <code>delayedMidiBuffer</code> as the <code>midiMessages</code> argument:</p>
</blockquote>
<pre><code>processWrapped(chunk, delayedMidiBuffer);   // passes the member
</code></pre>
<blockquote>
<p dir="auto">So inside the recursive call, <code>midiMessages</code> is <code>delayedMidiBuffer</code>. Then in the shortBuffer paths:</p>
</blockquote>
<pre><code>MidiBuffer::Iterator it(midiMessages);   // iterator into delayedMidiBuffer
delayedMidiBuffer.clear();               // clears the buffer being iterated
for (auto&amp; e : shortBuffer)
    delayedMidiBuffer.addEvent(...);     // and reallocs it
while (it.getNextEvent(m, pos))          // dangling iterator -&gt; use-after-free
</code></pre>
<blockquote>
<p dir="auto">The <code>clear()</code> and reallocating <code>addEvent()</code> invalidate the iterator, which is then dereferenced. It only appears in a host because the standalone uses a fixed block size, so that recursive path never runs.</p>
</blockquote>
<hr />
<p dir="auto"><strong>The fix</strong> (give the recursion its own buffer so the two can't alias):</p>
<pre><code>// MainControllerHelpers.h — next to delayedMidiBuffer:
MidiBuffer chunkMidiBuffer;

// MainControllerHelpers.cpp — in the oversized-buffer branch:
chunkMidiBuffer.clear();
chunkMidiBuffer.addEvents(midiMessages, thisOffset, numThisTime, -thisOffset);
...
processWrapped(chunk, chunkMidiBuffer);   // was: delayedMidiBuffer
</code></pre>
<p dir="auto">There are two <code>shortBuffer</code> paths that clear/regrow <code>delayedMidiBuffer</code> while iterating <code>midiMessages</code>, so this closes both.</p>
<p dir="auto"><strong>Result:</strong> my full kit used to crash within seconds or minutes. After the patch it ran +25 minutes in Reaper with PageHeap still on (so any remaining bad access would fault immediately) and +25 minutes in Ableton on the exact project that always crashed. No crash.</p>
<p dir="auto"><em><strong>Minor side note it also spotted: <code>alloca(numChannels * sizeof(float*) * numChannels)</code> in the same function allocates <code>numChannels²</code> — harmless, but looks like a typo.</strong></em></p>
<p dir="auto">Hope it's useful information. Thanks for HISE!<br />
Jon</p>
]]></description><link>https://forum.hise.audio/topic/14921/use-after-free-in-delayedrenderer-processwrapped-crashes-the-daw-on-dense-midi-patch-included</link><guid isPermaLink="true">https://forum.hise.audio/topic/14921/use-after-free-in-delayedrenderer-processwrapped-crashes-the-daw-on-dense-midi-patch-included</guid><dc:creator><![CDATA[versusjona]]></dc:creator><pubDate>Tue, 14 Jul 2026 12:36:17 GMT</pubDate></item><item><title><![CDATA[Bug? Inline function locals&#x2F;params shadow namespace members - Palette.text resolves to local text]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/449">@ustk</a> Yeah, definitely be good to get the nod from Christoph on a lot of these PRs.</p>
<p dir="auto">Claude does a great job of making and testing bug fixes, but only Christoph really knows where the dragons are hiding in the code! 😜</p>
]]></description><link>https://forum.hise.audio/topic/14920/bug-inline-function-locals-params-shadow-namespace-members-palette-text-resolves-to-local-text</link><guid isPermaLink="true">https://forum.hise.audio/topic/14920/bug-inline-function-locals-params-shadow-namespace-members-palette-text-resolves-to-local-text</guid><dc:creator><![CDATA[dannytaurus]]></dc:creator><pubDate>Sun, 12 Jul 2026 23:54:42 GMT</pubDate></item><item><title><![CDATA[CRASH: searching&#x2F;viewing &quot;analyse&quot; nodes in Script Time Variant Modulator]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/2118">@observantsound</a> Confirmed here on Linux</p>
]]></description><link>https://forum.hise.audio/topic/14916/crash-searching-viewing-analyse-nodes-in-script-time-variant-modulator</link><guid isPermaLink="true">https://forum.hise.audio/topic/14916/crash-searching-viewing-analyse-nodes-in-script-time-variant-modulator</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sat, 11 Jul 2026 09:21:58 GMT</pubDate></item><item><title><![CDATA[Cannot access HISE Store]]></title><description><![CDATA[<p dir="auto">Thank you! That all makes sense</p>
]]></description><link>https://forum.hise.audio/topic/14909/cannot-access-hise-store</link><guid isPermaLink="true">https://forum.hise.audio/topic/14909/cannot-access-hise-store</guid><dc:creator><![CDATA[alobassmann]]></dc:creator><pubDate>Tue, 07 Jul 2026 08:19:41 GMT</pubDate></item><item><title><![CDATA[[Bug] Enabling NUM_HARDCODED_FX_MODS breaks custom C++ nodes.]]></title><description><![CDATA[<h1>Hardcoded Master FX parameter modslots can force c++ Third-party node parameters to max</h1>
<p dir="auto">*I used ChatGPT to help format this bug report so that it's written clearly and thoroughly.<br />
I apologize for the "Ai aesthetic" residue that leaves behind.</p>
<p dir="auto"><strong>Branch:</strong> I'm on the latest HISE develop branch, pulled and compiled today<br />
<strong>OS:</strong> Windows 11<br />
<strong>Juce:</strong> I'm using Juce 6 (version: 6.1.3)<br />
<strong>Project flags:</strong></p>
<pre><code>NUM_HARDCODED_FX_MODS=8
NUM_HARDCODED_POLY_FX_MODS=8
</code></pre>
<h2>Summary</h2>
<p dir="auto">I think there is a bug in the hardcoded Master FX "parameter-modslot" path.<br />
I didn't want to post a report until I was sure it wasn't my own mistake, but I've been reading the Hise source all day and testing different C+ nodes and in the end I concluded this might be a bug:</p>
<p dir="auto">If a third-party node exposes a parameter modslot with <code>ConnectionMode::Parameter</code> , loading that node into a hardcoded Master FX forces the modslot parameter values to get set to the top of their ranges (and stuck there).</p>
<p dir="auto">This is not a small issue. For DSP nodes it completely breaks effects, and means you can't use any c++ nodes that have modslots inside monophonic hardcoded master FX.</p>
<p dir="auto">I like almost all of my c++ nodes to have modslots so that they can work easily with hise modulation and the matrix modulator. This bug means I have to make modslot and non-modslot versions of every effect, so that I can load the modslot version into poly contexts and the non-modslot one into mono contexts. And then for the mono nodes I have to use a different modulation scheme. Messy.<br />
(unless I'm misunderstanding something).</p>
<h2>How I found it</h2>
<p dir="auto">I was testing a compiled third-party DSP node.</p>
<p dir="auto">The same node behaved normally in a ScriptFX context, but in a hardcoded Master FX it produced broken / glitchy / extremely wrong output.</p>
<p dir="auto">When I removed these project flags and rebuilt, the hardcoded Master FX version started behaving normally again:</p>
<pre><code>NUM_HARDCODED_FX_MODS=8
NUM_HARDCODED_POLY_FX_MODS=8
</code></pre>
<p dir="auto">So the issue appears to be tied to hardcoded FX modslots.</p>
<p dir="auto">Disabling those flags is not a usable workaround for me, because then hardcoded modslots would be unavailable project-wide.</p>
<h2>Minimal test</h2>
<p dir="auto">I made four tiny diagnostic third-party nodes.</p>
<p dir="auto">Each node has one parameter:</p>
<pre><code>Parameter_name: ProbeValue

Range:   0.0 to 1.0
Default: 0.25
</code></pre>
<p dir="auto">Each node outputs a tone whose gain follows <code>ProbeValue</code>.</p>
<p dir="auto">Expected result: quiet tone.<br />
Bug result if the parameter is forced to max: much louder tone.</p>
<p dir="auto">Each node exposes the same parameter slot:</p>
<pre><code>modulation::ConnectionInfo slot;
slot.connectedParameterIndex = ProbeValueParameter;
slot.connectionMode = modulation::ConnectionMode::Parameter;
slot.modulationMode = modulation::ParameterMode::ScaleAdd;
</code></pre>
<p dir="auto">I tested four variants:</p>
<pre><code>Griffin_ModSlotProbe_NoHandle
Griffin_ModSlotProbe_WithHandle
Griffin_ModSlotProbe_FrameHandle
Griffin_ModSlotProbe_ModNodeHandle
</code></pre>
<p dir="auto">These check whether adding the following details would fix or change the behavior:</p>
<ul>
<li>no <code>handleModulation()</code> function defined</li>
<li><code>handleModulation(double&amp;) { return 0; }</code></li>
<li>block processing forwarded through <code>processFrame()</code> from process()</li>
<li><code>isModNode() == true</code> (yeah, I know that's not going to do anything)</li>
</ul>
<h2>Result</h2>
<p dir="auto">In hardcoded Master FX:</p>
<pre><code>NoHandle       left loud, right silent
WithHandle     left loud, right silent
FrameHandle    left loud, right silent
ModNodeHandle  left loud, right silent
</code></pre>
<p dir="auto">The left channel becoming loud proves <code>ProbeValue</code> was driven from <code>0.25</code> to <code>1.0</code>.<br />
And the right channel staying silent means <code>handleModulation(double&amp;)</code> callback was not called.</p>
<h2>Expected behaviour</h2>
<p dir="auto">Ideally, a hardcoded Master FX parameter modslot should not push a node parameter to its maximum value simply because the slot exists.</p>
<p dir="auto">If no meaningful modulation value is active, the parameter should keep its current/default value, or the slot should not be treated as connected until there is an actual usable modulation connection.</p>
<h2>Current behaviour</h2>
<p dir="auto">Currently, with hardcoded FX modslots enabled, a third-party C++ node exposing <code>ConnectionMode::Parameter</code> can get seemingly spammed with max-range parameter values during rendering / stuck at max value (moving the parameter doesn't unstick us, the parameters are stuck to max).</p>
<h2>Why this matters</h2>
<p dir="auto">I'm assuming that HISE nodes are intended to be modular.<br />
If that's true, then a node that is poly-capable, or a node that exposes modslots, should be able to function in a mono hardcoded Master FX context too.</p>
<p dir="auto">This is also inconvenient for my shipped products. A HISE user can load one of my nodes into HISE and get broken DSP because the hardcoded Master FX modulation path corrupts parameter values.</p>
<p dir="auto">The result of all this is that <code>ConnectionMode::Parameter</code> becomes unsafe for third-party hardcoded Master FX products.</p>
<h2>Suspected source bug</h2>
<p dir="auto">The Hise algorithm seems to do something like this:</p>
<pre><code>HardcodedMasterFX::applyEffect()
  -&gt; extraMods.processChunkedWithModulation(rd)
  -&gt; ExtraModulatorRuntimeTargetSource::handleModulation(...)
  -&gt; ModChainWithBuffer::getOneModulationValue(startSample)
  -&gt; rd.handleModulation(pIndex, mv)
  -&gt; parameter range convertFrom0to1(mv)
  -&gt; p-&gt;callback.call(value)
</code></pre>
<p dir="auto">The important part is in the hardcoded Master FX context, with no active voice state, <code>getOneModulationValue()</code> can return an inactive/default modulation value of <code>1.0f</code>.</p>
<p dir="auto">That normalized <code>1.0</code> is then converted through the parameter range, so the node receives the parameter maximum.</p>
<h2>Request</h2>
<p dir="auto">Could the hardcoded Master FX parameter-modslot path be changed so inactive / unconnected / not-yet-valid modulation does not force parameter-mode slots to max?</p>
<hr />
<p dir="auto">post script: a similar / related bug exists in the Hise synth group, I will write a report on that after a bit more investigation.</p>
<hr />
<p dir="auto">Christoph, Thanks for all your hard work🫡</p>
]]></description><link>https://forum.hise.audio/topic/14903/bug-enabling-num_hardcoded_fx_mods-breaks-custom-c-nodes</link><guid isPermaLink="true">https://forum.hise.audio/topic/14903/bug-enabling-num_hardcoded_fx_mods-breaks-custom-c-nodes</guid><dc:creator><![CDATA[griffinboy]]></dc:creator><pubDate>Sun, 05 Jul 2026 00:42:23 GMT</pubDate></item><item><title><![CDATA[BUG (&amp; FIX) in Midi Learn panel value displays]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> Makes sense 👍</p>
]]></description><link>https://forum.hise.audio/topic/14900/bug-fix-in-midi-learn-panel-value-displays</link><guid isPermaLink="true">https://forum.hise.audio/topic/14900/bug-fix-in-midi-learn-panel-value-displays</guid><dc:creator><![CDATA[dannytaurus]]></dc:creator><pubDate>Sat, 04 Jul 2026 09:11:13 GMT</pubDate></item><item><title><![CDATA[Is the CSS debugger gone?]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> That's where I use it (the blank part above it the bottom of my property editor)<br />
But it's now back, I just needed to remove it and re-insert, probably a compromised window XML...</p>
]]></description><link>https://forum.hise.audio/topic/14866/is-the-css-debugger-gone</link><guid isPermaLink="true">https://forum.hise.audio/topic/14866/is-the-css-debugger-gone</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Sun, 21 Jun 2026 15:39:38 GMT</pubDate></item><item><title><![CDATA[Bug: Wavetable only imports to left channel]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/2835">@paper_lung</a> Gotcha. Not too far behind then. Still worth getting up to date though 👍</p>
]]></description><link>https://forum.hise.audio/topic/14856/bug-wavetable-only-imports-to-left-channel</link><guid isPermaLink="true">https://forum.hise.audio/topic/14856/bug-wavetable-only-imports-to-left-channel</guid><dc:creator><![CDATA[dannytaurus]]></dc:creator><pubDate>Tue, 16 Jun 2026 14:57:31 GMT</pubDate></item><item><title><![CDATA[# Bug report draft: compiled network passes audio UNFILTERED inside a HardcodedMasterFX (raw node works)]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/449">@ustk</a> <a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/3542">@griffinboy</a> that def does so thank you so much.</p>
<p dir="auto">P</p>
]]></description><link>https://forum.hise.audio/topic/14852/bug-report-draft-compiled-network-passes-audio-unfiltered-inside-a-hardcodedmasterfx-raw-node-works</link><guid isPermaLink="true">https://forum.hise.audio/topic/14852/bug-report-draft-compiled-network-passes-audio-unfiltered-inside-a-hardcodedmasterfx-raw-node-works</guid><dc:creator><![CDATA[Phelan Kane]]></dc:creator><pubDate>Sun, 14 Jun 2026 18:47:40 GMT</pubDate></item><item><title><![CDATA[Usinge the same sample files in two different sampler links them when editing.]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/2118">@observantsound</a> said in <a href="/post/120810">Usinge the same sample files in two different sampler links them when editing.</a>:</p>
<blockquote>
<p dir="auto">Is this a known bug?</p>
</blockquote>
<p dir="auto">It's by design.</p>
]]></description><link>https://forum.hise.audio/topic/14804/usinge-the-same-sample-files-in-two-different-sampler-links-them-when-editing</link><guid isPermaLink="true">https://forum.hise.audio/topic/14804/usinge-the-same-sample-files-in-two-different-sampler-links-them-when-editing</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Wed, 03 Jun 2026 17:14:20 GMT</pubDate></item><item><title><![CDATA[Loud click artifact when using ReleaseStart with looping enabled]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/2118">@observantsound</a> 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.</p>
]]></description><link>https://forum.hise.audio/topic/14799/loud-click-artifact-when-using-releasestart-with-looping-enabled</link><guid isPermaLink="true">https://forum.hise.audio/topic/14799/loud-click-artifact-when-using-releasestart-with-looping-enabled</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Tue, 02 Jun 2026 15:29:18 GMT</pubDate></item><item><title><![CDATA[Crash when using release start + purged multi-mic]]></title><description><![CDATA[<p dir="auto">When you have multi-mic samples and you're using the release start feature, if you purge one or more of the mics and then play and release a note, it will cause HISE to crash.</p>
<p dir="auto">I had Claude implement <a href="https://github.com/christophhart/HISE/pull/942" rel="nofollow ugc">a fix</a>.</p>
]]></description><link>https://forum.hise.audio/topic/14721/crash-when-using-release-start-purged-multi-mic</link><guid isPermaLink="true">https://forum.hise.audio/topic/14721/crash-when-using-release-start-purged-multi-mic</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Sun, 10 May 2026 10:48:24 GMT</pubDate></item><item><title><![CDATA[API browser drawing a blank]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/307">@ulrik</a> sure</p>
]]></description><link>https://forum.hise.audio/topic/14693/api-browser-drawing-a-blank</link><guid isPermaLink="true">https://forum.hise.audio/topic/14693/api-browser-drawing-a-blank</guid><dc:creator><![CDATA[Christoph Hart]]></dc:creator><pubDate>Sun, 03 May 2026 17:18:19 GMT</pubDate></item><item><title><![CDATA[Getting &quot;illegal call in audio thread&quot; while changing a cc value]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/4919">@boim98208</a> For some reason this was only happening when I did learn midi CC. I decided to just stick with a set CC channel for the knob to be better safe than sorry.</p>
]]></description><link>https://forum.hise.audio/topic/14692/getting-illegal-call-in-audio-thread-while-changing-a-cc-value</link><guid isPermaLink="true">https://forum.hise.audio/topic/14692/getting-illegal-call-in-audio-thread-while-changing-a-cc-value</guid><dc:creator><![CDATA[boim98208]]></dc:creator><pubDate>Sun, 03 May 2026 02:39:27 GMT</pubDate></item><item><title><![CDATA[Preset browser not fully functional in exported plugin]]></title><description><![CDATA[<p dir="auto">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...<br />
So in plugin, if I create a new Folder in the first column as a user would do, it's working...</p>
<p dir="auto">gclfo.gif</p>
]]></description><link>https://forum.hise.audio/topic/14674/preset-browser-not-fully-functional-in-exported-plugin</link><guid isPermaLink="true">https://forum.hise.audio/topic/14674/preset-browser-not-fully-functional-in-exported-plugin</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Mon, 27 Apr 2026 14:25:14 GMT</pubDate></item><item><title><![CDATA[Matrix modulation connection is broken in exported plugin]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/831">@DanH</a> said in <a href="/post/121076">Matrix modulation connection is broken in exported plugin</a>:</p>
<blockquote>
<p dir="auto">He can drop that<br />
addModuleStateToUserPreset call unless he needs the container's own chain<br />
state in presets.</p>
</blockquote>
<p dir="auto">Yep I need it, so I can't remove it, then 2 MatrixData blocks it is and will be...</p>
<blockquote>
<p dir="auto">Two root-level blocks means two live ScriptModulationMatrix instances at save<br />
time. Unlike most Engine.createX calls there's no caching — each call to<br />
Engine.createModulationMatrix() constructs a fresh object and registers a<br />
fresh state manager, even for the same container ID. So ustk should search his<br />
scripts for a second call (a second script processor, an included file, or a<br />
call inside a function that runs more than once). Restore-side it's mostly<br />
benign (each manager restores from the first MatrixData child via<br />
getChildWithName), but it's the smoking gun that two matrix objects are alive<br />
— and two objects both performing remove-all/re-add restores on the same tree<br />
is exactly the kind of thing that could leave the runtime side confused.</p>
</blockquote>
<p dir="auto">Nope, no smoking gun here.</p>
<blockquote>
<p dir="auto">The signal path goes stale if:</p>

the container's child modulators get rebuilt after the matrix restore<br />
(remember MatrixData restores last, but postPresetLoad, sample preloading →<br />
prepareToPlay, or anything his preset postCallback does runs after that),

</blockquote>
<p dir="auto">something worth investigating, especially prepareToPlay that has been modified recently to fix another matrix bug...</p>
<blockquote>
<p dir="auto">Practical suggestions for ustk</p>

Grep the project for createModulationMatrix — ensure exactly one call, in<br />
onInit, stored in one const var. If duplicates persist in fresh saves after<br />
that, an old instance is being kept alive.

</blockquote>
<p dir="auto">Always had only one here</p>
<blockquote>

Drop addModuleStateToUserPreset("Global Modulator Container").

</blockquote>
<p dir="auto">Nope, need it for what it does. And anyway I tried without and it doesn't seem related to the issue.</p>
<blockquote>

Check whether the broken targets' source modulators are bypassed/disabled<br />
at the moment the preset finishes loading (the active-list trap above).

</blockquote>
<p dir="auto">Nothing's bypassed</p>
<blockquote>

Note whether broken targets are MatrixModulators in mod chains vs.<br />
script-slider parameter targets — they use different listener paths<br />
(MatrixModulator::onMatrixChange vs MatrixCableConnection), which would narrow<br />
it to one code path for a proper bug report to Christoph.

</blockquote>
<p dir="auto">Only MatrixModulators in mod chains here, not direct parameter modulation</p>
]]></description><link>https://forum.hise.audio/topic/14670/matrix-modulation-connection-is-broken-in-exported-plugin</link><guid isPermaLink="true">https://forum.hise.audio/topic/14670/matrix-modulation-connection-is-broken-in-exported-plugin</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Sun, 26 Apr 2026 15:25:53 GMT</pubDate></item><item><title><![CDATA[z-ordering issue when using drawModulationDragger&#x2F;drawModulationDragBackground]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a> awesome! I was in the same situation so 👍</p>
]]></description><link>https://forum.hise.audio/topic/14665/z-ordering-issue-when-using-drawmodulationdragger-drawmodulationdragbackground</link><guid isPermaLink="true">https://forum.hise.audio/topic/14665/z-ordering-issue-when-using-drawmodulationdragger-drawmodulationdragbackground</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Sat, 25 Apr 2026 10:46:40 GMT</pubDate></item><item><title><![CDATA[RNBO Compile DLL Crash (RNBO --&gt; HISE)]]></title><description><![CDATA[<p dir="auto">This fixed it Dave thanks!</p>
]]></description><link>https://forum.hise.audio/topic/14659/rnbo-compile-dll-crash-rnbo-hise</link><guid isPermaLink="true">https://forum.hise.audio/topic/14659/rnbo-compile-dll-crash-rnbo-hise</guid><dc:creator><![CDATA[dannycouture]]></dc:creator><pubDate>Thu, 23 Apr 2026 17:40:45 GMT</pubDate></item><item><title><![CDATA[instrument plugin no sound]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> i originally mad the project on my old laptop that i sold, then i moved to a windows laptop, did the ritual of installing hise (MUCH easier on windows) and vs code. it just exported out of the box, and that was what i uploaded as my first vst. then when i installed kubuntu on that laptop, and downloaded the linux vst i made, it wouldn't play sounds (but my other audio effect plugin worked fine) also, i don't know why this laptop misses my keystrokes so much.</p>
]]></description><link>https://forum.hise.audio/topic/14658/instrument-plugin-no-sound</link><guid isPermaLink="true">https://forum.hise.audio/topic/14658/instrument-plugin-no-sound</guid><dc:creator><![CDATA[l8prod]]></dc:creator><pubDate>Thu, 23 Apr 2026 03:25:59 GMT</pubDate></item><item><title><![CDATA[Runtime assertion of exported FX plugin]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/12">@David-Healey</a> Here it is</p>
HiseSnippet 1379.3oc2W8taaaCDmxwro1qCXEaeZn.SezYnHvN+OYeXMI1oyXyIF0oACXnHfVhNlHRjBjTIwanui6YXOA6MX6nnrkbrcrZPawvTBRD4cGue7Nd+3otRgGUoDRjS0yGEQQNOC2aDWO73gDFG0tILO9bpRe9PhFcznHhRQ8QNNq7ZibmJkQIO+8OdDIfv8nYSgPWHXdzegExzYy18U+LKH3DhO8bVXNs25Us8D7iEAhX.KqfqihHdWSthdJwnVIL5mHpgHmuGuI0e+8ZP2cm902ciMp6sKcG5Va52eO+sZP82hR1b+s2lt6FHmmzxmoExdZhlpPNkOR3Op2PwsbqCtfoX8CnlAMP8.Oam9DQfuYKZlEc7PVfe2wAIEB4f6lExVwFx9FbGlOax7YgtuJQfalE4CfNklFdqLE7ZjGd0yAu4.ImbPprEROG2ySxhzYRL34Kvs4Zpb.AxS4ghUWTo2VFer.zfqWOjbM8DILXhE01od8W5B+YsenZwdFDy8zLA2UvOUnomwqsV0+nZE1.2ZMacwkcNqYq0pVAloh5Vl1anasN.Vgb95WQ0FKNMNrOUVaMPqD0p3QTT2M24fJ539z17nX8qIAAT4niz70UT8EjfXZMsLlBfrRxy7zzaHgeE0u1Dk5KojqgAY9X2CpvELEcoq+80p.q8dGTgdmGChqKc0mUuBr96aiOmEqKZ.ZFUWtW1pN3EIgqFHjgEXmLecKfefnUnvONf.0JYVp9s5uaAdZQZW.es+B7UiOHe0nH9Z65KvWa7A4qMd.eU48UgeeeU26WHNXfsR7dxL09RgYsmqXCgs7gLrFOod8kt2X.+DEARooY5vKloKOQrmkJJmhBdaNSeVDkuH5YTJ+E71aa2jnIF5wz4.8hnRMy.AmlzafKmrjkUvMopq0hH35oYXRAN7ww87D6lq+RE.wfoXSMLlbESOJ+0iezX6KJDeNtqgSc9XrzbvHDo9Tfwz6H+RbqACnd5L.VFexu9o4Bw7t+oV2+s3WGH5SBxBTvYB.IT6EiuHUr6D4tYJr3td9yh10STg65490JkKVsxRZZo7+4ZZonGi+5YxLpOiEaS0Z0Srv7EosVYxjWPjLBWOAaIP96RUv0ngapJY3e4v+HVjHfHy0Ylyegy3aijzHhjdtna.YTMEILJf9FXi9RW66ptT4QABuqmkpNxtaRjVqeLTQJmGed9t093c+wxtk.W3jViG9nU1c.mR02JjWmjISeGnDrmq5P7jhFW1TEMVxgAAhaOVDFwRYLSbE7cGmSXAoey.UpRjrJt95vOVa5JBFEMTvYdlblcEnvYXNmFbXnHFvhC1oD.nL53jbPO1uSMhL48dwJ3hM+y38.iS3TfxMmSE9vaqdBwCBMi5RzCMT6diImLW9OoRY1cT1QMC3seJ07zyDl6RjfbnYSkcea77XlIKBgMVnItZ9ZLmULxsA1DH9DCFvXhuOZJvVEGB+ecy7yCMVKVhuJkCalZxwi.piNLdRqRlUxjO5Ptax3FvXCpVEam5vXs..yDdxbMD.CVjKVM+RrL2A427r4stCVB9jqcRN4TE2joHvIYeTS5.RbfNcEfc5TqcRiKbZR4iBM0PPYSHqs+3.3D7ZlZLXmZClPkYFATMkLaomgaqtvH0iDL1wvYzOksM8f8jrx+u6I4MhXMieUGhVxtCRav211CNm3MlmPMlhHcb8I7B.oPxf+AdRE1vL1IUXiwBQ1E2l+9r3vPCSxkdVhcygrmlLCDD3IU2UrbMtMP2XOfkkXCglLtzya5kZFC23wZ3lOVC25wZ31OVC24wZ3tOVC2a4FZ5ALkuzTmB2b0sUxAKGmVbK6ETdf9Wn6hrpD

<p dir="auto">Screenshot 2026-04-25 at 00.59.27.png</p>
<p dir="auto">AI fixed it by adding a samplerate &gt; 0 safety. This is confirmed working in main project, bt the same assertion fired this time for master FXs. So I have made the same exact safety and all is good (for this assertion at least...)</p>
<p dir="auto">Now a new one with MPE connection... Not done yet but at least I progressed!</p>
]]></description><link>https://forum.hise.audio/topic/14649/runtime-assertion-of-exported-fx-plugin</link><guid isPermaLink="true">https://forum.hise.audio/topic/14649/runtime-assertion-of-exported-fx-plugin</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Tue, 21 Apr 2026 11:48:27 GMT</pubDate></item><item><title><![CDATA[Latest develop won&#x27;t build in VS2022]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a></p>
MSBuild version 18.5.4+cb4e32d21 for .NET Framework

  CopyProtection.cpp
  Plugin.cpp
  PresetData.cpp
  factory.cpp
  RNBO.cpp
  BinaryData.cpp
  include_hi_core.cpp
  include_hi_core_02.cpp
  include_hi_core_03.cpp
  include_hi_core_04.cpp
  include_hi_core_05.cpp
  include_hi_dsp_library_01.cpp
  include_hi_dsp_library_02.cpp
  include_hi_frontend.cpp
  include_hi_lac.cpp
  include_hi_lac_02.cpp
  include_hi_rlottie.cpp
  include_hi_rlottie_1.cpp
  include_hi_rlottie_2.cpp
  include_hi_rlottie_4.cpp
  include_hi_rlottie_5.cpp
  include_hi_rlottie_6.cpp
  include_hi_rlottie_7.cpp
  include_hi_rlottie_8.cpp
  include_hi_rlottie_9.cpp
  include_hi_rlottie_10.cpp
  include_hi_rlottie_11.cpp
  include_hi_rlottie_12.cpp
  include_hi_rlottie_13.cpp
  include_hi_rlottie_14.cpp
  include_hi_rlottie_15.cpp
  include_hi_rlottie_16.cpp
  include_hi_rlottie_17.cpp
  include_hi_rlottie_18.cpp
  include_hi_rlottie_19.cpp
  include_hi_rlottie_20.cpp
  include_hi_rlottie_21.cpp
  include_hi_rlottie_22.cpp
  include_hi_rlottie_23.cpp
  include_hi_rlottie_24.cpp
  include_hi_rlottie_25.cpp
  include_hi_rlottie_26.cpp
  include_hi_rlottie_27.cpp
  include_hi_rlottie_28.cpp
  include_hi_rlottie_29.cpp
  include_hi_rlottie_30.cpp
  include_hi_rlottie_31.cpp
  include_hi_rlottie_32.cpp
  include_hi_rlottie_33.cpp
  include_hi_rlottie_34.cpp
  include_hi_rlottie_35.cpp
  include_hi_scripting_01.cpp
  include_hi_scripting_02.cpp
  include_hi_scripting_03.cpp
  include_hi_scripting_04.cpp
  include_hi_snex.cpp
  include_hi_snex_62.cpp
  include_hi_streaming.cpp
  include_hi_tools_01.cpp
  include_hi_tools_02.cpp
  include_hi_tools_03.cpp
  include_hi_zstd_1.cpp
  include_hi_zstd_2.cpp
  include_hi_zstd_3.cpp
  include_juce_audio_basics.cpp
  include_juce_audio_devices.cpp
  include_juce_audio_formats.cpp
  include_juce_audio_plugin_client_utils.cpp
  include_juce_audio_processors.cpp
  include_juce_audio_processors_headless.cpp
  include_juce_audio_utils.cpp
  include_juce_core.cpp
  include_juce_cryptography.cpp
  include_juce_data_structures.cpp
  include_juce_dsp.cpp
  include_juce_events.cpp
  include_juce_graphics.cpp
  include_juce_gui_extra.cpp
  include_juce_opengl.cpp
  include_juce_osc.cpp
  include_juce_product_unlocking.cpp
  include_melatonin_blur.cpp
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,4): error C2872: 'Rectangle': ambiguous symbol [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
      C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um\wingdi.h(4639,24):
      could be 'BOOL Rectangle(HDC,int,int,int,int)'
      H:\development\HISE\HISE\JUCE\modules\juce_graphics\geometry\juce_Rectangle.h(66,7):
      or       'juce::Rectangle'
      H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,4):
      the template instantiation context (the oldest one first) is
          H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(365,95):
          see reference to function template instantiation 'juce::Rectangle&lt;float&gt; hise::simple_css::Positioner::slice&lt;hise::simple_css::Positioner::Direction::Top&gt;(const juce::Array&lt;hise::simple_css::Selector,juce::DummyCriticalSection,0&gt; &amp;,float)' being compiled
  
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(333,14): error C2062: type 'float' unexpected [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
  
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(336,33): error C2065: 'copy': undeclared identifier [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
  
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(336,16): error C2530: 'toUse': references must be initialized [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
  
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(337,37): error C3536: 'toUse': cannot be used before it is initialized [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
  
!H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25): error C2672: 'hise::simple_css::Positioner::RemoveHelpers::slice': no matching overloaded function found [E:\The Audio Programmer\Repositories\cubeatz-hybrid-synth\cubeatz-hybrid-synth-hise-project\Binaries\Builds\VisualStudio2026\cubeatz-hybrid-synth-hise-project_SharedCode.vcxproj]
  (compiling source file '../../../AdditionalSourceCode/nodes/factory.cpp')
      H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,50):
      could be 'juce::Rectangle&lt;float&gt; hise::simple_css::Positioner::RemoveHelpers::slice(juce::Rectangle&lt;float&gt; &amp;,float)'
          H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25):
          Failed to specialize function template 'juce::Rectangle&lt;float&gt; hise::simple_css::Positioner::RemoveHelpers::slice(juce::Rectangle&lt;float&gt; &amp;,float)'
              H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25):
              With the following template arguments:
                  H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(346,25):
                  'D=hise::simple_css::Positioner::Direction::Top'
              H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,33):
              'Rectangle': ambiguous symbol
              H:\development\HISE\HISE\hi_tools\simple_css\Renderer.h(306,42):
!              syntax error: missing ';' before '&lt;'
  
!Compilation error. Check the compiler output.


<p dir="auto">This, or something similar to it... has come back in the latest develop, sha: 6446c4ab64ba27c189f5d1ad31ecace25d02a292</p>
<p dir="auto">I've cleaned my build directory, but still get it.</p>
]]></description><link>https://forum.hise.audio/topic/14647/latest-develop-won-t-build-in-vs2022</link><guid isPermaLink="true">https://forum.hise.audio/topic/14647/latest-develop-won-t-build-in-vs2022</guid><dc:creator><![CDATA[Orvillain]]></dc:creator><pubDate>Mon, 20 Apr 2026 14:39:46 GMT</pubDate></item><item><title><![CDATA[Recent commit to Processor.cpp breaking old project]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a> How about this to fix the original issue? <a href="https://github.com/christophhart/HISE/pull/959" rel="nofollow ugc">https://github.com/christophhart/HISE/pull/959</a></p>
]]></description><link>https://forum.hise.audio/topic/14635/recent-commit-to-processor-cpp-breaking-old-project</link><guid isPermaLink="true">https://forum.hise.audio/topic/14635/recent-commit-to-processor-cpp-breaking-old-project</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Wed, 15 Apr 2026 23:44:21 GMT</pubDate></item><item><title><![CDATA[Filter gain modulation not working correctly]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a> said in <a href="/post/119765">Filter gain modulation not working correctly</a>:</p>
<blockquote>
<p dir="auto">If you then want a modulation to go from -6db to +6dB, you just leave the knob position at 0dB and add a bipolar modulator with +6dB intensity.</p>
</blockquote>
<p dir="auto">Little bump and also, would this work for nonsymmetric ranges? I ran into one today where I'd like to go from -12db to +3db.</p>
<p dir="auto">Also there is still <a href="https://github.com/christophhart/HISE/pull/932/changes/ad1d588429a4c619c9b1f58024bc5b968f548f91" rel="nofollow ugc">this bug</a> with artefacts and voices overwriting each other:</p>
]]></description><link>https://forum.hise.audio/topic/14631/filter-gain-modulation-not-working-correctly</link><guid isPermaLink="true">https://forum.hise.audio/topic/14631/filter-gain-modulation-not-working-correctly</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Wed, 15 Apr 2026 11:11:22 GMT</pubDate></item></channel></rss>