Scripnode 101
-
@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: -
@matt_sf said in Scripnode 101:
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.
Can you give some more info on this? I've already created a network in HISE. Do I need to open this network in workbench and export a .dll? How do I do this? I don't see that option:
Is it this one:?
if so, that just makes Workbench crash
-
@dustbro said in Scripnode 101:
Is it this one:?
Yes.
@dustbro said in Scripnode 101:
if so, that just makes Workbench crash
@crd Has been having the same issue. Did you compile the latest version of the Workbench?
-
@d-healey said in Scripnode 101:
Did you compile the latest version of the Workbench?
I'm using the version from Nov29
Lemme see if there's an update -
-
@d-healey yes
-
@dustbro the last develop build fixed the crash for me when compiling wrapped nodes.
-
@crd said in Scripnode 101:
last develop build
I just compiled the latest develop branch. Workbench is still crashing when I Compile DSP networks