Snex_node Needs to be wrapped into a compileable DSP Network
-
@Christoph-Hart custom math test-node successfully exported and used inside HISE. Great job !
-
@Matt_SF Yeah, Today's Rolling Updates Was Fire :)
Right Now At >>> https://github.com/christophhart/HISE/commits/develop
-
I spent a few hours trying to go through the procedure but keep getting a crash on the ‘save and reload’ step and was not able to go further, using a freshly built version from the latest Develop branch on Mac. Is anybody using a Mac and be able to get this going? If so if you could point to the right version it would be super appreciated :)
-
@Brian I didn't build HISE on mac for a little while but I have the version from Sept. 02. Save and reload + wrapping are working fine.
Compiling DSP network is not though. -
-
@Christoph-Hart It says "too many errors".
Here's the output of the compiler :Last login: Sat Sep 25 20:54:33 on ttys000 soundfingers@MacBook-Air-de-Mathieu ~ % /Users/WORK/Hise\ Projects\ Mac/Test\ Project/DspNetworks/Binaries/batchCompileOSX ; exit; Re-saving file: /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/AutogeneratedProject.jucer Finished saving: Visual Studio 2017 Finished saving: Xcode (macOS) Finished saving: Linux Makefile Compiling Test Project ... ▸ Compiling include_juce_events.mm ▸ Compiling include_juce_core.mm ▸ Compiling include_juce_data_structures.mm ▸ Compiling include_juce_gui_basics.mm ▸ Compiling include_juce_audio_formats.mm ▸ Compiling include_juce_graphics.mm ⚠️ /Applications/HISE-develop/JUCE/modules/juce_graphics/fonts/juce_GlyphArrangement.cpp:188:30: unused variable 'x2' [-Wunused-variable] auto x2 = xOffset; ^ ▸ Compiling include_juce_dsp.mm ▸ Compiling include_juce_audio_basics.mm ▸ Compiling include_hi_tools.mm ▸ Compiling include_hi_dsp_library_02.cpp ▸ Compiling include_hi_dsp_library_01.cpp ⚠️ /Applications/HISE-develop/hi_dsp_library/snex_basics/snex_TypeHelpers.cpp:141:9: unused variable 'byteOffset' [-Wunused-variable] size_t byteOffset = (uint8*)dataPointer - (uint8*)dataStart; ^ ▸ Compiling Main.cpp ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:22:56: use of undeclared identifier 'project' using dspTest_1_t_ = container::chain<parameter::plain<project::test_1, 0>, ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:22:75: expected a type using dspTest_1_t_ = container::chain<parameter::plain<project::test_1, 0>, ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:27:41: expected class name struct instance: public dspTest_1_impl::dspTest_1_t_ ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:52:24: no member named 'get' in 'dspTest_1_impl::instance' auto& test_1 = this->getT(0); // project::test_1 ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:52:24: expected unqualified-id /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:6:31: note: expanded from macro 'getT' ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:52:24: expected expression /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:6:37: note: expanded from macro 'getT' ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:56:9: no member named 'getParameter' in 'dspTest_1_impl::instance' this->getParameterT(0).connectT(0, test_1); // Saturation -> test_1::Value ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:56:9: expected unqualified-id /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:8:49: note: expanded from macro 'getParameterT' ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:56:9: expected expression /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:8:55: note: expanded from macro 'getParameterT' ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:56:26: 'template' keyword not permitted here this->getParameterT(0).connectT(0, test_1); // Saturation -> test_1::Value ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:62:9: no member named 'setParameter' in 'dspTest_1_impl::instance' this->setParameterT(0, 1.); ^ ❌ /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:62:9: expected unqualified-id /Users/WORK/Hise Projects Mac/Test Project/DspNetworks/Binaries/Source/dspTest_1.h:9:56: note: expanded from macro 'setParameterT' ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1203:7: no member named 'prepare' in 'dspTest_1_impl::instance' obj.prepare(ps); ^ ** BUILD FAILED ** The following build commands failed: CompileC /Users/WORK/Hise\ Projects\ Mac/Test\ Project/DspNetworks/Binaries/Builds/MacOSX/build/Test\ Project.build/Release/Test\ Project\ -\ Dynamic\ Library.build/Objects-normal/x86_64/Main.o /Users/WORK/Hise\ Projects\ Mac/Test\ Project/DspNetworks/Binaries/Source/Main.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1227:30: no member named 'reset' in 'dspTest_1_impl::instance' void reset() noexcept { obj.reset(); } ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1192:7: no member named 'process' in 'dspTest_1_impl::instance' obj.process(fd); ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1198:7: no member named 'processFrame' in 'dspTest_1_impl::instance' obj.processFrame(fd); ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1198:7: no member named 'processFrame' in 'dspTest_1_impl::instance' obj.processFrame(fd); ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1172:7: no member named 'initialise' in 'dspTest_1_impl::instance' obj.initialise(n); ^ ❌ /Applications/HISE-develop/hi_dsp_library/node_api/nodes/processors.h:1208:7: no member named 'handleHiseEvent' in 'dspTest_1_impl::instance' obj.handleHiseEvent(e); ^ ❌ fatal error: too many errors emitted, stopping now [-ferror-limit=] Compiling finished. Cleaning up... [Opération terminée]
-
Can you send me the project (just the DspNetworks subfolder)? It seems that the order of includes doesn‘t detect the inclusion of test1 in your main network.
-
This post is deleted! -
@Christoph-Hart Here's the folder. (Don't mind the Math.expr equation, I was just messing around :beaming_face_with_smiling_eyes: )
DspNetworks.zip -
Thank you @Christoph-Hart & @Matt_SF ! ( Just waking up here on North American time ). I'll be on standby to download and test the fixes, super excited to see this work and try some crazy DSP experiments :)
-
@Matt_SF Thanks for the example. It also doesn't work here for a few reasons, some are trivial, some are a bit harder to fix. BTW, I noticed you're using the
stk.DelayA
node, this is deprecated (I removed the entire stk module). Use thejdsp.jdelay
node for a interpolating delay line instead. -
@Christoph-Hart Noted thanks ! Yes this was not meant to be anything, I was just testing something.
-
@Matt_SF said in Snex_node Needs to be wrapped into a compileable DSP Network:
Yes this was not meant to be anything, I was just testing something.
Yeah, it would require some Steve Jobs level marketing to monetize this :)
-
@Christoph-Hart said in Snex_node Needs to be wrapped into a compileable DSP Network:
I noticed you're using the
stk.DelayA
node, this is deprecated (I removed the entire stk module). Use thejdsp.jdelay
node for a interpolating delay line instead.But jdelay isn't meant to be modulated like DelayA was, right?
-
sure, just don't modulate the limit. The
core.fix_delay
is not the most suitable candidate for modulation as it fades between two delay buffers to avoid pitch shifting, but that's what you want for all chorus, phaser, etc effects. -
@Christoph-Hart ok so I have to test again, because what I just tried gave me nothing but artifacts and glitches…
-
Well it‘s the delay class from JUCE which is used in their chorus and phaser implementations so it‘s supposed to work...
-
@Christoph-Hart Unless I'm doing it wrong:
HiseSnippet 1447.3oc6X8zaaTDEeVaOlXmTTAZEbbUEGRkJQ1lxej3PbSbbIh5Vq3Pa4TY5tSrG75YV1cbZLHNwG.NCm3C.GPb.ItwAthDR7EfSHN1uAva1Yc1Yh2XmXQaEU3KIy6Mu27ad+adusajviFGKhPNU1eRHE4rFt2Dtbv1CHLNZ2VHmWD2gDKoQtZRaMIjDGS8QNNEuohfSkRnjeOdysHADtGMiDBcWAyidK1HlLiZ2le.KHnMwmtOajwtudyc8D7sEAhw.dJhqgBIdCI8o2ln1VALxo7N9LoHpmjHowHmRaI7mzaf3Qb89uKKl8v.pZQcTOPQZxsEA9JDq9ez1CXA9cmduiQHGb2LqPQsU3R3NLe1wzyrFWLggalDl1CmByCd0MgWsbgW8bfGx.ckznC.gveb.QZiLk6HkASX6o1kKo7Xlbho65YJbeIbWlzaP93sPN3EbTOowapy+B3cN3.pmLCrkvsu+x5oOGAhNyZ6ph64EwBkv4q.xZoKcae+5V.RSF47c3c38Yb5FdQT.ZshCuMU9HQzv0uhOMfLAr2W4puW0CFy8TFc2vHZHIhtunKvb8Xxnv.5dffWy8gABug8XeF8pU+7pUp9EUcMDJAlao1w5dCHbNMHd1soxk4xHQv57widHM5ZtGRBFmouYRmKd1rh43D2SLVx386PjQrifL5aOdTOnJhGc6TzAzbJfThlrtlZsJlpGk6mr3ugeoLqqV6jxr9TlH0kgxk.8TSZhKK8+g+S4ephmZkUrD9Jr2l3A2wIcIxApvdnDmDhqnQa3cb7kgX1QYJUnOFstTa9EvwgAP8zSUuZ14qnhVJRifE.v7UTAshJog+HgeN55RF553c.tFSmhxNOWnVRG2Kh8fGMT0PlEuQzMLXuvCXagJJ+nVDIQYZaw.CFYxVigjdcZnEEkmk6SO533ftjH38HodukOdEvuCieWUDtYQqNjiNAsK1rmjFpxrLKFqtkkUEJonYzAx3PJadHeyWq98SaN6g75m7P9V095Mj9Hs0KkZyubzulbzqhaGQ+zwTt2Djo5KpvFZ9WxGmy4W6TujqkbRt6oJ5ilQSnyu87wad51yaBEVl+gT5rdH5LltCHwKvCctzX4jWsML4+h62G8W+vlHcvOVsmJ3XV+FPBjcj+KhGA+cio7VPX+zmdbJ.OyXFA6r7FCM4YMFFItkwgTxPafupNkMgwhRVKl0fv9jn9TYBjOIQ3bTm4tfLqf+jjZoYdDE0UwsTDS52bGNAdTIwTb1tteTyYxa93Wo0uuI5ewBI1KLLfPQ5.J4DE8VS650bdV4kyAwIOqrh9YkFK26JNVZJ0WZooK.TiC2HkkkVruyEN20RZ9UmhqVaIzywLiHmZ44yeHktTbVr5MFKEfqNMZclndnklE3EpuTdg4DZZs3C2cZreZyQPSYgzHIS0MmSK5gvve59Xq.Wp3gRQnUC2WVybU78HGRSl6LocnKmr9.QzH2aRAnpdVu9oM44O+m+1OdVm7L7LO44c7j.D1OhviCEwz5lZ9D7ZXxqEUNlaucMIqcotdsgqmw9Vo4ThMLI1kvsTFr1RScTs6lsTWaqGEtM92IqkHib5tiCho2i4KGXn2+vfbCSxuOIxG7KdVigUbol8wd5Ti8myfPk++IxWz.Q0l6.QViRVYJF6wTuWsC+PZ.jllfwWFxKOfLNPNkpcdVGAWDNPvYVQ.6Qgwr52mZEXk6E5FRIwaXFkK0bOJ7nUrUmp2BJGQhRZ8c4rE0O61h44udMrFttphCtOe7kTJ9bzWR4IQFJT+7+Nd5WEC0za3l3tce16ueZ7QWdZbFiHdQhG3o+VUpBFqjPAt27jO7bEbG0Z25nC0cwgw01nFZD7ryC77TwzuAXexWlFKgLu4RHy0WBYdqkPl2dIj4cVBYd24Ji5E+zViUw+.gt6jzIpiS1zcEQ+CjC2c6.
-
@ustk @Christoph-Hart and I noticed the same glitches appears if you modulate the simple gain Delay parameter :
HiseSnippet 1079.3oc6X0rjaSDDdjsmTqKfTg7SAG0AtQQJKuKAxIbVu1KtvN1rZqDn3PpAo1VSEoYDRiVv23MfWMdD3NW3M.lQxRZjWgWGE1JYSgO3xc2yOeS+e6EQbGHNlGgL5d95P.Y79X60Lg2POBkglbBx313YjXADYlw530gj3XvEYXz9TECitcPoe9qu5XhOg4.krPnmwoNvTZ.UTxcwfug56Ol3BmSCzV8QCl3vYC497DIdZi6gBINujrBdJQsrVXjwsF4RE7HaAQ.wHiNGycWa6w+YV15eFMl9i9fhvBYKOnL1i49tJDq9MZnG02cQ96NFgLvKJ0BsyzB2GOi5RK3WpMtSp.yxcnqOLZsK3YoCud0BOqZfGRCccxPmDDb2DehnJxTliMBn7pVpILAvhoh05lq2nv8CwKnBGu5waqZvqzPcci2MF+O.OZ4RvQTB1N3weWSszuBNhstLV5hOimH.40mozTTT1JyYDQD8WrpBp1ulfpV8ylaL6Bk.5oIA1x.TGPpdXLvWdQXCkMZCcOEsxbYCL2ThVkBsTzFaDlRztTXeE8eK+nDVPrQ3g5BKHzsdGTj.iFD5CmVl.Kigohi0NRfgPm.9jbWte8O+16M34TWgW4J99A0jhaB6BHRrf6Sh11gcKCR68yfTimQm8NpR8jLuwjE3t3TU90EfeEh8LzP7syPLFOc77M4Vk+xr.+VWMHGGA+TBvbzXdv.UIuIkNbC9sAOmbArjGErIXuX6SgUxKRmy4PPHWVZ1Q2AyNfyEdxnypERu+fobd3HFQpFb0OjEdjXX9xkwfP+XFlDK3A4XIsRqs.BOgHHHie.+nidn7yxOU88iGJ+5v4+2PeoL5MO.o0d5vcuTKYgISYSeKODICwE9S2.P7cwooMu4jE5N3Ej2FRZ1nRs40D6sUASKcgVaIredc4+0Rss2Hr1RsOHSY9dXUNiz4ER0iO.mmCw7TfAQWNWY0Bt+99NwP3dOwvbGgDBmGQXwg7XvR+j2RV+pU9EIrpKOiUkUoddikOOKcegbl80S0KcnpbXR5JmzrTCbAYVtZaP9ZbmG6HerJcWkT2I9wPZbk149GZr6qy9qIQtaWrngsGVcpBs0WSV3a8+SRcU0w5s65X5sgzMGiY8uNR1moOWxIuwokjDeQN2pwYy3LdnGmQq3AbFHSrrZETwwp1GzSDB4n25cTbF3CxlGJY8IClRY.IRpmfFpKr1ecwtrWeLNCtlpjCluaLAb62gl.95HBUl+7lik9ivxb58MSM2lu4s2a0lAt11LZsqI52tMiJSzm1rvq++ZvUdG5sxf1UqLFWpUl.hSD+ExhshHtuJUyAobjZLV5e0XW7LEsoE5BheR5nf8dXOTfrf0KbbTQCelTyV+d52f8bXC1yQMXOedC1yiZvd9hFrmubm6Q0qvSRjSolE4HYrXT17oFEy4J6Y8e3jtzy.
-
Unless I'm doing it wrong:
Scriptnode 101: if modulating sounds bad, put it in a frame block (or fix8, fix16, whatever works).