Scripnode 101
-
@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.
-
@dustbro Grab a reference to the network parameter and call it manually in a control callback.
HiseSnippet 1251.3ocuW0raabCDlqroRrZZPSQd.V3Sx.tFRsIoEvnvwV1JPHUNBQNB4lA8tTVDhK4hkTwVIn.8Ped5qPK5k9Jzq8MHW541YHWocksparPZ0AokCmY427y22tpWlNhaL5LRvFmLMkSBtGs+TkcTqQLghz4PRv8ocYFKOKza5fooLigGSBBV6YngfMVm39798NfIYpHdgIBYfVDw+NQhvVXs2SetPJayh4mHRJ48idZmHspkVpm.3YMZCRJKZL6b9wLzsJTRP0ihEVcVeKyxMfOGnim1ej9Bk2+ABi3LIGWzjzGtQdyjViDx3dyxUCgDrduhLeMel+PZWQrXt8hJvm41HrHhx0ffJ2DjZdKfTPIHstGROf1OJSjZK1AwymP6nfFxPFTpKCEuujfeg1RCNnr6jvFyamAKlGP8mznw1gvWas6vIpHqPqB0pi0V9KT02p16psQsuuV3U2Z3vktGdLYZojmszswta1MEXc0jjy3YaG9FlbBetiP5uXMs5GVMMxm0kbTq5nD1WjxyW2VKiwZEd806.j7xFb0q5bHyxvlRtMvuTdlUfvI3P9afoZeKZC5gbyXqNElquV+ClbzwSjL6hiSHuIeCndrPODaTJivNsLu5VLi03Fmw9Pg3Cn8D1nQKGiUVBFgJ0+EXLmY9oziFNjGYK.35z1udUogMt0zvZ4zP3LwC+d4KCa+5lKi.V42BnvrnwBy0YgwlzvuM7H04BEemnLNfuCMoGysWnyFWeSiKlSGdYyM2Z2Z0JhCiBhcmy41E8BszikAZh.mt9lyuzEOFggaaqytfkEmyyLmnm6ko9PlzvQeKcXOWoOCNuY5Fr3XzR8M6NE+cysCAQiFXLBkDxixbYmiQ5jTsBBsLW1gjA3R3QJQ08arqiiWCiB2NGgsXR4YfXec+8qj3TZFOkkwgLPxlV2vRRk7WB0vsCOSpiF2W7V90UXR8svCPOpGMhoTboYUDhp9QRbm7R8DqPcdWlMSbIIfd7jj9vi4h3sxQGXKnBpA4W2.Wi7p9bUraweAex2rItNHeyly1rP9xqZA4E.GqaB994ir8khXdFQ.iq2k5atDWNmSk+ge8O+88H4CmN1P90.WvO5WLIR1WJ0WzB57hbQBfB3r0SKmlNRqDQnIuGyRz8SzS.LlmsAUNVGCGd01rHnNOsGyNBkePobfqyy1IZNmegyFCa1aJ3KTvwjfYO9dBKPJg1UwzOpeErVI0bOgGWAxYU7mSGy.b2HljLvWb.vhmnuh3PLEckRAlBYArWil.+hLnaAFCpTFQjRvEg2rUjf6zUnFTpc49zkc4Ur8985a4oH0nre8GyuvC0xdhowcn9av0t06OwpgzwK6+OCqp92JovxGeXN3pCotYbE2QjM4i74Kymp5DOqAMGXnoYIK4.sdbByMluROuG8MW0CFZ924YWNaJX5rKL1on3QUpa+DQbrj2SCOY0kDyS9e1TpL8tG9SO6Od6OtWR4W8lPRXWVtbYlLbHpy.yYCExDCn5j1IAdUZRvmSekgGFyGxlHsglwv8AjzGyiOQ67++EopDVTl9zn7GOA0865r.5UJ265uA7mNf0gMmoNQoM1oAVhDmFEgO++KZRHKOlubEh4qVgXdzJDyiWgXdxJDyWuBw7M2XL3eAJWN.mNAC8NxwYBBNRwfGB5DxH+MrSKeD
-
-
@christoph-hart I think that works the same as I posted above.
I've added another node to your example. It seems that all nodes can only be controlled by control callbacks.HiseSnippet 1432.3oc0X0raaaDDdoroarZbfSQd.H7IY.WCI2zzBDTXE+iBDRkiPjiQtYrlbk0BQtKK2UwhInmZOzWgbqm6gdumZu0S8TeB5aPt2CsyrjRbokRhfPS.JOXvc1Y39MyNy2LxcSj9LkRlPbV+zzXFw4lt8RE5AGNfxEj1GQbtkaGpRyR7xDcPZLUoXADGmUdHJvY8UIlmWu+AzPpvmUHhPNSx8YeMOhqKj1s4i3ggsnArS4QVZe2ls8khCkgxQ.dVwsNIl5OjdI6DJpVEWhyZGGv0xjdZploHNqdfLHs2.4UhL8Oiq3WDxvEMH8fOTl3Vxv.DwnTxgC3gAcm32JB7U5VDEVIKJbG2N7.9T4EQiMMa3UXgc7voRY3sRI30vFd0sf2bfjiEjVMCR21smeBOVWrChmO1ss.tb5SgvtMTxzk37atGJAED5cinCYsRfESMn18pWeGO3Oae+9iD9ZtT3IEmH0rGKpsc0WVc8peaUuquU+9ycO7XRjggrj4tMdSm71LrlXTzErjc7dNMbDaphf6WNl59lio1W49YdskhRQaAW+3Xl3MkHPxCUP7uRNp.U0ln+sxi98B4ArDBGBxej6iDxKZPL.1NmmrvFu2bL9osOhpoXNPNb.HFyRzbz6cNh8bnfJKiXc2iXpgZYrAuQwRABdma8NQ7XHL572vYkhu7SvKJcJFCWyn.IhGDDx5JUb7NxpB+WAhf3d7WXP7KuyO+v+5Ee+9Q1j.DRDcrMmfZT+97wlp297vHkFvT6Hnnl37ItOUw7BX8oiB0dpgv2IjKFxBNUZzOdxcS6.Cujwc7Z8rF.uPBPI.ow3N2vsSpA1DqfvFuyHeAJaJalV.YQy+mELHyxU.rTxfQgTcYpKjuNeCzUr4KPRAA3ho1v8+L9rEEh21sKW6OX9XrxbvHVp9d.i4cA1v8398Y95B.tpaqm8gixuZ90Lbl3gW5VeNj8U9cGWf2SoANzDu.Ur2W4cr3RtfsqeBCv2Qp3SX5qjICqskxXy48G2Xqsue0pE1gVA1t6kLcYsPIcmT3UaqouZrGsPwzsjIWQSBxI.UmJmpkpVeZnhg5ZcXXEFbdS5QQCBPI01Jqhdqc7fFT0Qa3BnZfY22vnn+jJd69FFjbFtDFkwuV1F22zOoJZEtcNBOjFFdALjQsrumUiv3DFvxv.OHjlVSQihCYOAhg63cQnzeHV2Oa2r7hzCPMp4OfJDrP0xzzasENqpwaOo9IxQZt3xNTfpAo8OYTTOX7Je1g4nC6.TA6YkstNtFqq5wDAlE+C7juYCbsS9lMlroUaSmEny2T55Ya8kmbZpFxeGpExR8KxDIOHLTdEx0yyIIfR.irtxvz3ARA2GEkowDG8AQxQXigLu0oxIx.jiuE0Ghyoco5AH8CN1.TqyR10eZMeoyFMaxDpYAJ3XhLsb.R5REkv0UQ1Oxe4rhUq7rBdbEPmUI6bZqNC20mFRNKK3.fEOQUAhcQUq5dAvSlLRMfTxA1vs+3cmt0hiUmJ1HiXAaDlSVA8N6vEmU9Zaylcniulr5M6Y0ZDD7iu5U+x98FxtJCs18XxbmC35iXwfKLyW5AizxHnJHXZvHOFrga7.phcd.CJPKGF1DCC169AIRb2YiD+vetXQhleWzere137sRXeyHlvO85ghzqEJJAsJVPasrOTgjYgJgL6k1q2+ZP07L+KsY9blJeAyPuoJuLOyEGawJssq8DbV2+jq6H2rvQ168um.y7rPdR4juRNi8UH4.obXD0PosbC16XMSq66lSc7j76zIunJGJZhCo9AoqPD0OQdte9j.faeCiDn0fv7y4W2sCt1a5Ofx0s9t0wws4m66iiZ8oMHj4aydKgMe1RXycWBa97kvl6sD17EKgMe4a0F7+rQNGClsCB5drIk0w4XAEl2vvPR9W.jKz6uC
My prototype dsp network has about 100 parameters and I'm too lazy to write 100 callbacks :)