Scripnode 101
-
@matt_sf did you get a .dll file after compilation? And do you get one when you compile an expr.node?
-
@matt_sf I get this message at the end of compilation, doesn't look quite right to me!
-
@danh I do get a dll file for both networks but only the one with expr.node seems to use the actual dll... Don't know why
-
@danh said in Scripnode 101:
@matt_sf I get this message at the end of compilation, doesn't look quite right to me!
Not quite right indeed :D
You should see something like this :
Did you "Allow compilation" of your network ?
(Deselect everything an press "P")
-
@matt_sf I haven't done that , no. Where do I access that menu?
-
@danh found it!
-
@matt_sf Ok I've jumped through a few more hoops...
I rebuilt the script fx and now I get this error when trying to compile:
❌ /Users/DANH/Documents/HISEPROJECTS/TEST copy/DspNetworks/Binaries/Source/Main.cpp:18:25: no member named 'CHORUSNEW' in namespace 'project' registerNode<project::CHORUSNEW>();
I named the script fx 'CHORUSNEW' but that hasn't made any difference. I can see the script fx properly referenced in my project XML file... Any ideas?
-
@danh Right, CHORUSNEW.h has finally appeared in the source folder... Now a bunch of new errors when trying to compile
❌ /Users/DANH/Documents/HISEPROJECTS/TEST copy/DspNetworks/Binaries/Source/CHORUSNEW.h:82:41: use of class template 'jdsp::jpanner' requires template arguments jdsp::jpanner,
Any ideas?!
-
@danh I won't be of any help on that matter... What I noticed is that once you start messing around with compiling, changing names/nodes, compiling again, etc... It messes up the whole project and produces errors even after cleaning the build directory...
At the moment it's like : do it right the first time or don't do it
What you can try is to export your network, create a new project folder and start anew... -
@matt_sf This is pretty much my experience! Will make it again and see!
-
- Could anyone explain to my what is the "playground" "snex" and all that jazz ?
- Can I build CPP withing the scriptnode to include/build in HISE for future use ?
- What is this DLL business I see in this thread ?
- Am I supposed to build scriptnode fx in the "playground/Snex" rather then within HISE ?
-
Could anyone explain to my what is the "playground" "snex" and all that jazz ?
https://docs.hise.audio/scriptnode/manual/snex.html
https://docs.hise.audio/scriptnode/index.html- Can I build CPP withing the scriptnode to include/build in HISE for future use ?
- What is this DLL business I see in this thread ?
You can (and probably should) export your node networks as a dynamic library (DLL on Windows) that will be compiled into your HISE project. This converts the scriptnode patch to C++/Assembly which will also improve efficiency.
- Am I supposed to build scriptnode fx in the "playground/Snex" rather then within HISE ?
You should use the SNEX Workbench.
-
@d-healey said in Scripnode 101:
You can (and probably should) export your node networks as a dynamic library (DLL on Windows) that will be compiled into your HISE project. This converts the scriptnode patch to C++/Assembly which will also improve efficiency.
Why , does it not end up the same when I export my plugin ? Not too concerned about performance while making it ...yet , anyways.
"You should use the SNEX Workbench."
So is SNEX Workbench meant for programming rather then a NODE environment ? -
Why , does it not end up the same when I export my plugin
No it has to be compiled separately first.
@lalalandsynth said in Scripnode 101:
So is SNEX Workbench meant for programming rather then a NODE environment ?
It's for both.
-
@d-healey said in Scripnode 101:
No it has to be compiled separately first.
Interesting, I was sure I read that it was the same in the end.
So what is the difference between making a dll and exporting as cpp ?
And what is the benefit of building an FX in SNEX Workbench rather then within Hise where I can make them In context ? -
This post is deleted! -
@lalalandsynth said in Scripnode 101:
what is the benefit of building an FX in SNEX Workbench rather then within Hise where I can make them In context ?
You can only compile the FX in the workbench. But like you I think it seems preferable to create the FX in a HISE project rather than the workbench, and then compile it when finished
-
@crd I don't think that's the case actually, I think you're better off compiling all scriptnode fx for better cpu usage.
"Be aware that this is another contender for worst CPU usage for a simple effect (if you compile it the CPU usage will drop significantly)."
-
@danh Got it. I guess I am confusing "wrapping" with compiling. Trying to compile anything for me right now crashes scriptnode_workbench for me...
Has anyone been able to compile a scriptnode network on Mac OS Mojave?
-
@lalalandsynth said in Scripnode 101:
So what is the difference between making a dll and exporting as cpp ?
In older versions of HISE you had to export as cpp and compile HISE again to include your network into you plugin. It's in the doc but it's outdated.
With latest versions you can compile a dll with the workbench, then just compile your plugin with HISE and the dll network will be embedded into your plugin.And what is the benefit of building an FX in SNEX Workbench rather then within Hise where I can make them In context ?
@christoph-hart said in Snex_node Needs to be wrapped into a compileable DSP Network:
Everything that is using the SNEX compiler in HISE must be compiled to a C++ class for the exported plugin (the JIT compiler is not included in the codebase of a exported plugin). This includes:
- list itemany SNEX node
- list itemany expression node (control.cable_expr and math.expr)
- list itemany expression in a parameter connection (the Expression property)
So if you use the SNEX compiler you must compile your network first with the workbench. Also if you're working on big projects it's "lighter" to use the workbench to design your network(s) : once created, they are available here :