Scripnode 101
-
@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 :
-
Has anyone been able to compile a scriptnode network on Mac OS Mojave?
Tried here on Catalina : workbench is not crashing, wrapping is ok but it fails to compile the network.
-
@matt_sf Thanks... Yeah. It wraps then I get an instant crash when trying to compile it.
-
@crd I faced that kind of issues with some previous commit of the develop branch, but it can be anything... Are you using the latest version of develop ?
-
@matt_sf The build from the 27th. The latest is not building for me. I've been trying to narrow down what this could be for a couple weeks without much luck.
-
Are there any general rules to follow when using Oversampling in scriptnode? I wrapped a chain that contains send/receive nodes in 4X oversampling, and the receive node is complaining about sample rate mismatch.
-
@dustbro It happens a lot. Did you try to delete/re-create the node ? It should solve the problem.
-
@matt_sf ha! I've had to remove and add a bunch of stuff to get everything to behave. I ended up taking this node out of the oversampling container for a quick fix.
Do we have access to individual nodes via script? I can't seem to find a way to bypass the oversampling. . -
@dustbro to my knowledge, there is no way to acces individual nodes or bypass a container via script -except for the
container.bypass
-
Maybe with this? I don't see it in the docs so I'm unsure how to use it.
-
@dustbro I've never used these function... and won't be able to tell how they work But I guess, if you can do the bypass connection in the network graph, you can't do it by script...
-
@matt_sf I think I figured it out... snippit incoming shortly
-
I feel crippled using the new layout
How do I access the interface designer for a scripfx? -
@dustbro What I did is go to "View" > "Show custom workspace" and in the empty tab I displayed a "Script content". There you can select the interface designer for the scriptFx, like in the old days
-
@dustbro Click "onInit" and start adding components. You shouldn't use the interface designer for scripts that aren't the main interface, you should do it through scripting.
-
Thanks for all the help!
I've created a combo box in a script effect, but the parameter isn't available in the main interface. Only knobs that I create in the dsp network show up.I thought I was able to access these in the past?
-
@dustbro Any script processor that hosts a DSP network will forward the parameters by default to the network as this is what 99% of the use cases will require. If you don't want to do it, you need to call this method.
-
@christoph-hart I'm trying to bypass individual nodes in a network.
here's what I got.HiseSnippet 1206.3ocyW81aaTCF2WZuxxAA1D7Bd4o7pqRcUIisARSHZSRCDAMMZoTMIzzjiOmFq3y9jOm1FP6CDeM3SDeCfG66tdNzzptLXhnpp3m+9yOO94mcFojDZVlTg7pe5xTJx6S7GuTnm0cFlIPC5YDLYYJNKanLlh5X+JMF44s02arvq91H6m+765f4XAgVIBgNSxHzehkvzURGcvOx3793X5orDGqe5ACHRQWIWt.PyV9sPoXxb74zgXiY07Qd6bTLSKUi0XMMC4scGY7xwyjWJxs+LVFaBmZVzFMFBTt39RdrAwFontyX73Qk65LDDkQU0fsxqAeg+wrX10xqpEOzpHrxC25gWsUg2Vq.u1tvqkC7VCj7bfz14P5Q9iIJVptRiAOer+.glplhIq1ZxsE48G9ckfAB89I34z9JXw0ND87Vs1KD92tunQvzEBhlIEgRwPoldhHZ2feKndvaCB+mplNcs5LIRI4bpZspM8Z0c4XjXQxDpZuvKv7EzqMDJ.qVU8u8ppaSmjuucLTJFHX5SRoha6n.pnXY5.EnBLUaq+Orn92UlLQ1QdEhAE5F94EcqPjE3tCDnedPOrFWFNHxP1RoJMyrQ75Qu.lNxau086QylqkoVaSRkBCN79n6cxupJwwGrzcQBFz46UCVvzzDHyOv+j98CNYHJsbyOH1N3aSRX+WAEmadBDN6KiWvw5UGHLr.EJf94JmBMG0DYL8R2hx+ZSI2WH9H+QLMY15wXs0fQne8eAFK3VZ3ezzoThtBfa62+Ue3HRBJZyPNyY2c55qgBo1uWyOrjDIip+AJ67Y5n1FZifPXJKSCSrpv3rzvuM7Hw4LAcehhBHuWV5Pp9RoZdTypu2zP2zHv3fId8kpKwp3hwsrSkivJfuG3nxhlh4YTi4gMbS0Ii0xbjBY7Wdcg9Jo6mtHaVjI9mS0QMkW.wBmjxoO4pl6ZC28x11EFuRty8JelCxdYgAGGWNaF0LyV4bFNatW3yf+JhV.SvghjKE3M7njSjTRE3RKNUphjgLgy1X2PooXV1+hrFG931PO5suHHnDlvd7Zxk0gycMAoH2cwb9D3B3naGdPzgcT8FNz4oJZJVQg1HGuLJuT9R3rvdgS3Rx7wrekdy6.Jng5XrHhLCKDTd1lbUwN264l128X6KkKzLw4Gi0Jlg8b3hjwvyRHztEnqjQsXcKyZCywXpH1t3ufOEJaaV6Unrcox24Ka9b+azGVyUNESY1g+huCi94S5UCgnC4b4klyBrBNQXh2JajjuLclTvHFQ4VTtqOLQtvbqT9V2ql8Egd6zGSfh9xQX8LCaq4lWfZip1m37FRmbWwxX4uf9S0LetLSfKeHXdcE.Rh8FQyy.2xnOqBA9lT7o9tCunU.0W5.pUrxkv6dlTjCXs76kWnmy1ZVA2kTKeWOH6LiVBliNKuUAkNGP+Yq.51+eF0u2AniTNOAaOZ99+vncdGGTrOAxGx7xxubGOK5Cx3eBlnjugTbuGTJdfUBzxD1euSc+iMqCaWNj662Z+VnD32e7FBw7pgG2FgVuOOYC74q1.ed5F3yy1.ed9F3yWuA97M2oOle52gKzxjbFSPvnirGi87NRfgKVrCjn+FPE9LE.
What method would you suggest to connect this to the main interface?
-
@dustbro Ah I see. It seems that the parameters from the scripted UI do not show up in the interface designer when you want to connect them.
The solution: add a dummy parameter to the network, then the combobox will show up. HISE. No hacks required.
-
@christoph-hart got it! so... how do I use a combination of UI controls and regular callback scripts on a dsp network?
By calling setForwardControlsToParameters(false), the dsp parameters are no longer accessable. They appear as empty.Ultimately, I'm looking to use a combo box to bypass all of my oversampling on a dsp network.