Solved How do i display a scriptnode modulation on my UI via Slider/Knob
-
Hey there i am currently exploring scriptnodes modulator capabilities for the first time and wanted to ask if there is a way to get a scriptnode modulation visualized as a dial on my UI.
The sliderpack works well but i would prefer a dial for customization purposes.
HiseSnippet 1349.3ocuXszbiTCDViiUdXxtrgZKJN5CbHaQvkcHaHTb.mmfqEmL0ZuoxdJkxLxwBOizTyHmXCEUwQ9YwOI9G.cOZdl37xKKNWrTqt0W28W2sbrCUN7nHUHwZk9SC3DqUo8lJ0C2eHSHIcNfXQoS1ZaxdSCXQQbWhk0B+HJxZkpj3O+8OrGyiIc34aQHmpDN7eV3Kz46Z29MBOuiXt79B+Bmdq1cbTx8Udpw.LVf1jDvbFwtjeLCOVEJwZwCcEZUXOMSyiHVU2S4Ns2P00Ry4OUDItviiKZQ5AFxr8QJOWDw3tj8GJ7bsSc2HBXE6bmeAiy+RZWgqHa+7fvKhETOWihwCqJkg2BkfWqhvqYA3MCHYU.RUMPZMZOmPQfNWBhmOg1Qp4gCXPXuHTLmkX8Wz8UvAj5F9rQ7iBgEYJr9qa1bi5a1r4q99AikNZgRVWIOVo4mHW+U09sZqT62qU+lhFLXlxvqIT44wCmoXLSGdeJttbr+E7vMpeEyaLO6ff6WNlRu6XZwTtiwqKbPkriTnOIfKuKh.IITAw+JInBNpNN5+7jneOOgKOjHff7Rz2HUWzhDC3hbdRlxUMJ+YkT1FH0wF3Yz7MxLC0BsfKSyHVeJcmFMrGc1W0H9Cg7tNGfBfDbBTA3GvC0BLxXc.+JnXyvVVgd.OZjVED6K9AJI5XVK+fdyjLO4OFzdZta8ksiz7fdhekWrh2mkedxlsCRilc.KtLsqxs9QmAUwgPALP55DeO84.bvfTFpV5IDlJbeuuH9d+cb4WKb0Cwv5FPfcHWb4PMtxMtQzsJxdAp1XOltbMO1nKQ.PZKUngUSxHgdZwvx+YMBdrPbMpsP6Lb1XrxLvHxw+Hfwj1mOid3fAbGcN.qRgbwG+dkTy8WKgIA2Id4Yjgh.33w947JrwhUEvWR6a9mz7dTAgbfBy6qr8XSWOh4G3weKf5MpegmxYDVSb6FaIrw8vSrtyPlTx8hlm9eK9niSst+zzaUi0B4kcY5PATEQw..Lo0gueB5RiAIqal1LpGW5Fu3efOIBagqsRD1JUXdGTxwb80pvQwInjuCE5lrgux87ASH654otFaCHR3rFGhGFEuXIZyFveliYq7lFLTIENXtynTJv20WMVpSQ+Owh5yDdHuu23Hncu6IxdvgieXBx6NV4BeawiXNPXcpMCaOrFEGX.jUdXCmLRaFRy4MwrQH5am1SKxfZznoubwD0.L5G2cCe2xBnbLVjb6Tz70PyatsRf4kE.S1IJCgG60YU35Vk5fjwyAfGPtk2GxaTP7S51pl21oOK7RtNJYBkj6XxqwdM1V94T7Icad90gBH1QrKNYXY5oH0ukYzfGeR5rtCDQAPk2digdJlJ9R6.q6Hc4SvlLeMncgTC.2rUv26JjmlLkE4VjtrIIqWj1ZGXidYi3nzVvZLrkNv5zxi4+h1j6xzstoo29NL8pzti8zh.OAXiL02BjRdbv1XpYY5mQ200supm3RIyiTR8OXauJ8cAvCT3cQtUoS+nM8l2goqAOmEXlhq32Dy4OzobFtjj3YA3JXRWECT6DcJJ0IOJ.cIJTUbCFYo5hOOtPDZN2nzYdZEG2fLWblSokHhMzXiUNDFG3B+rkCxeJ3ubVv2k9TvRr7JEh6UenTpoyVRs1ti0JeHWF+NAxbZlMuuj0LZN7gm.2SoF4yhGuLWOJ9+kgg9LmP04ITHz4VNdGf1Hi+AsqP6hqqOieBgO7iLO2worotkhaNuJ9MyqhaMuJ954UwsmWE+14UwcdXEw+G.IUN37MfjaenoN05PICdNV7KLI+KX.CrxC
Since a dial can be easily customized with laf or filmstrips i think this might be the best way, any ideas? :)
-
i just got it to work!
The problem was that i compiled my scriptnode as dll.
Also, saving the node will make it impossible to build the vst without manually compiling.
So dont save Scriptnodes that contain global cables.
Dont use Hardcoded MasterFX on nodes that use global cables :)
-
I had the clocked ramp in my first example, this one moves without pressing play
HiseSnippet 1352.3ocuW0raabCDlqsnisyOMoHnm0gdvAHPPx0IME8PT7esBI1YQVWijSFz6RYwpcIWvkJ1pEEnGKPOzy4VeM5s7.zGlBzGf1Y39G2HamD0lHewjblgeyLeyLb80pPdVlRS7V4foobh20nASklQaMhIjjAaS7nzy139jMmlxxx3QDOuE+F7HuUZQr+9qGtIKlIC40aQHGpDg7mHRDl5c86+XQb7trH9AhDGo2n+fPkbKUrZB.iEocIorvwrS36yPwVfR7VZmHgQoCLLCOi30ZSUzzfQpSk4xenHSbbLGWziD.FJe6cUwQHhwcIaMRDG4W5tYDvJ90N+h4N+so6IhDU6WGDto8f10Z3FO7VnI7VrA754ButNv6bfjmCjZkCoaQCB0hTS8IHdtJcfzv0CYPX2EJ4xR7dMcKEHfzzIgMluqFVTovZ2qa261d8tcuyWObhLzHTx1J49JC+ox0typ+3pqr5OsZ627ngCO2yvqQqhi45y8XLSquLEWSNI4Xt9tseIKdBuRPv8aFSoWbL0MkGl60NBpjCjBySS4xKhHPJBUP7egBTAhZrQ+aTD8ChEQbMQ.A4qPerTcbOhEvtbdRkxsxU9SanrOPpsF35z5MpLC0CsPDyvHdeB8Ac1YhP8Ucr+Hjuav13APBt.p.7S4Zi.iLdayeITrkyVVgtMOarQkZ8kjTkDcLukeqdyYUdxOOr+zZ25y6mY3oAhef6Vwmvpkmrd+zxn4.vhKS2SE0d2mCUwZn.FHcCr2yAb.NXPpBUW48HL4beuvEeu3Bt7SEQlQUh8Zc+QbwIiLtJRlsX6ln5ShYll09XCuhC.xaiBNrpRlILScCO+u0P3cEh2h5KLgiNeLtv4fQjq+A.iEsQuNcmgC4glZ.1hB4jO78Lo42+pELJ3NwKuhT3Bf8mjTyuvFLdK.9RY+yegV2qJUyApL+.keLa5ZYrjzX9y.Te21GGqBGi0Fy1fqfUtIJwZgiXRIONad5Ctz6bbp2kmldlZhQHOYOlQKfpIJF.fItg7sJPWYLnXc2xlRAbYjcw+.+JNrGt1q3vdkGV2IkrO2bpRO1lfJ9enfOOajnhNZ3YjGEGqNEaGHJ3r4NDWmYWbEZ2Nve4h4qhmlNRIEgXtKWoRf+nD0DrcRN5+VV1ALQLx6CljAs8idpL.D19.Ej2suJB9uk1kEBg0o9LrMwsn3fCfrx0cBqHsUHsl2XYiPz2ur2VVNpQiV9Bl7nFfwDaWN78KKhmiwhhamhleUz742VCvbaGvTIQSH7tdcdNW2RT.xoMupqBWkl2wdPihiK29sbl+PH0ccNfoOgaxJFTI4g4oUqSicmuAEeY25GcpV.gNhu6.hkoGhL+d4SHh4mUNxaaQVJT3s4DnkRdAeicHX+sH9YkbvcfxnH3YeV0K4kNoKH5TsBBJ6IjG5LH+2e0q9iGtG6rCaLbu+u0On4TPqbAi4mlGNca9iw5qQ84ZgJx9PWGa82KQ9yesO4R.f82L..LavLigghuKD.Wk9DkJEZZnMjYL+Gg6eIXlogSlwJMxDDWZjsONtZJlQswvAYGhmFxhKMDTg6vneC5TCl8mYKhfFqcZHy6UYTq2fI5NunwRWNHZklbP74bc99mmV8btFrwEbRFspSFTr6mShfR6Aqy6JUTn7nIFUBDksy3IyoYVmzPRxaqx9+dBbSkZbByNZXtdX6GkAYIrPs5nBJD5bKa2AnMR6GktBcObc6y4y.RfOT7nvvllZFEWedU7KlWE2XdU7dyqh2edU7KmWEevaWQ763KpbvgS.I2em75TucjL3oT1Afj+EDX.dZB
-
Use the a global cable that's precisely what they are made for:
HiseSnippet 1507.3ocuX0sSabDEdVfgDbIoIUQQ8xUQ8BGIpqcBgFonp.XfDqTSrhcPMWQG1cr8HlclUyNFvsJR8x9rzK6SPunpOO8MH8blcs2cASB0oola7Lmelu4LemeLcL5.dRh1P7Vo23XNwaUZ2wJ6vlCYBEo0NDOJ8r02fr83XVRBOj34s3yPQdqrDw84ue51LISEvy2hPNPKB3euHRXy2syluPHk6wB48DQEzd8MaEnUM0R8H.FKRqShYAGyFv2mgps.k3s7tgBq1z0xr7Dh2RaqCG2cn9TUp9GHRDGI43hFjtfiR2dOsLDQLtKo4PgLryjqaBA7Rm7K+hoW96PaKBES2OOHbKm.+bKJFO7VnL7VrD7ZTDd0K.uY.IuBPZoTHcaZ2.iH1lKAwymQaorbSeFD1KBkTcIK7WdzlZPCksVD6X9dFXwTKp9n50Wy+A0qe+mToBD5Sr9mvL9Ch7+N+cUCDJdsAb6yj5iXxWoGYEpAsYJ3AwTErH2fHc3gf33QVvvAQnQMYvEs58xkbuRV7Bk9nFfxSvFZgNJVqfEUumSJZPkb6qY3CDI.vaxjxi.dQ09iTAVgVU8DlbD+9U94Jq3LrVB2d.tUlfm3+Meiu13e5P3U4DtoVsZUd6Z9akLVEru1J5KBXnefyahK80JPB+kppN2V4sU7Oun98moL7BYzRIFhlgXjvadeFVUMJ5HtYM+7KEpHvBJSsnWN0pHyOHM9VPQspkRXeYLWcY4CjrGEfFtPFp.UsNR3MyHgckhPtgH.t10ntnNwA3IIyU+w+7ojoFuTpweQIi6.ugNGbCZ9FmyM3mPlkQ79b5iq49zu2CezFMIjW2ZGT.v0yfKbEh4Fq.iNd6vOAp6jl3rBcGdxwVcr69jQx.b+AuQmMEF+R+MGmiouZy3IgqVf5Wm1VG5u2O.UqLPgJfh1x4jdb3rH.CFNk6R2WahXRwOwC6vMA.BfzHLTed7bkBR4Hi7lhH6MWBxNUDZGNUs+vr4PtXvPaQCIWrhysPyGIY1xE.wp9YB.paopNXkEUhvNtXWg+ypJdUg3socD1fgyFiKLCLhL8OAXLqWxMn61uOOvlCvknvaxm9FGzzyuRFiBNS7vmRJJBf8GEkyuvxKdK.2krlHd+JMuRUrgC7bdOcGIab0DVTrj+J.0q4ejTGbbWfgewxaYrxsQMpFLjoTbYx7TEb4qbbpw6+YZZ6LqQ.YSTL..icDvalgtIwfr00w0HSoKWE5V7N3SlvF3ZuLgMlHLuNJYet8Ts4X2CT12gD9zWCrEW+yHaIk5SwxAhLNa5EhaRbKtFsdM3uT05nkiiGpUh.7sK0nI.eqH8HrbRJ5eNKoGSHQde2QIPQ+vWp5BJ6lRC4c66JOs7dr.HrNtCCKSbaJ11.HqPuxfoj1oHMm23XiPzuyjBeIonFc5jw3RiZ.FibU4vg3VDkiwhrSmhtuB59zSqDXtSAvLUixP3pdbdENtUoAHY7P.3wjKb6M7ZED+u5zVJurSOlAlqIIqGkhGj9t5t0X44aRG3Fs5v.bXIRmxsObivj1gPxOaRytcDIwPh21ifRJoI7k1AV2RExOCqw70Py8BuL.ZmtB9dagJ8Df45QhUa1YYqWl13wvFcs7XLaFUnArFiZSZpcP4lze4ljKy0MNuq23Rb8pz1ijVQrT.9Xp4qCRIWMXm5pY45aP2JLrmtqXfhIIkL+i12qRecLLgBuMRsJo8U10O3RbcEXzdfXJNgedLmOoS4W3RRbsBvUPitERgZqjCPoA4QAnHQgjhyQHKkVbWpIsjYsR5TpIRgLiUV9298m+tKlK9APXg7jLDtJM+2.PHyH4pLG2qPT+Z4Q87N84Q97ITxi94508X9ooAfhZllDj5fK3lsFY0Q.WvMlwG+Cy1Z8wQLWWi4ZZ2+W5wEwBL5CCRaaiWtq61AdoUtez9Jz13Z+YLXeD7CoOLHnrqtfgOXdM7gyqgqOuF9n40vMlWC+140vG+gMD++bjwnwzQHyoytNRnm2tJL22kyS9G130.3.
Then you can attach a (asynchronous!) callback where you update your UI:
const var gm = Engine.getGlobalRoutingManager(); const var mod_output = gm.getCable("mod_output"); const var Knob1 = Content.getComponent("Knob1"); mod_output.registerCallback(function(value) { Knob1.setValue(value); // or whatever... }, AsyncNotification);
-
@Christoph-Hart thank you i have not used global cables yet i will have a look at this :)
-
mod values. @Christoph-Hart how can i solve this without getting rid of the global cable functionality in my vst?
(started replacing my global cable with a sliderpack to paint the values to my interface but i could not figure out on how to apply a filmstrip/dial to my slider receiving scriptnode values)
-
quick bump of this topic, i am still looking for the best way to draw my scriptnode modulation to a dial on the main UI.
@Christoph-Hart did that with global cables but it seems it looses this functionality when exporting?
HiseSnippet 1507.3ocuX0sSabDEdVfgDbIoIUQQ8xUQ8BGIpqcBgFonp.XfDqTSrhcPMWQG1cr8HlclUyNFvsJR8x9rzK6SPunpOO8MH8blcs2cASB0oola7Lmelu4LemeLcL5.dRh1P7Vo23XNwaUZ2wJ6vlCYBEo0NDOJ8r02fr83XVRBOj34s3yPQdqrDw84ue51LISEvy2hPNPKB3euHRXy2syluPHk6wB48DQEzd8MaEnUM0R8H.FKRqShYAGyFv2mgps.k3s7tgBq1z0xr7Dh2RaqCG2cn9TUp9GHRDGI43hFjtfiR2dOsLDQLtKo4PgLryjqaBA7Rm7K+hoW96PaKBES2OOHbKm.+bKJFO7VnL7VrD7ZTDd0K.uY.IuBPZoTHcaZ2.iH1lKAwymQaorbSeFD1KBkTcIK7WdzlZPCksVD6X9dFXwTKp9n50Wy+A0qe+mToBD5Sr9mvL9Ch7+N+cUCDJdsAb6yj5iXxWoGYEpAsYJ3AwTErH2fHc3gf33QVvvAQnQMYvEs58xkbuRV7Bk9nFfxSvFZgNJVqfEUumSJZPkb6qY3CDI.vaxjxi.dQ09iTAVgVU8DlbD+9U94Jq3LrVB2d.tUlfm3+Meiu13e5P3U4DtoVsZUd6Z9akLVEru1J5KBXnefyahK80JPB+kppN2V4sU7Oun98moL7BYzRIFhlgXjvadeFVUMJ5HtYM+7KEpHvBJSsnWN0pHyOHM9VPQspkRXeYLWcY4CjrGEfFtPFp.UsNR3MyHgckhPtgH.t10ntnNwA3IIyU+w+7ojoFuTpweQIi6.ugNGbCZ9FmyM3mPlkQ79b5iq49zu2CezFMIjW2ZGT.v0yfKbEh4Fq.iNd6vOAp6jl3rBcGdxwVcr69jQx.b+AuQmMEF+R+MGmiouZy3IgqVf5Wm1VG5u2O.UqLPgJfh1x4jdb3rH.CFNk6R2WahXRwOwC6vMA.BfzHLTed7bkBR4Hi7lhH6MWBxNUDZGNUs+vr4PtXvPaQCIWrhysPyGIY1xE.wp9YB.paopNXkEUhvNtXWg+ypJdUg3socD1fgyFiKLCLhL8OAXLqWxMn61uOOvlCvknvaxm9FGzzyuRFiBNS7vmRJJBf8GEkyuvxKdK.2krlHd+JMuRUrgC7bdOcGIab0DVTrj+J.0q4ejTGbbWfgewxaYrxsQMpFLjoTbYx7TEb4qbbpw6+YZZ6LqQ.YSTL..icDvalgtIwfr00w0HSoKWE5V7N3SlvF3ZuLgMlHLuNJYet8Ts4X2CT12gD9zWCrEW+yHaIk5SwxAhLNa5EhaRbKtFsdM3uT05nkiiGpUh.7sK0nI.eqH8HrbRJ5eNKoGSHQde2QIPQ+vWp5BJ6lRC4c66JOs7dr.HrNtCCKSbaJ11.HqPuxfoj1oHMm23XiPzuyjBeIonFc5jw3RiZ.FibU4vg3VDkiwhrSmhtuB59zSqDXtSAvLUixP3pdbdENtUoAHY7P.3wjKb6M7ZED+u5zVJurSOlAlqIIqGkhGj9t5t0X44aRG3Fs5v.bXIRmxsObivj1gPxOaRytcDIwPh21ifRJoI7k1AV2RExOCqw70Py8BuL.ZmtB9dagJ8Df45QhUa1YYqWl13wvFcs7XLaFUnArFiZSZpcP4lze4ljKy0MNuq23Rb8pz1ijVQrT.9Xp4qCRIWMXm5pY45aP2JLrmtqXfhIIkL+i12qRecLLgBuMRsJo8U10O3RbcEXzdfXJNgedLmOoS4W3RRbsBvUPitERgZqjCPoA4QAnHQgjhyQHKkVbWpIsjYsR5TpIRgLiUV9298m+tKlK9APXg7jLDtJM+2.PHyH4pLG2qPT+Z4Q87N84Q97ITxi94508X9ooAfhZllDj5fK3lsFY0Q.WvMlwG+Cy1Z8wQLWWi4ZZ2+W5wEwBL5CCRaaiWtq61AdoUtez9Jz13Z+YLXeD7CoOLHnrqtfgOXdM7gyqgqOuF9n40vMlWC+140vG+gMD++bjwnwzQHyoytNRnm2tJL22kyS9G130.3.
-
-
@Christoph-Hart i will try this one. I did the compilation with the old example you did
-
This post is deleted! -
@Christoph-Hart some progress the hardcoded master FX gives me this on compile at least the left one is working, thats just the display buffer of the compiled node. Global Cable is not working for me.
both worked well inside of HISE tho.
-
@Christoph-Hart Are there any steps/tricks that are crucial for making global cable work in a compiled vst? Everything seems to work with the compiked nodes inside of HISE but after the export its like the global cable just got ignored.
-
@Straticah are you using the latest develop? I've added support for global cables across the DLL boundary at the beginning of 2024.
-
@Christoph-Hart i am on 3.6.2 dev branch from April, i thought i have read that you added this functionality so i was quite confused when it did not work on my end. I also dont get a global cable error like on the old HISE build that did not support that functionality. I will redo the process a few times and see if something in my workflow might cause the error. Thank you for your time and help tho! :)
-
i just got it to work!
The problem was that i compiled my scriptnode as dll.
Also, saving the node will make it impossible to build the vst without manually compiling.
So dont save Scriptnodes that contain global cables.
Dont use Hardcoded MasterFX on nodes that use global cables :)
-
-
-