Noob question about scriptnodes.
-
@lalalandsynth To remove a connection, right click on any modulator like the peak node or on a parameter, in the connection list you can delete it.
You can export chains containing nodes to create a reusable custom node (so inside scriptnode)
There's no "regular Hise" against scriptnode, it's a module you can turn in DSP, therefore it is part of the other module system and can be used as such in a project.
-
@ustk said in Noob question about scriptnodes.:
There's no "regular Hise" against scriptnode, it's a module you can turn in DSP, therefore it is part of the other module system and can be used as such in a project.
I dont fully understand that sentence . I meant , can I make modules in Scriptnodes that I can use in the HISE i am more familiar with , with the modules that are available there ?
I guess I a m not sure if the scriptnodes are a separate thing to be used on its own or if they are meant to be implemented with all the other modules. -
@lalalandsynth Let's take a real example then
This might be explained another way, but it is how I see thingsYou insert a ScriptFX module. In this ScriptFX, you create a DSP. This DSP uses Scriptnode to create a graph of your own FX.
Now, this ScriptFX becomes like all the other modules. You can access its parameters from your interface for instance.
In other words, you've just created a custom FX module.
So you see, it is part of Hise, like the other modules. But it's like the best module you can dream of :)
Same goes for synthesiser modules. -
@ustk Thanks mate, will do some more testing tomorrow, sounds very exciting .
-
Looking at this again , for some reason when using this snippet , it shows the interface designer but shows nothing int the DSP network , also when I just start fresh with initializing the DSP Network , when I add an interface ,the DSP network disappears ?
HiseSnippet 1619.3ocwX06iaTDEe1y2bD6DhRfHjnyJz3HcXY6b4KkBatymCVDewI6kiTQzlcGedzs6LK6tN24DRETveBITvGcHJnFnJRzRj.cUzEDUo6BEoflvLyN6mdy4EGH2VMe7dy626i48dy12gpibcoN.khqO1FATNBTcLwa3JC0vDP21.kiB6o45gbJ6uzxis0bcQF.EkBWhufRw4Ahu8ZtrloFQGEsD.rAEqitL1B6EsZ+Ve.1zrilAZcrULpWpUWcJYEpIcDCOEf0.1Z5aosIZMMNYyAAJKrpA1i5n5o4gbAJyuL0Xr5P51De52.6hukIhOoNPkcP9K2gZZvQLeUvJCwlF8CzaW.6T5GYEJ3aENArG1.Gtdj03XhMJGwQb6gxb6G7pOc3UKK3oDCdy6CuiCU0cv1dQ6vw1ggcILG0.MlKHNr7oEn7P3JTFADupVZag53vlDxPk5MN+hkaTq1ot3fQDcOLkTlRVi5gtBoxoJc2REKcuRkSu0fAYtGWLNTSSjSlay85N6GiUHirtExYwx2VybDJjPl5mz9d37Ye0805XDRIcIXuqXijyiGfDn0A6VCDprwWJRGiupP0xfrnklzACjdEdjnjbFodBG8QkNZUSrAxAfM3d4NNnOdDhnOFHrOxKPe8a+a+PKPNNfRvqVtilNyNlj+G7fh4h+Ef8nFnD7Jt8+B4c4QddThf2CA8CLyf6q2sslmFOdWZOX1HajiGl6oUZitMKQhezeQXaj6VdTagAyxlR3VOkijKS1N.EnBWji4CZvFXgMLLQ8otXdTXHl9oetEKsmsJ9NrCEBqUsNiRR7rUVZ6DN8y2sk6nACv7iGV98uCvhaiRHY6.edWCQZVAJK24F0Yo4bXY3X2D6lBrfXpWw73PSpcHg1Iv7oEe61Th4G8K7u2YBMLmXrH7pRAFGgu1zBYRht6yFDW90qVKuxWddwE9BSOlKo34Cxo3NJrC1jMVdNfISHeLNfFYp4krVAu.obCdnU7jx7LuDVH233WB9WT.oVtqukW3dbXerm9vrw6bYfW1c0+uwqrb7qCWcv.jtWDXmG14FyZs27Ckrp8VRFlvjOGHIhZxpp62AKuJYSLAUU2AwvVaW60PdaSc1pxIsFWnsZ+SdpnZf1NHVnGZcZeSswUb0rrMQWiw0hkukIUeK9ckIKbJCiWlSQE8gZDBxzcVpulp8pB4q9ZFtvqQG4gIa1SyyQjRbsQVprt5zQqHQG+F3b7Ze9yqEbiTEQLDSdN6StYc9bE4l0C1LprIPZOENL4X1Ht24PPeSLeCQB4h94sF2WyaHOjm2a.KlB4TUOL1pnjo5.FrSC3KyrwIVVo.+jC5Z0WKX4krDYkX8rJG+gXCtDgJKxnvON4ZLuKuggdtwqpvs28Cx9vO+47kfu1IThRbTVBxx7cSaJyejPmdC3.QxJ2pg6ePnFwuJzdLQyBqKSep7VA12pIRqpTHJ0y5ZNah7DIChLELwFNiIptjayZOvWB8vjMR1QwRs5osSx0X0nuLcajSpmirTqqaamdUFspg0lJN+W7.92O1TcKz1xJe7pnexSN2mZ8nl9MeGU1NTrC18u9ym7Q5s.4A2Aknii6f5zIwc.kIwc.sSG2+8W9sO6jO8WE3t.7pQ3sx2b+KduG+6MA42N23gSXmAMxzN23gYXmYzNc7FTdji2EDEUAojX7.koBY.XRHuWyrfL.jEj2qYbHe2S78W5OtymkBxOe7W0+MauqLzP0hR8FxRHFg6.1Nvvc3Z6ioVzk0DRDDqy7TWPmOl1rP5qE48RpZplRyFgaj9sOhGNPPhZctx2QHmxJSyyt00HQZy9un1tYLJ7CNbx6ZvR6w664J1gM.f77k9AcJnRL6SiFW3B0NCX0cXsN35JTVV5ZPZGQTK64MmyL3F3Og7kyMvSG8Ra9eUkIUX9O6Rmq94mp4WdWJuWpijrnUqoZ48e8vKkkWhv+ih8eUlqZZ19TOe6fyGb3o4CJACaaZV7CyMopsWyIUMd2eS5GdbpKA9A7OMC+vieA9gj0Elk+myqj2MXoo6Puot+Sg39nCIVg4lIh+ybQXO97x0C9IU7ze03+lH7M004O87cYuULadZLC7b5YfmklAdNyLvyYmAdN2Lvy42Wd3+x82ajG0x+2RvVn+phfKEkUIZrWjJRBA9Gbn72pA
-
Disappearing Scriptnode when I add interface even when I switch to ScriptFX in the script Editor
-
@lalalandsynth the dsp is a script as is the interface. When creating the interface, Hise just switch to display it in place of the dsp. On the top left combobox, you can choose what script is displayed, so you'll find the dsp in there
-
It does not matter what I select to display in the script editor , I can select either scriptFX or Interface and it will not show the ScriptFX.
-
@lalalandsynth not in the script but the combobox just above
-
@ustk not the combobox you can see in the gif ?
-
@lalalandsynth Nope, this one:
-
@ustk
Thanks , working now .-
I see I can Export as Base64 snippet ,can I use that to make my own little modules and then import them into an existing scriptnode , wondering if I can say make a filter config and then import that into a wet/dry Reverb config ?
-
If I am right about the snippet , how can I import it ?
3.What are the unusednodes that are left when I delete a node ? can I not remove it fully ?
4, What is the "create screenshot" for ?
-
Can I create another row of parameter controls ? At some point I run out of horizontal space :)
-
Can I make my own Meta nodes ?
-
-
-
I don't really know. Might be to import in a C++ context? No other idea...
-
...
-
I don't know what you mean by unused nodes... Maybe a screenshot, please?
-
Here's the corresponding code, but it seems to be broken (or there's a subtle subtlety...)
if (result == (int)MenuActions::CreateScreenShot) { auto mc = node->getScriptProcessor()->getMainController_(); auto docRepo = dynamic_cast<GlobalSettingManager*>(mc)->getSettingsObject().getSetting(HiseSettings::Documentation::DocRepository).toString(); if (docRepo.isNotEmpty()) { auto targetDirectory = File(docRepo).getChildFile("images/scriptnode/"); auto imageFile = targetDirectory.getChildFile(node->getId()).withFileExtension("png"); targetDirectory.createDirectory(); auto g = findParentComponentOfClass<DspNetworkGraph>(); auto imgBounds = g->getLocalArea(this, getLocalBounds()); auto img = g->createComponentSnapshot(imgBounds, true); PNGImageFormat pngFormat; FileOutputStream fos(imageFile); if (pngFormat.writeImageToStream(img, fos)) { PresetHandler::showMessageWindow("Screenshot added to repository", "The screenshot was saved at " + imageFile.getFullPathName()); } } }
-
I'd like that too but it's not possible at the moment. It would be a cool addition, I myself got around 120 knobs...
Having them automatically go to another line based on the graph's width would be cool. Also, having the possibility to re-arrange them on the fly would be an absolute killer! (even if it's possible by editing the XML...) Finger crossed @Christoph-Hart! -
Sure you can: https://docs.hise.audio/scriptnode/manual/cpp_generator.html#create-meta-nodes
Although keep in mind there will be a procedure to re-import previous patches...
https://forum.hise.audio/topic/2555/scriptnode-breaking-changes/3
-
-
Yes, I was aware of the CPP export , I was hoping you could make your own Meta nodes within HISE , would be nice to be able to save a Node config as a meta node and recall from the module selector.
-
Here is the Unused node list.
When I delete a node it appears there.
-
@lalalandsynth said in Noob question about scriptnodes.:
Yes, I was aware of the CPP export , I was hoping you could make your own Meta nodes within HISE , would be nice to be able to save a Node config as a meta node and recall from the module selector.
That's the purpose of the CPP class, unless I don't entirely grasp what you need...
Here is the Unused node list.
When I delete a node it appears there.Oh sorry, I don't use the node list...
-
Yes , but that needs a recompile, right ?
i mean just r-click "Save as meta" or something like that and then it appears in the module list , after all its just a compilation of node modules.I am aware of the cpu cost but in that case you could go the cpp route.
-
@lalalandsynth Yes you need to recompile so the custom node is made available on the list.
You can always copy the node in question with CMD+C (since you can't copy from right-click)
The copied node will appear at the top of the list so you can insert it in another project easily -
@ustk have you done it and does it work?
-
@lalalandsynth I confirm ;)