Scriptnode DSP Compilation help (again!)
-
@crd Are there any other dsp networks in your dspnetwork folder?
I'm able to compile the math.expr node here. -
@dustbro I've been trying in a fresh project.
I will start a new thread so I don't high jack this one any further.
-
@crd feel free to hijack the thread! It's all totally relevant anyway.
So when I 'Wrap into DSP Network' I get a copy of the Script FX (see image). Is that right?
Also the box in this picture 'Create an Embedded Network' - What does that do that's different to starting a new one?
-
@danh I get the same duplication. I'm not sure if it's intentional.
Embedded puts the scriptnode dsp in the project itself rather than create a network file that you can share between projects ? I think it's intended for prototyping. That's my best guess. :)
In the latest build it seems like things that didn't need to previously be compiled like timers now need to be compiled... I'm pretty frustrated. My project used to export fine but now no luck.
-
@crd yes the whole thing is super frustrating :face_with_tears_of_joy: It can add so much to a plugin but take so much of your life !
-
@danh I mean I just rebuilt my script fx from scratch, wrapped it into a DSP Network, unloaded it, tried to reload it from the menu and..... crash!
Try to re-open project... crash!!
-
@danh I am having so many crashes it's hard to pinpoint what's what. Sometimes I can wrap and then open the compile dialog (which then fails in terminal). Othertimes after I've wrapped a node then project then crashes immediately when choosing compile all dsp. Previously I worked around this by just removing everything that needed to be compiled but now it seems like more things need to be compiled in order to export vsts.
@Christoph-Hart any ideas about what's going on?
-
@crd I'm going to test with more basic patches - I saw you choose CI in the Build Config option when trying to compile the dll - is that preferable to Release?
-
@danh I have no idea. I've been trying both "cl" and "release". cl is what I choose when building Hise from the source code... Maybe that is where I am going wrong ?
-
@crd well I made the most basic fx I cld, stuck a chorus in the main container and managed to wrap into DSP network and compile to dll..... but.... how can you tell if HISE is using the dll? It looks the same to me now that I have reopened the project?!
-
@danh in Hise (not the workbench) under tools there is a show project dsp dll option that will tell if it is using the dll file.
-
@crd thanks, I still can't tell lol!!!
I couldn't find a dll anywhere in the DSP Network folder in the project folder
-
@danh I think that means you are using the dll you created.
-
@crd ok thanks! Any idea what the 'InitError' is about?!
I also managed to export the standalone of the project too which is good....
Perhaps there's something weird about my script fx, but I did manage to compile it to dll a few weeks back
-
@danh well I exported a standalone but the standalone crashes instantly so....
-
@DanH @danh Coming back to this. Again I created a new project, made a script fx with only a math.mul inside. I exported the project as a standalone to test and it worked.
Then I wrapped the node in a DSP network, and exported as a standalone again. This time I get an instant crash when trying to open the standalone, exactly like I did before when compiling to a dll. I didn't test the standalone at this stage before however. My crash report and snippet below. @Christoph-Hart I know some people are having success with using dlls in exported plugins, so is this just me, my machine or something else?
HiseSnippet 1584.3oc2X0sTaaDEdkgkFbRZa5jLsWpISufLCkwx3fwsWDCX6DOACdvDRtoS5h7Z6cPZWUo0.tYRaurOF8QnOB8QnOB4QnuAsmcWIKIhCCwSaZR4hDNmyt64+uyQzMT3RihDgHqkObR.EYcCbuIb4ncFQXbT6FHKLNZv4nsmDPhhn8QVVK7PkHqkWDo+4Oev1DOB2klxBgNRvbo6x7YxTtcq+XlmWKRe5gL+LmtR81tB9NBOwXvLV.WBEPbOgLjtGQcrBXj0RM6yjhvdRhjFgrVbaQ+I8FINiaN+QrH1wdTEgCpG7PF1sDd8UVrhKZmQLu9cSb2HD3XcSc9ELN+swcX8YS4mFD9Ts.6zajMdXUHu4sPNyyIq4UJi4MCSxJiIsnwjtEtmaHKPlJQYOWG2lKogCHPXOqoXNKx52w6HfCvkq4SNg1JDHldgU1nToUsg+4deyfwbWISvsE78DR597UtWwWTb4hurn8EEMXvLkoTSnvyiFNSwpLc3kcwU3i8OlFtp8oDuwzoGDb+7wT7aNllMk6Z75LGTvayYx8Cn72Tg.JNToh+wVEbToN5+wwQ+sGKkBNhAA4kwFBGj1jyV0idR6FDII4gf2DzS.MTxTtfUC5oPWgIstLtAM5DoH.T0NB+.AWYAVXiZuYrZ2kbL0Sq0qg0+tC57oJ76No9joDuhUWROWlzthx7l2PFWaadyVdBhjwGdHCBepm9SvYYkUCnFYzvuJqG6TFOnH9wzIGKHg8QGOLo68F3Jk2rR0Mps9lkPLI0OQv0wUte4ZaVYy0cxvur4F0pTaipkqcejxExBDnilE9VK7KJZaeWPeOk0WN5tessSk0JsphWCVTfGYx9tRxoz8z0Rf3ADuHpV9thyfqArpoIeDyP4TtpldmwQRg+CCIAiXtQ4tYC5.xXO4VAATRnBeCjJCGaDtsG.QAO0APbS.BJs1F0z+r4lkpVqTUG8oNTLbnGsinOM2KqfR.nENm5oLEMumDQOh5BE7YrkoZCD1xiH6Im3cgWpayjjvE4CMNgxTsTNgeSd+L5dihuDclJllVH8S0GQYCGkBb+yGUOa4zRWgNizRne66yVj9i0CRZ7Z2WOqQ+F1sdlC.5GB38.FUac4tAUClZ7ZHh.Vrn+XHdjGfVMUJV.fvjCUTA8wiXxIYmZ8OFp8U0DuEtKS5NZ11XgYXi.Nx+F1X7rtahaNX.TxkZfKha8r2cC1JlfG8LsxyUKLqQZ+BNc7QPHEJWnGJ5B89qDQ7C7nPqHcU6i8Dtmzi8CzWelSbo21pSrhqoGHZdFMszUNp3b4IkCDiUvtcHxPFzxfA7qd.1mKMtCUM2ypfZBkgtjhVUWzix6qI9K3mXgNJZqXgNIBSGtg1iJOSDdhNcD+6PxvD6izA4mO3bGzVddhyT86r3pTsen41U3MIXjfybUIFyYRr0s7Ei0SvzFrUg8.TOfpEQApMoKQAwbKrZ9LTtQCWycZYWNsml4UwL0ijLOv34fR80vPp0BWPI23OFsY1W0erGJmdKh8g+eME+2p2uP2DLISMbBED15v3GYF+iwkVqDpC47ozN.sxR9HrgUrfaCGrbUmpkV2obEyzhZ5FyjMD.hL5KmDcCjhBfGJXBZsiNRI0k3kn.HxusPbhOQmjmqkQxhSbGivqieJLZU+QAZu5NZ5AhPe6GRgLoBjy4R99f+3p98AAW4uOvLs+PXpbTfHBVYIyKeAYkyJqAUNlm+3FV4Nkx8ZAtWlycs5ILKmkYWBO2iAz4doNrL6R8pGzjS.bgdTva5uejK3rpXW1YRcGCSv0633j8horKmk8ifw9PdwM2DiEtrOUxYN+Tokdu6Sk9.XufbC8VNwF6wTCqZxOk5AciZa7yvw6ZlvMe6TGAWjf5llnOfBCMFNjlq9YlNzVRIrrZJmaW+.pGkDkoE6KquK.JSB6ngQmqXgya8B.yLe8EXi4Zqv.r+vcetE9e89bW8tO.B786r3miAn3x15To8+M4x2EqA9tPG9D2PwycMaOqZ5ullC32b8eIukwcTz1S+KmXVcxGFW7bWWU85WASel8cJOG2Y843NUli6b+43NaLG2o5bbmMuz6nlTu0Xov2TyCL51TuznkkYYEc4O5uw4Ed9X
Crashed Thread: 0 JUCE Message Thread Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [9077] VM Regions Near 0: --> __TEXT 000000010ed61000-0000000110c23000 [ 30.8M] r-x/rwx SM=COW /Users/USER/Documents/*/BASICSFX_TEST Debug.app/Contents/MacOS/BASICSFX_TEST Debug Thread 0 Crashed:: JUCE Message Thread Dispatch queue: com.apple.main-thread 0 com.myCompany.product 0x000000010f94b7e6 scriptnode::DspNetwork::reset() + 166 (DspNetwork.cpp:427) 1 com.myCompany.product 0x000000010fb4407d hise::JavascriptMasterEffect::setBypassed(bool, juce::NotificationType) + 125 (ScriptProcessorModules.cpp:814) 2 com.myCompany.product 0x000000010fb2f3b2 hise::ProcessorWithScriptingContent::controlCallback(hise::ScriptingApi::Content::ScriptComponent*, juce::var) + 1378 (ScriptProcessor.cpp:149) 3 com.myCompany.product 0x000000010fb2ed37 hise::ProcessorWithScriptingContent::setControlValue(int, float) + 1047 (ScriptProcessor.cpp:84) 4 com.myCompany.product 0x000000010fb5d5fc hise::ScriptBaseMidiProcessor::setInternalAttribute(int, float) + 44 (ScriptProcessor.h:212) 5 com.myCompany.product 0x000000010ede23b0 hise::Processor::setAttribute(int, float, juce::NotificationType) + 48 (Processor.h:346) 6 com.myCompany.product 0x000000010f7816d8 hise::ScriptingApi::Content::restoreAllControlsFromPreset(juce::ValueTree const&) + 3096 (ScriptingApiContent.cpp:4755) 7 com.myCompany.product 0x000000010fb34dbf hise::JavascriptProcessor::compileInternal() + 2175 (ScriptProcessor.cpp:944) 8 com.myCompany.product 0x000000010fb83528 hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2::operator()(hise::Processor*) const + 200 (ScriptProcessor.cpp:979) 9 com.myCompany.product 0x000000010fb83442 decltype(std::__1::forward<hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2&>(fp)(std::__1::forward<hise::Processor*>(fp0))) std::__1::__invoke<hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2&, hise::Processor*>(hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2&&&, hise::Processor*&&) + 50 (type_traits:4339) 10 com.myCompany.product 0x000000010fb833d2 hise::SafeFunctionCall::Status std::__1::__invoke_void_return_wrapper<hise::SafeFunctionCall::Status>::__call<hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2&, hise::Processor*>(hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2&&&, hise::Processor*&&) + 50 (__functional_base:318) 11 com.myCompany.product 0x000000010fb823b9 std::__1::__function::__func<hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2, std::__1::allocator<hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&)::$_2>, hise::SafeFunctionCall::Status (hise::Processor*)>::operator()(hise::Processor*&&) + 57 (functional:1562) 12 com.myCompany.product 0x000000010ef8dc25 std::__1::function<hise::SafeFunctionCall::Status (hise::Processor*)>::operator()(hise::Processor*) const + 85 (functional:1913) 13 com.myCompany.product 0x000000010efa798d hise::MainController::KillStateHandler::killVoicesAndCall(hise::Processor*, std::__1::function<hise::SafeFunctionCall::Status (hise::Processor*)> const&, hise::MainController::KillStateHandler::TargetThread) + 189 (KillStateHandler.cpp:408) 14 com.myCompany.product 0x000000010fb341c5 hise::JavascriptProcessor::compileScript(std::__1::function<void (hise::JavascriptProcessor::SnippetResult const&)> const&) + 341 (ScriptProcessor.cpp:1001) 15 com.myCompany.product 0x000000010f14f813 hise::ModulatorSynthChain::compileAllScripts() + 339 (ModulatorSynthChain.cpp:191) 16 com.myCompany.product 0x000000010f23565e hise::FrontendProcessor::createPreset(juce::ValueTree const&) + 462 (FrontEndProcessor.cpp:396) 17 com.myCompany.product 0x000000010f234f5a hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) + 3002 (FrontEndProcessor.cpp:336) 18 com.myCompany.product 0x000000010f233729 hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) + 137 (FrontEndProcessor.cpp:345) 19 com.myCompany.product 0x000000010f232d93 hise::FrontendFactory::createPluginWithAudioFiles(juce::AudioDeviceManager*, juce::AudioProcessorPlayer*) + 739 (FrontEndProcessor.cpp:64) 20 com.myCompany.product 0x000000010ed6b090 hise::StandaloneProcessor::createProcessor() + 64 (Plugin.cpp:22) 21 com.myCompany.product 0x000000010f012464 hise::StandaloneProcessor::StandaloneProcessor() + 276 (StandaloneProcessor.cpp:144) 22 com.myCompany.product 0x000000010f0128c5 hise::StandaloneProcessor::StandaloneProcessor() + 21 (StandaloneProcessor.cpp:166) 23 com.myCompany.product 0x000000010f237630 hise::FrontendStandaloneApplication::AudioWrapper::init() + 64 (FrontEndProcessor.cpp:614) 24 com.myCompany.product 0x000000010f237a2b hise::FrontendStandaloneApplication::AudioWrapper::AudioWrapper() + 155 (FrontEndProcessor.cpp:674) 25 com.myCompany.product 0x000000010f237b85 hise::FrontendStandaloneApplication::AudioWrapper::AudioWrapper() + 21 (FrontEndProcessor.cpp:679) 26 com.myCompany.product 0x000000010f237de2 hise::FrontendStandaloneApplication::MainWindow::MainWindow(juce::String) + 146 (FrontEndProcessor.cpp:692) 27 com.myCompany.product 0x000000010f237ef5 hise::FrontendStandaloneApplication::MainWindow::MainWindow(juce::String) + 21 (FrontEndProcessor.cpp:698) 28 com.myCompany.product 0x000000010f23a3ed hise::FrontendStandaloneApplication::initialise(juce::String const&) + 93 (FrontEndProcessor.h:283) 29 com.myCompany.product 0x0000000110382049 juce::JUCEApplicationBase::initialiseApp() + 201 (juce_ApplicationBase.cpp:297) 30 com.myCompany.product 0x00000001105950b5 juce::JUCEApplication::initialiseApp() + 21 (juce_Application.cpp:92) 31 com.myCompany.product 0x0000000110381dbd juce::JUCEApplicationBase::main() + 301 (juce_ApplicationBase.cpp:256) 32 com.myCompany.product 0x0000000110381c2c juce::JUCEApplicationBase::main(int, char const**) + 60 (juce_ApplicationBase.cpp:242) 33 com.myCompany.product 0x000000010ed6b193 main + 51 (Plugin.cpp:24) 34 libdyld.dylib 0x00007fff6ed333d5 start + 1
-
@DanH Why are you wrapping the node? BTW you probably don't need to compile you network anyway, it's only really necessary for complicated networks that gain a significant efficiency boost by being compiled.
-
@d-healey I wrap the node because otherwise I can't compile it to dll (it won't appear in the list).
And yes I'm trying to reduce the cpu usage of a more complex network.