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 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)