DisplayBuffer in compiled network causing crash
-
Re: How to display the core.peak & compressors to the UI?
I'm trying to display some peak info in the UI like the referenced topic. Got it working great in Scriptnode form, but HISE is crashing every time I try to load the compiled version into HardcodedMasterFX.
I tried compiling the referenced snippet as a test with the same result, still crashing. What am I missing? Is there a trick for dealing with the compiled External DisplayBuffer info?
-
@dane-zone looking at @ustk example, it works here to compile to a hardcoded version
the reference to the Hardcoded FX is not needed, you only use it to get the DisplayBufferSource like this:
const BufferSource = Synth.getDisplayBufferSource("HardcodedMasterFX1");
HiseSnippet 1303.3oc2X01SaaDG+LIdZIccacqaZu7DuxLwRig.srITABPAMdHhP6pzzT0g8kjaXem24yPip5Gk8t88YeO1q5GfIs8+N6fsGg1rnUJcQBB2+mte9+ylNRgGMNVHQV0OdXDEY8Q1cGxUCZOfv3nc2DY841axhiBHCwajzqGUh2oMZigQj3XpOxxpxizBZUqJx74UObCR.g6QyIgPOQv7n6wBYpbpcV66YAAaS7oGyBKHcq010SvaKBDI.npX2DEQ7Nkzmd.QK1L1ncHwCPVes8RKrnWK+66uvBKsxxdjkoqzizqm6h9sZs7CVwcwUHsdvxzlKgr9fs7YJgrqhnnwHqpaH7G1cf3bd5E7DVL6j.p9fKpKbyoj2VD3qeD0TQsGvB76LxaEiPV1cx8cUR8c20delO6B549vO0v.mqQQGn0LkgWkRvysH7ZV.diARVEfT0THcG6tdRVjJmiFO2xdWthJ6Qf3TQnjJKZFbE61BPBtpQH4T51R3vEZ331r473kZN22UuNDphU3rDjN7.7p3QJ1mpZKBiDb3fyr4hLatdoITcgHsGEzzj3o0KS3hrclcGhz2S.Qj8Iw.R19otZKUB.YInqVxvWxfNtZDbu6g6.gGE9HQhhwo354PrQLUYXlwyoWB2SwDbm9ygq+h5X3S+F8f720CBbRyUiabR.jnBltV8ZmQj3H.Gkt2FdRJDg6PTCbTCXwZfsmviDrgHg6G6zrQy4lG+ifu0cdL76uw8mfuazzXxzqLV6S021EWpj5C7S45KImardz73Hs0yLrqwvuX1iGv7NkCYAy9sXf1KAE0+X7E5hPItMIH3D3oHyspLDWEuEuO3ExvuQxCO4modJGPaiLZfYnOx.4drKbXEbuRZj165LB.Y1PQjoVwYQSxU85irBVvOPnnGBlCrVs5urN9expWuwxSmMJEAAfQGG6zq60nnCOI7Dpbd7YjfD5EBB0WkKZsu5h1h8T7RKNJHnfuKmoNLhxupNMnrJJ3ud7taRTDckdFMPtHpTwzPvZS5YPe1z59Z1aRiOUIhLxlUFBnVY3d6QcEHbZ.h4qa6mGePOuXy6gEOftbGFn2lvOIfnJ2vSOVHiA3PK0kQ2IgGyTCKN13+rtfSJDuicGlxav3w3LiAifa+sAFylcba6sflDdpb.V0d6mdMLnvN89+B6KZvhS6vhgqWii6Ze4Vukv0AT04B4o5jnXSZ0y58bWzlIggk8dUlX3695ge0ILD+I1cbwSd.9cPRHfvEtwivEuwivVuiPX59A82mnjLnoo8AIgoKc.niCsV0CFrlQ2BO8bS8YMH5R49lC+E7Iioq9rUFS2QLK5E93Tuvsr6BiiMaKYb.eo4L9GHmQwOhxoRs+w8JWR+2+0+XRWROZhWR+POEb8GKI73HQbIC2kFxNFl+DWj3iigsJo+xQ5PVQ5sED4XY8pGtM7PNVc5RTIRSre8PXiG0qqoS0IqoyaX2+p2318+8fAykl5TaDF6xBiBnawOiF.qxXv3mA6tzijDnFQsbt79BtHZffy7JFnOhB0f86SkEw9XefVWofMTyob5ZGQCnjBIs+4us1dPxFQB9I5T5Kb+W+pZiMd8U1ov0rfN982Epp7+5EptVFDbcbGgDOo3Ydou6iNO8CMTfmat4e+RM680mwtHy6CULVFBc4dlmWYScIEWXZUbwoUwVSqhKMsJt7zp38mVEevaVQ8Pn0SThvzRSDZ+NaYdYRKqs3DHK2TQf9a8beiHC
-
@ulrik Thanks for your response. Unfortunately I can't even get that far, HISE crashes as soon as I try to load any compiled dll with an external display buffer into the HardcodedMasterFX. Other simpler networks are compiling fine.
If it's working for you, something must be wrong with my setup when I compile the DSP network as dll. Are there any other obvious things I might be missing with settings for this process?
I'm working on MacOS 15.6.1, the latest develop branch with Faust enabled compiled a few days ago.
-
@dane-zone it might be that you just need to save the scriptnode network once you load in the snippet, then go to compile it.
Are you able to create a scriptnode network with just a simple oscilloscope then compile and load it into the hardcoded fx?
You also don't necessarily need to use the hardcoded fx, you can work with just the script fx.
HiseSnippet 1615.3oc2X0sSabDEdVfMI3jz1zVklKWwUapnNdMgRSqhBXCjfZ.rvDZjppPi2cr8Tudls6NFvMJ22WhdWee56QuJO.Up8blYW1cIlThaRTSsDfmyueyYN+LCshk9rjDYLwpx9iiXDqqY2drP0uYeJWP1Zch0mXuNOIJjN1owntcYwNOpIow3HZRBKfXYM6CQAsleNh9yKdPCZHU3yxIQHGH49rGyGxU4Tas52xCC2jFv1mOrfz2c0s7khlxP4H.TyZWiDQ8GP6w1ghhMiM4Qzj9DqO2tFqSmftcV5dr5dd0u2x0VdkN0ARKw7o06txc8psxxqT+d.HuzFAbkLtshpXIDq4ZHCF2tu7XgwAGvS3cBY3BORavyFxaJCCvsHRkzrOOLnUVzJgPrrakG6l0D69T6s4A7SomGC+HMCmbMJF.sloL7lsD77JBuZEf2DfjUAHMmAR2vtseLORkyAwyUs2RnXwcov4TQnXjkLysl0toDjPnpNjNfsYLr3TMb8pUaQmkqc6uoRE3nJQ4jlfzRD5bemLE6wTMkCijBXg6B4hrPtdlDp1vIsOCzTm3g5kJbQ1tKXvlylO0CsPIGmlXd+RF7kLjqG546bGmVvwhxYO4HEWvbpjCspILklYJO2tiD9JtT3161NUdVEG3Supcg710BCcM4nIU6DBInfomux7GQich.bTxuU8iYvIaKppuqpOOAA1ik9zvFxQhfD2ZUqc6Ec9dHl5snC76uv6Gf+Vsl1jFWlfwRzam5zXV.v2vMHldr15QK5DgVO0vdZC+rE1uO2ef.N8W3qc.ZOGTD+QGKvhuXmlzvvNvtHMrpzDuuyFhdPTHE+ZI2syOx7Utf1ZYPfoomYf7H1oArBg2XVDFccy.PpMTzXiUbWRmTUoRlUbjhcjJ1tf4.qMekmWw4rr51ch7vrvXYXHXzIw13tWghthQC6vhWz4HZ3H1oBB0UkKVsO+h0h8R7MEEEDTJ1RvU6FwDmWGFRZkD7smr05TEEqvSoAxEwhUbDBVqyNB5uZp2m2dcVx.kLRKaZ4GfZkl60y5FPErPBO.a2me9PNoXS6wEWPd4NKPOMYvnPppbiNbbPJCHfVp6B1AQjvUiKNt3MV2uKJDugcKtxu+jw3LS.iPX+sAFSmYbc6MflD9pb.Nm8lO8cv.Bai+qjlR.9Dc90ry6yVBD6LZXotZXtu0LvVJclg0uXmWFEgU5wr8ks.4cSnCiBY6AfeQmNgR+As4+L6kq8hLXqAJgqeep.xQSllRzKcgCWdu5SKyXfdaSUwbn1vFhAlYKMSQWVLHccMbMlvzlIBzK9K3SJSObsUJSuLlEJx2goNVFOPeNk9ch0ULGJI5f7gcOAfOD6wrVqKaCCIpVi.yhjGi057z7Y3zRSqkLbbTeof6ijLRjA80FByHTY3OuXnQ14S1VAts09TdHVazdTBztJXWQavN5q3g4l6HCfucoMo9PLeLNGBqwvFdPBMN86zD6Rai7bKL3atbWIAP6lcMPCTfcvPc2L3RfPBIv2DqL..8v0s6xOYo5GpyxHkfzmU.REEZR3nrYlFfbY6giBUbx4FULrmjyyT8h51YJ31OzVl3CWOA9MLevqr6uoMUPCGmvpVTnIhgyZm+Irf4VgrSxFRclFEmkBAayFvNw3wMfh3.3h1ZkQyQZQiATnXYcLylzQHm6Vs9ansZ82ZaUSs+qylcJ3naviqFiNVWxsUxAHW35ljCv9jXg7+dCzPJGLjpaVMUWNo3fvOvv7p1sgJC8a.zcKtodsy2QOh47PFTyfiw8N2md96+5ebQe5YzE9om65q.2ueLUjDISJY31rg78gaWkTj3SRf2Jw9o8vVoEo2TRimHqW7fMgM4D0oMUMJV2SNqWcgKjL6q5EsdS4KZm6+bun88fqcV5NUymgw1brKwFhiXgXiGDieLj72kBs1ynVNWdaoPlMrN+fdOFb0id8vFI4Xehan0TJ38W4TFr5drPFsPR6e9aq9XHYiFustK5TEK7ds+GPLwyqaYafq94mNu+9bgY+e8yEdmb+22E9XH0OVdnu4YCXd5UzTf8sPeGf4s2FW63QNxLgK+rbHzk6Pe+xl5kTr9zp3RSqh2cZUb4oUwubZUbkoUwu5eVQbHzZiTxglRS3kLs1vb2JqMDTHKWWQP9azvPYK.
-
@HISEnberg welp it turns out that the culprit was the extra tag in my Projucer file: "NUM_MAX_CHANNELS=32"
Removing that and re-compiling HISE fixed the problem, however I'd really like to be able to compile networks while having up to 16 stereo channels for complicated mic mixer setups etc.
Is there any way we can tell HISE to compile my dll to work with these extra channels?
-
@dane-zone Hmm it should work. There's been discussion on the forum about how to set HISE up to support more channels, but I forget what that process looks like. There's some small edits you need to make to the HISE source code.
Perhaps this:
32-channel multi-out. How?
Hey guys, I currently have HISE multi-out with 16 (mono) channels. How do I get it to have 32 outs? Changing the flag in HISE plugin project before compilin...
Forum (forum.hise.audio)
-
@dane-zone idk if by setting it in projucer is any different but I use that tag in my HISE project settings 'preprocessors' and it works fine. "NUM_MAX-CHANNELS =24" is exactly what Im using under EXTRA DEFINITIONS OSX.
-
@HISEnberg (cc: @ulrik ) oh yes, and thank you, but that's not quite the problem. I've successfully compiled HISE and other VST/AU/AAX plugins with 32 outs. I've also compiled other DSP networks successfully before while utilizing all 32 outs, but never any with an external display buffer.
Something about having the extra channels in HISE is messing with any use of External DisplayBuffer in a compiled dll and causing a crash.
If anyone else can replicate this issue or give me a point in the right direction I'd much appreciate it: If HISE is compiled with the extra preprocessor tag NUM_MAX_CHANNELS=32, compiled DSP networks using an External DisplayBuffer cause a crash when loading into Hardcoded MasterFX (due to some sort of channel number mismatch)
Thanks again