Scripnode 101
-
@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 :)
-
I guess a more direct question is: how do I bypass the oversampling from the Main Interface in this example?
HiseSnippet 1246.3ocuW0raaaDDdorV2Zk3.mhdnG0QG.WCoTmzBzCVVxVsBIVVHzUH2bWQtJZgH2kgbksXJJPA5k7FTja80n2xKPuz9Lz64MnclkThjxx+TA25CFb1Ylc+14muYUuPkCOJRERr13z3.Nw59T6XodTqQLgjz4Ph0CnGyhz7vpIK0LNfEEwcIVVq8M3BVaTlX96C62j4wjN7rkHj9JgC+4BegNa0dMdlvyqMykepvOm060niiR1R4ol.3YMZMR.yYL6U7tLzrRTh05G4JzpPaMSyi.aZpbisGotPlXeeQjXfGGEpSrgMJYYRqQBO2dytqQDhU4dY270Rt4eJ8XgqX95YQfsLJpl4Q9XfUoqCR0+W.IqbPpbBjdH01ITDnyzf34dzNRHgLjAg57PIwVh06osTfAR8t9rw71gfvbG19o0psSU3eO5qGNQ5nEJYUkrqRyOQt8ip7CU1nxOVo5hpFNbo5viIT44wCWpZL6FdcNtsbh+.d3NUOm4MgO2P35WLlt9sKl5jbqyYnR1QJzmDvSkaq7bwXE98ky.jzvFjKJkhPvTsIS7fzLgsmvkGRDvl7QzmIUCpSLfOeMOYQm2J04VJ+AplpoF2qPSxcmXu3N7g8IeWmCYZFVTjhI.mA7Ps.CGVGxOG5pRJQ1fdHOZrVE.mFr+AJIdCrt+MB6oDKp0eAGWL9we.e3Kbc838TQBLMg3wBgSvuz.5+CrEuo.F8YSmK91+rQzjgCE3dRq9sugDLKr1w0PoX.Q01urNzRGBcyP0Hp4dz1g7WOgKchI9JW9BqjmcYuFjbWu0ucA1LD9duFwyE99nFFzSsJARBM2GhpeB8HICppbqLumZIm3lom3yYC3doG2I1mkHdEG2O85FbndlYJYgZB9TMlYN4bdXDyOvSHeEPJdolef1Q4NwioKxEgjtoJvrTdB.rKWBYu374oEInJe0MS0x0LcCsJ2R39PZOg1YzxwaokfWr26+X7lR2uI8ngC4N5LvVl19kWK2d4aGOTFTts77URqpfyGARgFlkwv+VZFaZPHG5o3mp54wh21TPweAf2cpNvS4LFaauLEbZ+YSzhscFwjRtWzpvTu9czzOxKTSzPivwLcngFo6Dea3c.N7VonaV6ZpbMTFqWr4RWiveC+kprNJakpr9LkY76jtb8EpvwlzQ52PxHoAKIf2EniNkGoIG34ot.IBDoUvPdvrVOkWbvHkT3fKkXwLzdfuZBxZj.YqRcMjaz1LGHXE2ioGg8F3.Kn3iGtqStF7ENe7iYuIJ4FCGkugSBdQDFq6MiREmMTxZsbyJRp1PInGqTRsUmn9nVGlGoexfG.j3ojDMLHsbxK+Tynn3OdJo.3+rbfufUWObu6.2lzfQrH9YtbnruH11hNb5t40dCXpTdLQxEMQ.NSBFbdrP1O2jZJNT5X1z9EldCiBsKNs7We269s8sGyuHAjoq13m8+88SdMW1DuhaEItwASzJen0xPWV.ZWMNWewc8tG2WZ6LuSQxMrFQoOaIULs5GG2WLm06pdI.ooRM1mYZOWoWB8+BYhOyITclSB+Hdm+XyJPItz7yU1.9cSfb04OPjRqsaM7QVhybbvoMeNLoZ4973UvmuXE7YuUvmmrB97zUvmubE74qtVeveEWZCEVWBKz6HSwkkU5S+Phbx+.ioCEBB
-
@dustbro
HiseSnippet 1615.3ocuX0raabCDlqjnikRcZRQAZQOsvmjAbEjRSRKPPfkkrUqPhsEhbMxMWpcohX0tja1kJVJEAn.8RdCJxs7Zza8Enm5KPeDReBZGt+nkqjrpspi8gfPxYH+3Ley2vUc7EVzf.gOxn3wS7nHiOB2cBWNn4.BiiZuGx3Kv1iBj87El8l3QBBNpqIcLw0yghZDNA0FYXj+aU1aTr.J7u2uSChCgaQSmBgNQvrnOg4xjoy1o9iYNNsH1ziYtZVeu5ssD7lBGwH.a4wUQdDqgjmSOjnLKGFYr191LovuqjHoAHiBMD1S5NPbFOx9SXArd.HgA0PcgMJZ5VBGaEhUyhZNf4X2IIFDffcoSZDIeTD4SwGvrYSmOMxb6vELS8POdXjKK7xmAd0zgWUM3s.HYnAoBQP5N3tV9LOY5JJ7bSbatj52mXkM0DYKJ2eafaJ.K3xJtjgzV9vfodT9AUqtsI7Oa8vRkfPefz7kDeyHea8rZlOxLjXT44T4986Ssjk2LZQSX0MUdUhwcXbpY+QbKISvME7FwTF045KbJaIb8Db.AaC6tyH5Vk9oREY8MKGNx7QOxr1VEKUr3zisR.UtqT5y5MRRKmNczFuMX9CKUj5DPuLNotiuF.bRz.tRMS.V4MSv7lao1mXj2j33zCXfkm6NA6k1E9PgjdDub38pzqKYN6R86uv0h2KGp+BWVUa3uLGKyG41i5qGUUFBDlrrP74yB0KRrhBLZFJ3s4L4QdT94U5fhil.iMWLp.Skg70aEyW65vro9HFPKuA9wbQuZnP.qqRfl04aG6Ljh5IZHFG5dIbRZXtcnN56auGQRTkNwXBvoG0WxTg.i8nuDzghJjJh2iFLTJ7fSaJE.DA+Og83oG36bpOY5f5+XcWlssCsiHfoRQSWw6WqGHodcYuhpKS5RR2o27m0CF0uOClAiM+tWg7RBussCElmVtAhg9fNHT5pV4l3V9zWLhxslfbE1zYlQWW9d0QZWy0tXA3TD96520eHndH5wF4fQLI0EhteBdeNAXT1klp.sfSbi3S7IjdTm3i6ntmFM7bNte9E0o.WlDRWAtAcrTkgN5kT+.U6HF+4P6j4jJAQZg8HGhLqxspcU7BprjtboRRjCYuI54oYkyKbwjyWd2lKJbuCtCSZMXw3M2BvqpF7CLdiaNtANpYPJXKfa8rquNgkvIx6gGdlhjEzCz3M3T0SOeJTGQOVzwgLobHIh9T.iaa1yQXMTUpNujabMYCkEksFP3bn6ypnLu1ENpTaoQEzSEij.4+.BzvSUNd3H2tvqlrnMiQWRIZ73ppwJNRWJ2Nbv+.+EuXM0Xi3EqkrXp1N5Pp7Lg+vvzQ7+GRFQEUQA7CAInioARztNNhyTE+rXVKjGBmqivYh2.AmYolJxhDztqqXjRoHBxF4NLTPasVDKHXMoCQNPUOnZPADNpeEKsh5YNe0+I4EjQ2X3nbC0gf2Oph0cRjQU8ExkgzlWqmQDySMBpwxEwyZGbhZUKhC5jnFP.fUmnx77QnFqLcc739DU6iLWgaGdE.9Qk3UWNXy.sBYfVtYf1GqH.ZWrXzEEOQyX7ZJ4FZhMqieBDSI9HTpTywDe34QJdV2yThPSGajSeh3lsbZH8OH6P3bTWOUupMvAh9xSi9TBTG81XIcbfa4AL9IY6p+W6b.Y7Ly89c5NsiZAbk6i5NjdVTTV2HzpfyaoiyZWS.UKqonbIifWcL+4.4nkdNo1s3CSk8uANZClaq2cjT3B5R1SY0wj4YBKYnzelVUodR9Byry8+qnyHCNEIuKfd2wYw4mqgyLVcIJAux.5FXuAj.5o1TnGzrRD8GWQe0KA9xoiuKNuBqdg3b7J3coyvqd2ae6usyb7p5+h6erSzGhl97yY3VSpmkaoCsrCxDjz4SWsjt7WkjNsrUsq8j4ZyKR7AOYd94O.0ZPa1M5pm2M21sTc9bo8izSJcNuOqBM6kY83d.nKuxb3C5Vnl7bNsz6vMRtCSegQF3mHte025X+wvKmCBhBjPrtgPLzkD9lvU5SuuVdAqKwxWbZ7itTwx0CmARG7veQwh3CTiMm9KRfwUqTE95Ya1oVVp91eI7IQK1m6tB97UqfO2aE749qfOOXE74qWAe9lk5i5GWMtYghpASzY+PxkgQ7uwfRcD8u.ZSmJoA
Not sure why but
(value)
for the comboBox doesn't work with the xFader, probably because they go in steps of .5 or something /shrug -
@iamlamprey That's definitely one way to do it. The issue is I have about 10 areas that need oversampling (each containing 1-3 nodes). It might not be the most economical way to handle a dsp network that is already pushing 100 nodes.
What I really need is a way to access this parameter on the main interface: