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.
-
@ustk hmm, you sure? bypassing / unbypassing just calls reset() which shouldn't change the connections...
-
@Christoph-Hart Pretty sure... But I'm checking with the real develop instead of my custom branch before confirmation...
-
@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:

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...
-
@ustk but that's not the hardcoded master FX - just tried again with a simple dsp network that modulates an osc with an extramod - it initialises the connection correctly. We're talking about loading the project fresh in HISE, right?
But your fix look good, no reason to call this with a samplerate of zero.
-
@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.
-
@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... -
@ustk ah yes sure, now I'm back on track. Let me just check the current example as exported plugin, but I checked this exact setup back when I fixed it last week.
-
@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. -
@ustk no my test never touches that codepath. I'm loading a compiled network in a hardcoded fx - all your changes are modifying the script FX modules. What's your exact setup?
-
@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 thingThe 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
matrixTargetIdset to the correspondingmatrix modulatorname of the corresponding hcfx
In the networks:
- there are
extra_modnodes set to the index of the extra mod slot - Corresponding network parameters have their
ExternalModulationproperty set toCombined
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
-
I'm testing pretty much this setup:
- global mod => LFO
- hardcoded FX in master chain with network:
- 1 parameter, set to combined
- modulates a osc.freqRatio
- extra_mod slot has a MatrixModulator connected to the LFO
- no preset, nothing, just the default state
Load VST3 instance => pitch wobbles. Before the fix it didn't.
-
@Christoph-Hart Are you exporting an FX or INSTRUMENT?
-
@Christoph-Hart Any snippet for me to test out?
-
@Christoph-Hart I've made this simple snippet and it doesn't work. Not from UI parameter, not from LFO...
What did I do wrong?
HiseSnippet 1946.3oc2Y0rbibaDFinfVsZW63s104PpbfGksWqZFpgTRUNXt5OaVdoDsHsbpjCJPy.RhRy.LYFvUhNUtma4UxOB4IHUdDxafciAyOXjHszxUVdKSUEKBz.n+Pit+5FP8hEdzjDQLxZsASinHqmh6OkKGu2XBii5rOx5CwRZhrgciV1MscQ6NMhjjP8QVV09R0Xrd7xnzO++uXWR.g6QK6BgNUv7nulExjk8F09qYAAGR7oCXgFi1scGOAeOQfXBfmZXaTDw6BxH5QD0vVBi9JRxXj0mh8caQItt9dzFCota277s1bys8Z4Z6a2pAsYqgD6la4NzEYsxA9LoHtuj.6Bj0x6J7m1er3RtVAmxRXmGPUMbP8AMq69PQfuZKp5Es2XVfeubCUBBYg6UZ1poMau.2k4yJ5uz78QoBpWNCSCn0RUgWsJvywDd1FvaFPxx.RKqgzyv88hYQxRIJ77DbGtjFOj.mSlPQOVj0Of2S.CfK2HjbA8vXnQwDVuks8KqCe8I+ogS3dRlfWWvORHoGyW+SV6er1iW6etV8qKZ3vYJSolXQP.MdlhUtFw+bSbc9jvyowur9aHASnECD19Uso34aSMOx8z6ZiAJ3c3L4wQT97bDPYlJk8OCUvPkoV+OLy52Of4SiQLvH+H7WyEm6fRAbla++66ew+8KPeam8IRR9x.qHnkHZrjo1.V6SeCDDoOTeLdeZxERQT5XCiDbk9sV8VU5UkwYr1SKZ7Cm2NjHiYWMfDOhJ63qTwgwz+9Yc6hjzqf0dE7gmbv2ftj4KGWLu1+s1iorQiMBq6zFcSmPv8W3OIfHqFSnXNxD.GpUbDUda7DlbpIyx8VfxcEhOC2iI8FOaLtzLvHb38KAFynW9.7ACGR8jk.bY7g+4eg3RV5l1n0xbr.cpIQzMqWECKkSh7uvkArQwzHRLcfnW.Y55Ijvn.5I.DeY8yCDdWzm88zaFkGoQvtpQrt2XBmSCRVDxfUtyFEm2ZB1Y53rJ9fqjwDmGRe5SDSjL9ntoAx.i2QSB6C4P8n6kY4f9rVRwWoaaqZq.QeJ2OswOBexD5nZakIzIWXIUG5Hp7RQ7EoFkreCaasaQRpCvYCuBcJMNQE1.DP1a.+gdUPf3REkEKKfJcSBYzGPXA5sV5P5IBlFMVvYdJKmdB4ajWEJlnn6z6lxfycy8jJ1XSR.da+i48gImVRBDfXcjvG90iNj3Al8o8HJ9rmgUL+voGMdCuhSQycR4AoBi5ZQLkqNx5Qhg9gzjI5skRS4ExnQDrQBSopgxXrpojmFpogzJZVwKiIQTk2yYgBvzWAmerANCgJJzXcVX6FqycELVFf4I3hEnJN9H.GwzMJkNaySo7aQ6KWdJpSAkjkFjS8ztIo1HUhomhEIdPkip.NTgEWI4Ioorl.mzSQHiyBEWVdKP6cY7S04dwJmRTWxUYsWA6zB5nujFk4Fgcf1JKwifBl7ofCs4LQ2skUuJyZU+c40P1mMhSBt1pq75CnWkWTv9rjHf7b2IPN.MYTkdf1ZHBIE9bmzzG4EOT0ZTQRJilpEPJsjBROE2I4TkTuR7.wYFNEUN.tQTD3UXHdVtEUl+s4U9NZCLcBV4tdZ4NmSqUTL8z46BrZ4h9briMHV8wwcGaGmVNFp343l4R2xsocyssaYnvW.Krisc0I2+B5kZasd.MZryN1tMa0nwltau01My3qJC.F.wdCDoJDBidCbhpfn4H1mNjLIPVfoFMxvzlM1Z6FMa1D8pIRATWXwcflmAz4tFE8zT0W+DUfNpxzemCkVAplTReGVTcTduwjD5bLd+d7Qh3PR.nY+dTHwJvDOh9NPIjiafBOq+OPc12vcycfav17ZmP46o4EWCgxF5Vu1JyM51fA3UWdcaGDT4BMFXiLp5Ep7CBDOGR63WgVdQYSVja5XVOLVK743uhD66AAk9cII.pyJL8iK6utVv0JQsVQEKlovSMVlkxW6gtrQHefS8eUtQTEHtV9SGnqkr.noXr7hglnqqfKxqWqDdmPg4OZjxgrryx8WJcZFs+L2d6MIAXfT41gjAmd8KL2OTHjigRdq9.RcZeucvo04IDNDlq7n4QSj5VV3PyW8BgBIWYh7NZViTaSRAcU4vULL2N0B53Ix6MU9sIztL+dBvHC19Wk7WnwB0XePt3fg20pZuq+.9KCDmWPy.gA4U1l5l8GyDWuPd8xAL+me7+b++7iW+ojV9t4McKud3xu285g20GE4423jI4WKhpmogIF+5CONi.E9UIvtcbsKKRDPTENVqrxnB4q1V4fzoz+p8+t82QdCcHDrlkepXkdMcDnRydFPCiD8mx8L8EmCo0KZ+ZgH5.NALB9lKRZAIGObXBUVYYfkcfPmbaO08dME1YDGpCW+hrl8qoSy2.ojppRoRyEa8Wwsb2.9L7yTeuydvWad78S62lGEy4s9UoliSpxQn3HW4R7d36KpQYgi26on7m8UPq8a5WA8AI2ndw0UD+fnvPhWr3LO8ilphpVMsGvHvSug9igB+f10q9OoPWyAjH5LOupK0MlXiEchatnSzcQmXyEchsVzIt0hNwsu8IppSH6V6p3TDpauCzz6VE4VfJ99If8wJvB