Adventures In ScriptNode - compiling SNEX nodes
-
So I'm having fun in Scriptnode - very useful, very powerful - great.
So I've built my first SNEX based node - I'm using the SNEX_shaper - and I've written my (simple) shaping code, and now its time to compile my test FX....
So trying to compile my project I run into the:
snex_shaper needs to be wrapped into a compilable DSP network
message.
Okay so I checked out the forum for this and found I need to wrap the snex node and then compile it, so I first wrap the snex_shaper node, and get something similar to the forum post from Christoph, then I save the network, restart HISE and there it is.. Next I do the compile:
Export-> Compile DSP Networks as DLL.... and a compile happens.
I close and reopen HISE and the project and there's my snex_shaper001 node with its little snowflake highlighted.
Okay I think I'm done, now I can compile my project:
Export->Export as FX plugin
..and I get this message:
snex_shaper001 needs to be wrapped into a compileable DSP network
So I'm doing something wrong I think, any ideas? - Oh I use this thing in 4 different version of the scriptFX - I checked they all seem to be using the snex_shaper001 node...
-
@Lindon I think there's a misunderstanding: If you're compiling the network that contains a SNEX node into the DLL, you won't need to wrap the SNEX node - this step is only necessary when you want to use that wrapped node in an otherwise uncompiled network.
The "wrap into DSP network" feature is only there for the very rare use case where you want to use that SNEX node in a non-compiled DSP network - which is why this function is so buggy :)
-
@Christoph-Hart -- okay - yes I dont understand -- I have a node (snex_shaper) and I now want to compile my project - but it tells me:
snex_shaper needs to be wrapped into a compileable DSP network
heres waht my scriptNode network looks like:
-- so what am I supposed to do?
-
@Lindon Just set the
AllowCompilation
flag of this network to true, export the DLL and then export the project. -
@Christoph-Hart thanks.
..and I should really do this for all my networks even those not using snex?
-
@Lindon Yes, unless they use certain things which prevent compilation:
- global cables
- modulator slots
- changes to the DSP network using the scripting API
I think there are a few more edge cases, but these are the most important ones. If none of them apply, then you should export the scriptnode network as dll and use the hardcoded modules instead, this bypasses the entire scriptnode data management with its additional data layer and API access.
-
@Christoph-Hart said in Adventures In ScriptNode - compiling SNEX nodes:
@Lindon Yes, unless they use certain things which prevent compilation:
- global cables
- modulator slots
- changes to the DSP network using the scripting API
I think there are a few more edge cases, but these are the most important ones. If none of them apply, then you should export the scriptnode network as dll and use the hardcoded modules instead, this bypasses the entire scriptnode data management with its additional data layer and API access.
Ok thanks - good guidance, in passing... what are "modulator slots" here?