Changing Impulses in Scriptnode.
-
@Matt_SF Have you figure out how to change impulses via script?
I found some scripts that work in the scriptFX script, but having roadblock changing them from the Interface script because the FX has an actie DSP network.const var irSLot = Engine.createAndRegisterAudioFile(0); // if you want to load an IR from a combobox, use this call: irSLot.loadFile("{PROJECT_FOLDER}MyFile.wav");
-
@dustbro errr it's been quite some time and I think I hit the same roadblock you're facing, aka how to access the scriptnode convo slot from the outside... At that time I think I used HISE's convoFx for my project
I won't be home before this evening, but I'll still take a look, see if I can help -
@dustbro got home and found a solution, but it's not perfect yet : it only works if you have only one convolution node in the graph :
HiseSnippet 1684.3oc2X80aSbDDeO6bAhoffJnpOUcJpOXjfnXfRqDpBm3XCtEmXEGRoBgh1b2Z6Uducud25j3RQBo9Bu0m4s9Qnu123KPkpT+hv2f1Y28Ne2gc9mUgBMQJJ6ryNyuc1Y9M6dsCEtjnHQHxZgsFEPPVejcmQbY+Z8wTNp4ZHqKX2BGIIgNFQqNJ.GEQ7PVVEumRf0Bygz+756tJlg4tjTQHz1BpK4ATepLUZ6peKkwZf8HaQ8yn8sp1zUvqIXhg.dJZuLJ.6N.2irNVoVAaj0708nRQXGIVRhPVyspvaTm9h84F82lFQ2kQTCpf5.FxHtgf4oPrRJpVeJyqcx9NBgrramFEJZhBW1tE0iNVdZz3h5IbRWQ13gUg7vqXN3UIK7VNC7lBjrx.o4LP5R1cbCoAxzYT34b1M4vgSWLD1yBEitnB+TA6ZBPCtbIe7.RiPXv3UT91Ku70bf+b06TpTcdOJmrDSf8VYnGUzfxHQfph1BAqrRC3vIR5rGNzwX8FOphyW6nSWVpGQpWUGre.iLFikWznpCn6hfMRMQMg+thUEGnLQBBAi.hCDbXP4EGqwhoNORadXIOdwm1dyM9l501ZmFa7f0pu4yngJeSprz938V7ZNG1723Xl+l54eB3QJmAADmtC4tRpf6nRMiQjBvgPTwMAsWC1SrgjqV5okVXbvYoHhTEEKaP8i0pb8JOA1NOCr+wtqUqO1S0vL1tPwP4IAwUuSFDttPR1fWViiROqjyaNU2tSctXSwHgScZUYZ3Qsvx7g96RByFETJB4t4KHrO7Bhr0qtlHSFEE7lbpbi.B+vphQwgSn3oPLp.Uk5RmKFW5jD5PTOUky3HIRC6LzVUQiMw7FSbkXSnSx+N7djthPesctncNYSZLjGVhQVel8QkQhBw7dDHNEBDk1VpkokTm6kLF8vlqorDTdGuWg8e.ITRUgVq0H6ATsFthErWiDMPJBzAi3bqw6kiMbbvXz6PpNZ7fW8np93CTvoHLhJI9feOickR2nzMUw+2zOmhXVpGe9iy3wm2sZPxYbSOcyowzIHSUUStG4fXdzIIMA5Zg2PFVlmCW03JdBHONGwohbjGQkix1X6eMh8SJDujcapzs+zwXgofQUZ+aALF2N771061k3JSA3b1Mdz6fde1F+WxNgTU67boAYAw5C8S6coRTK.am3VgVuvNk4JHjDfCIaIZyvih4m2D.90b1kIbGzg9ijIo6hSEWUoQY29XNmvhlEVw4OwgpJG8I0lhgRJuWKrLjpJLg8eG3xStjZwnKIFDOd4DtjNDtmdveC+DOYE0Xq3IqjLYJuJZchbeQ3.8YT7+C6EyARjNHuSWf8XEFSruhMfFm5BGLZYsErQA8EbpqRjQiDjthuXHWl.26ii1BSYpb8sIgQZibF6kWB9ExyWW3AAG6FXWHHNpMV1WUvnZZ.YmjvkbGmklCW4RT.SjbQSSDAfiul7RcMyhYXVMIjpQP4VAiUaFssZVWLCssgsGfsxllXiAeJUOicT.Ct66ghUyzyJzF6yB47oI.bLwm+KBGmWgh8Drg57hb.7J1coL3doQKkUkYNvnxtXjCRZXlgUH6HfGKt+gwf0g5UO3oB5kEW.zhxi2TFcZgOH2XTabH79DEz0ukHYDTZjtzTZ5zkm1doijDnnbxIa.YeS.JqTUPbdn8kjflvJnSsqq9KUOcttD7TIhGA3LQSX8iw8e+qlbmCTM4c+u9xW96S59W062tRUk6gq0.L0.g2o162p5Dd+E+0IayW8m8+i6ZpqtOs1PIZByfd6eled6VCYRpreHA6cT69DRg3BtyZ3Bp7dBYPdbd3CVUHF3i0sZloa8l8JLWvL44r6.6W8iU0sF9D8XG0UPctGAhDpKfU4H97F+4I8yaDbh+7Fa3JA2uEbQ+n.QT9BChOcK35zQYE9vH3A7jeXSUa0rxqIvgScpWe2FvlbpqoCVNLT2eNo0alqRV7n9LKUlwOyxbu28YV9.3AC4tM7BIXrCU0cqNeOBCpEzX7igj+tXfjHQZ9b4VBtH4tWoGzaRfKN1qGIOeyz1PqHkX2AoRtb0MILBNaR6mW8APxFNrkl9YlhEUN0eUrodd8o1F35nJ.c9v8gdE+e8C8dm75k2E9vG6FJ1w07nOUd5Y0Rf8MW+gqWvtkZry3OMjs5oLHefgaGWWUH95.g4zWyMlg0byYXM2ZFVyWLCq41yvZ9xYXMe0QtFUykUFJE9lRNPP65l67aUmigrWclN5e.OSrvS.
The trick seems to declare the scriptFx as an "AudioSampleProcessor".
I'll take more time later to see how to adress different convo nodesEdit : odd. When I load the snippet on my mac it doesn't recognize the ScriptFx as an audio processor, but i worked on my PC... I'll take a look at it again tomorrow
-
@Matt_SF Make sure you use the latest build, I think I've recently fixed stuff around this topic.
Oh, and there was indeed an issue with it only detecting the first slot, but this should be fixed now, so you can do
const var s = Synth.getAudioSampleProcessor("Script FX1"); const var first = s.getAudioFile(0); const var second = s.getAudioFile(1); second.loadFile("something");
-
@Christoph-Hart I do have the latest build on my PC but I may be a only few commits late on my mac. I'll try this tomorrow, thanks Christoph !
-
@Matt_SF You're guaranteed to be one commit behind the fix for multiple files, because I've just pushed it a few minutes ago :)
-
@Matt_SF @Christoph-Hart Thank you so much! This is exactly what I needed. :couple_with_heart_man_man:
-
@dustbro have you tried using the hardcoded master fx? For a static effect like this it‘s recommended for final product as it removes the scripting overhead.
-
@Christoph-Hart I have no idea what that even means
Is there a link to docs so I can read up on it? -
@dustbro Basically, it's the Effect Slot unit's custom network version.
You can select/swap your compiled custom dll networks with this unit and code them via script using the same API as with the older FX modules. -
@dustbro simply compile your scriptFx, add a hardcoded fx module and select your custom fx in the list, and voilà.
Very neat indeed -
sweet! I'm gonna check this out now
-
@Christoph-Hart Is there a version of this for poly effects or synths?
-
@d-healey poly effect yes. Synths no, but that‘s where the new SilentSynth comes in handy (actually it‘s exactly made for this purpose).
-
-
@d-healey a silent synth.
-
@Christoph-Hart It's so clear to me now that you've added a space :p
Do I add a hardcoded effect to the silent synth and load the network in there?
-
@d-healey yes. If you‘re using an envelope in your synth you‘ll have to enable HasTail before compiling, but this concept is still under construction...
-
@Christoph-Hart I can't seem to compile DSP that contains the convolution node. Issue reported on github scriptnode_testsuite
-
@dustbro latest develop? The Dorian Marko piano uses a convolution node in a compiled node so it definitely works (at least in my case). Are you using external slots?