HISE Logo Forum
    • Categories
    • Register
    • Login

    Value output from scriptnode

    Scheduled Pinned Locked Moved General Questions
    19 Posts 4 Posters 875 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      audiolyf @Christoph Hart
      last edited by

      @Christoph-Hart You're a legend man, thanks. Having a lot of fun with this. Have a great weekend!

      1 Reply Last reply Reply Quote 1
      • DanHD
        DanH @Christoph Hart
        last edited by

        @Christoph-Hart this is interesting, I was following the docs and using a timer to get the cable value and update any elements of my project - works fine but this seems a more efficient and accurate method. How can I get .setRangeWithSkew into these callbacks for use with Frequency etc?

        I've tried

        Knob1.setValue(value.setRangeWithSkew(20, 20000, 1000);
        
        Console.print(value);
        

        No errors but no activity either!

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

        DanHD 2 Replies Last reply Reply Quote 0
        • DanHD
          DanH @DanH
          last edited by

          Am I being super dumb about this?! 😆

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

          1 Reply Last reply Reply Quote 0
          • DanHD
            DanH @DanH
            last edited by DanH

            Ok a bit more context, snippet below and callback too. I just want to convert the cable value into Frequency (or anything else but using the setRangeWithSkew function).

            inline function onSync(value)
            {
            	FREQ.setValue(value.setRangeWithSkew(20, 20000, 1000));
            
            	SimpleGain1.setAttribute(0, Engine.getDecibelsForGainFactor(value)); // GAIN
            };
            
            HiseSnippet 2059.3oc2Y8zabbaEmiVMxQRoBIAFAo2XT6gUEJJZcbSBfQgW8u0dQsjWqUVN8jA0Lb0xnYImxgij1TTfdLHGRNFja4yPu0a9CPOTfVfdoeHx2fz2iblclQZkxFYGgnHAHs7w2i7Ge78Wtczp.dRhRS7lcugwbh2q62cnzzei9LgjzdSh2B9ayRLbM0QZ8gwrjDdHwyq1CPBdyNMw9y2c+0YQLY.ufDgruRDvejXfvTPsSy+nHJpEKjumXPItuay1AJ4FpHUJfmZ9qRhYAGwNjuCCYaJeh2LaEJLJcWCyvSHdSutJbX29pSjN92WjHNHhiCZP5BKjibKUTHhXjJYi9hnvN4m6DBwyuSgVnlSKba+sEghQzKzFugcBZgDk0GdSUEd0p.uFkg2pkf2XfjWIHMsCRuoe2.sH1TLChm48aKgKmdLPsWFJNdIS8E072PAbHMqLfcDukFFLRh5e3pqtLE9yR2at4.UehgdLSS0Cn+A5VxCER9JGxMOHRc.KZWUpQHObalDtPz0AIJDH.3WO.4cCFb9pu3fgOO.+zhUW3thAwQbzpoAHg0NCEZqd83Al5K5llZmewJaPqc25IfD4mDbiTChURXP8EwIsazbu+6S2quHgdBXdQOfS4mxCRM7PZxPYPe3nqRShFRURpoOmxRCEJ3SZNKbNgLBNtzdox.i.XPIA3ET+XVTJeo49KyMKtKqjvM6iTbzwg6xjGxelvzu6Q7SpeGPcdmUWE0pMf+tDhpYKcpQIVyXzhC.XUG3pPKuIOPb.OJokRir1hE.FRY6+R2iBGsGrV6cl6uduK4XlcvdZaXd7TsLMQQE8nCUozfHUBOa5ks+OlIkvMpaYRLpX5.UXZDCulGi9XsjpJjK7X8AKSsbQ+cntf9dnpvcB5rFb..ChUz7CEXLkMXQQG.930cp6kQahfcTFQOQ.C2Wq8y3X2hlko1+UUfRPFlf+XYcKbgMld1o50aryglYZUTDZlOlowfV5KSv5xzAGv0YpgQLBdxUCO3ewgGJG8JvY0WhQkrsTXdbLWdQwzHYtJXnjLTArZrARVHKPR2HQHWSDP7hY7QyahEuYwiewG2++dexSauIyvxWEXAgMIlqMBD+daxOFht6BOMq+l7ji.qHKuYNmP5jen87TPO38ovFND+v+C9Pb94ncHtrsDQvUeCHWfFRC.eDIOueKM+OmxkACIfUK+LTJmV5tMGvNczvO+e2Drjh6J9Ld4LWIo85IPn3Se3mAxGFFw6nRD3EKxmGxV7W2jb93xPFAmaS0zDniQ1D3ZTN1LF+UBq8vxH3r4Nldxxcb4o1lT39l9cDlf9iGuSMF7BVD+Ti2rLw+JeW5gBvNseqO4RS6N8j4WU.kwlBdpNmq1n2xuiJZXbekTD3LKs.pvF8hKNhPJLOK4f8jxl.aaMjyG+NMeRJK5LZ80EwpHldhtQpMYpgwbzmdBMad6BeN5MHac7l4lCd+09YW5TTYeyA2K3+jeVB14xREAAQPX95YCos9jFiqBZuO2uHEerlCog36o5DwFVOggU.sK.2koGDoBNBypb95BxxmsNxQ8f9PUWPYdWkxGl4Uj+MYTs7PIaXRucRGzE54JfuQF5vTwSgUQ3FuJNFuk5xkg1AeO7S1jMvwdYS1HexhBPH6vMmnzGYaqI6yDua4z8IVk7y6cZCxZQQpSvJGDYVLvcfkVQLWjjiibjt1.UJVlgCtOjkrGSDg4r5ll.kGE9XYWfYaOod01mqSrK7s7WcE3WHh4N1Pty3p1dXGloOFf.q3BLi45UBFYNWAqksSvkHumUmVBf3.awOPGq4lmPVpZkpcx0gGNB7Alxs9sS1GmMfEQ12UHFbnvU2o4bHEYcNenjGGxp.7aWB3i335GpYJUej0Y7gh1hqBy4AXp4qXmXxQmMozHLQJhrrGSCsOkjUipjG3Ldrn.KUbA+CsMv55HkzobYj2x2Aebm.W4SyK1cSQRL3guNTUH20OdEJndPFxOM2XeKveMDzcVwyc.FsQn70FMBzIaKj6WpR6u8a9l+w82lcZYZDRyupY2pEpZ4CayzoMKG6zcqzgqEpP6apTZsR+O+yu8KaRtD.X+4b..V1tmqRYvK+BAv79ORohgnSZC4bK+0v9OCjX2vImaUHkbcNiwPE6x21W6hKtREdtHSzYm4u+P42+R3DUxZMCyfic1CmLVC7plTdkzn25mFMZt6w4Vl0RMpAfx11dPEXUcv5J0QCX1X+WoVIKm9dA2jy62EBvYe6nrZPwwzmwNlSe.GB8gUgbYUh+ulzmoLdhelxGGXfseOMSlDqRppb4CD6A8BmTl3SS3Xsb6hWukoughoG6Te28aAGxwJSWlIUasSxyEVpifZujMF03Gp6fWoOW50Z4ou7cn+p40cmMGit2SaK4w7Hvuvhw2BbD5wRiL4TqZWusRpxKLp3ReWNTU2gGxq5MOtCzZFCK3nBJ2t4t7HNqrA7us4i.COltZqo+nzEM9Q+R2i895c7cvkhNizeY7xJ0to8xJuZL4esQeSSidB4rNFK+M.bggvWZ369hM4PwXkUZOSDh4vyI7mZVMHO8u8t+lWzF7hzlNXuzmUkW659oSto8JDXnHPkeSBvVShaN.9M76v94fAw0wiC7Kk8X.KPqddf6caP2+WyRAzsR6WY8r9aiioMx+pU7wWd.+9EDOOH.C39dvcv3k4NWAY9fqfL28JHyu+JHyGdEj4itBx7wWpLX4nYcuf9X.gNa4Za2aKI14k0ci7+AZE2.dC
            

            Someone throw me a bone! 🍖 😆

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

            DanHD 1 Reply Last reply Reply Quote 0
            • DanHD
              DanH @DanH
              last edited by

              @Christoph-Hart still trying with this... How can I convert a GlobalCable's value to something else (frequency for example) whilst using the Cable's callbacks? Or is it not possible?

              HiseSnippet 2057.3oc2Y8zabbaEmiVMxQRoBNAFAI2HDJJVWnHq0wMI.AAd0+V6EwRdsVY4zdwfZFtZIzrjS3vQRaBZgOlCEIGKxs7Yn2ZQOjO.8PAZ+XzBjy8R56QNyNyHsRUYisgbVCXs7w2i7Ge78Wtczp.dRhRS7lc2gwbh2q62cnzze89LgjzdCh2B9awRLbM0QZsgwrjDdHwyq18PBdyNMw946u6ZrHlLfWPhP1SIB3OPLPXJn1o4mHhhZwB46JFTh66zrcfRttJRkB3ol+JjXVvgrC3ayP1lxm3MylgBiR20vL7Dh2zqoBG1su5Xoi+8DIh8i33fFjtvB4H2REEhHFoRVuuHJrS94NgP776TnEp4zB2veKQnXD8Bsw0sSPKjnr9vappvqVE30nL7VoD7FCj7JAoocP5M76FnEwlhYP7LueaIb4ziAp8xPwwKYp+VM+0U.GRyxCXGxaogAijn96uxJKQg+6lezbyAp9DC8HllpGP+X5lxCDR9xGvM2KRsOKZGUpQHOXKlDtPz0AIJDH.3WO.4ccFb9pu3fgOM.+1hUW3thAwQbzpoAHg0NCEZyd83Al5K5llZmewJaPqc17QfD4mDbiTChURXP8EwIsazstUvxIbyNL4A7mHL86dH+352FNg2dkUvCZiUbmzacK5t8EIziAqP59bJ+DdPpgGRSFJC5CZHUZRzPpRRM84TVZnPAeSyYgyIjQfVg1KUFXD.CJIbJBpeDKJkey49h4lEACBh8PJN5ze8ncd1RZ.jqUMFsXeXuqCvqPiuAOPrOOJokRir1hE.FUYaxM+HJf+6sZ6sm62eQmkLz+31v7HzWhlnnhdzgpTZPjJgmM8R1+FyjR310sLIFULcfJLMhgW4i4PuZR0S84drdukn45.3Rf9tnlvcB5rJb..iiK0MVvxZ9ABLJz5rnn8gnB0cZ9kPqnfsUFQOQ.CQ24xtEyKQs+op.kNXvD7GJqaOT.7nmdpd8F6bngoVEEgNFiYZLLm9hDrtLcv9bclxZDifue0.J9me.kxw6Bb9IkXTIaKElGFykmWTPRlyEF7ICU.qFanmExB8zMRDx0DADgYFezRmXwqKB9y9Oewe7yZRdb6MXFV9p.KHrIwbsQf32aC9QP9.W.sY82fmbHXqY4MycFR.8+aOOYTFim86ZNrXvgMiyOOsCwkukHBLAZ.YQzPBD3qH448ao4eVJWFLj.137SQobBs6zb.qXy9x+YSvhJtq3y4ky4kj1qm.3x2md+OGjOLLh2QkHvK3Q7E+mZRNaDcHWhyIqZBFzMJaBbMJGUGibKg0dXYD7bKqykEhugeGgIn+3w3TiAif0vKBLlkq9W36RfT.vo8a8oufRLOUmyTwza52QEMLtuRJBblbVPTX+c9kLQHEldYD+uexen4iJe8tk0HMe7a27QornSocWSDqhX5epZ9FW7Qe5Ko4waU3OQuhaGi2FWsw363mc4RQk5Uartf+itx.v4xRe.ABPn85YCos9zFiqNYuuzuHsbrlCoL36p5DwFVOgg01rC.wkn6GoBNDy.b1b4Y4dVC4ndPendJn.tIIk+LOm7WIipXGJFCSPsc5ftPmUA70yPGPyaJLyua7J3X7loKWFZG7CvmrIafi8xlrQ9jEEMP1laNVoOz17R12IdWyo6SrJ4m16jFjUihTGiY6EYVIvcfkVQLTjjiibjt5.UJVZfCt2mkrKSDg4Z5ll.kzD9PYWfYammd01iqSrK707WYY3ePDvssgPmwUG8vNLSez4GqRBLc45kCFYBWAqksSvkHuyTmVBf3.aAKPeo4MXBYZpUpdGWeb3HvteJ252NYOb1.VDYOWwSvgBWcmlygTj047gxSbHqBvuQIfOhiW9PMSo5irNiOTfUbUXNO.SMeY6DWdzYSxLBSjhnI6xzPiQIY0UJ4ANiGKJvx5Vv+.aapt9NIcJWx207cvG2IvU9j7BT2PjDCd3qAUvwcccWgBpGjg7SxM12D7WCAcmU7bGfQaDJesQi.cxVB4dEUGS91u4a9K2cK1IkoQHM+5lcqVTokOrOHm1rb7R2sRGtVnBsubRo0J8e82+1upI4B.f8yY..rrcOSUsfW94Bf48efRECQmzFxYV9WB6+LPRaCmblUgTx04TFCUrKeKesKt3xU347LQmcl+78k+vOAmnRVqYXFbryddjwZfW0jxqjF8ZuXzn4tGmYYVM0nF.JaaY8UfU0AqoTGNfYi8OQs+UN88BtIm2uKDfy9BQY0ThioOgcDmdOND5Cq73hpr9ebYeLx3K8iQ9v.Cr86pYxjXURUkKefXWn+0jxDebBGqYaG75sL80UL8Xm56uaK3PNVY5xLoZqcRdtvRU3W6hdTzFS3ihN8UtGE8UfNnq7tsyliQ2qiso7HdD3KXw3aBF+8XoQlbpUsk2RIU4ECUbQuCGpj6fC3U8fG2AZUigEbXAkazbGdDmU1n8W17AfwFSWs8xeT5hF+neC6wde819N3RQGP5qtu7Qsed+xGkuNesQ+VQid32rN.K+F9ma34+50+Ue2FbnPqxJpmHBw7y4D9sMqF.+Yy7u276ZCdKZSGre3Sqlq8x9YNdN75ASe4tLt3H0WVaWLjCnxeUBvVShWc.7086vtJXP7xnw+etrGCXAZ0SCbuIC59+ZVJftUZ+Qmm0eKbLsQ9O0gO9pB367KdZP.Fv8cg6fwKysm.YduIPl6LAx7al.Yd+IPlOXBj4CuPYvRMy5LA8w.Bc1z0Rt2lRrqJq6F4+Avcm42F
              

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @DanH
                last edited by

                Yeah, you need to ignore the function argument and call Cable.getValue() to obtain the scaled value:

                inline function changeFreq(value)
                {
                //	FREQ.setValue(value); // won't work
                	FREQ.setValue(freqCable.getValue());
                }
                
                const var freqCable = rm.getCable("my_cable");
                freqCable.setRangeWithSkew(20, 20000.0, 1500.0);
                freqCable.registerCallback(changeFreq, SyncNotification);
                

                But this is counterintuitive so I'll change that so that it will call the function with the scaled value once you've called a setRange() function (because chances are high you'll want to use the scaled value and you can still get the normalized value with freqCable.getValueNormalized().

                DanHD 1 Reply Last reply Reply Quote 2
                • DanHD
                  DanH @Christoph Hart
                  last edited by

                  @Christoph-Hart aha, excellent, thank you :)

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @DanH
                    last edited by

                    Alright I've changed this so that the value argument will be converted using the provided range, but this will obviously break projects that do not assume this (eg. your snippet will totally blow up trying to set the gain output to +20000dB lol).

                    Given that it's a rather new function and nobody seems to have complained about the range not being used correctly until now I think it's reasonable to just introduce this breaking change.

                    DanHD 1 Reply Last reply Reply Quote 0
                    • DanHD
                      DanH @Christoph Hart
                      last edited by

                      @Christoph-Hart Great, would you mind updating how the function should look with .setRange() please?

                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                      https://dhplugins.com/ | https://dcbreaks.com/
                      London, UK

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @DanH
                        last edited by

                        @DanH

                        inline function changeFreq(value)
                        {
                        	FREQ.setValue(value); // will work
                        //	FREQ.setValue(freqCable.getValue()); // will work too
                        }
                        
                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post

                        16

                        Online

                        1.7k

                        Users

                        11.8k

                        Topics

                        102.6k

                        Posts