Adventures in ScriptNode - compiling nodes (part 2)
-
OK so I have the same "network" deployed a number of times in my project like this:
-- see those components called "BitRed_" or "Dirt_"
In each case they are duplications of the same network ("BitRed01" and "DirtModule" in these cases...)
So we come to(wards) compilation, do I need to set "Allow Compilation" on each network separately? Or will HISE work it out somehow?
-
@Lindon You only need one copy of the network (XML), compile it to DLL, then load it into multiple hardcoded fx modules.
-
@d-healey yeah-- i keep hearing this term without and documentation or even explanation
"hardcoded fx modules"
-- i fact Im stilll very confused...every time I try to compile one of these networks it seems to make a DDL called .dll so I cant see how I get multiple different compiled networks into my project
-
@Lindon I think I should make a video :)
When you compile your network, every single XML in your project that had allow compilation enabled will be compiled into a single DLL. Then you restart HISE and add a hardcoded fx module to your module tree and your network should be available from within it's drop down.
The hardcoded fx is basically a slot effect for compiled script node effects.
-
@d-healey - yeah but really really no, no no...
First this sort of runs contrary to your first post, but even then....
look at the image I posted above. I'm using a network called DirtModule, and I'm using it in 4 different places (basically each "listening" on a stereo pair 1&2, 3&4, 5&6, 7&8)....then I'm using a network called "distortionModule" and again its used 4 times, (again to "listen" to the channel I want it to be (optionally enabled) on).
So perhaps your approach makes sense to you but what you said doesnt make sense to me - t-shirt time perhaps...
oh hang on - perhaps its this:
lets say I make the first Dirt module "Allow Compile" and the first "Distortion" module "Allow Compile.
Then I run the compile, it makes a single DLL - but this DDL Contains both my networks, and I get to load them with the HardCodedmasterFX
-- is that it?
-
@Lindon I'll try to find a bit of time to make a video this evening, can you send me a couple of your networks or a snippet to demonstrate with?
-
@Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.
That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.
-
@Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):
@Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.
That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.
-- yeah merging them is one approach but then I need to have everybody in separate soft-bypass containers, and have separate bypass params for each - so the number of params gets out of control pretty quickly...
-
@Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):
@Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.
That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.
so let me see if I get this right...from where I am above....
for a single bitcrusher module, and a single distortion module I set them to Allow Compile...
I run the compile to get a DLL,
then I go round replacing each ScriptNodeFX with a HardCodedMasterFX, and select my required network from the drop down list?
-
@d-healey said in Adventures in ScriptNode - compiling nodes (part 2):
@Lindon I'll try to find a bit of time to make a video this evening, can you send me a couple of your networks or a snippet to demonstrate with?
-- sent you a snippet....
-
@Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):
That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.
@Christoph-Hart In your opinion, what would be the best way to do it : one FX per band as you said or only one FX with an insane amount of parameters ? (because why not ?)
-
@Matt_SF cpu wise it might be a bit more efficient to have them all in one FX but from a development perspective I would choose the layout with the least amount of redudancy which would be the one FX per band approach.
-
@Christoph-Hart noted
thank you!
-
This post is deleted! -
@Lindon I've just put a video up on Patreon https://www.patreon.com/posts/how-to-compile-72159610?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator
-
Great video. Just a minor remark: you don't have to press Escape anymore to get to the root properties, I've tucked them under the node-specific properties so they should be accessible when a node is selected too - it was super-bad UX having to press escape so that the green thing goes away...)
-
@Christoph-Hart Aha that's good to know! I will cut that part out before making the public video.
-
@d-healey said in Adventures in ScriptNode - compiling nodes (part 2):
@Lindon I've just put a video up on Patreon https://www.patreon.com/posts/how-to-compile-72159610?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator
yep - great video. Well done. Thanks...