ScriptNode - controlling two values with centre and spread knobs
-
So I had a situation where the UI has a LOT of controls on it - and these were set up in pairs....so 4 pairs in my case - so 8 controls.
I wanted to slim down the UI - so each of these pairs used a single value input - but this value was itself shifted plus and minus by an amount of "spread"
So I would end up with 4 knobs setting the "default" value of each pair - and a single knob to set up the offsets, so 5 knobs down from 8...
Whilst I could manage all of this in the onController callback I wanted to have it managed for me in scriptnode...
It took me a little while to figure it out (and I'm always interested in better solutions), so in case anyone else is looking for this sort of thing here's an example of just this controlling part...
HiseSnippet 1406.3oc6Y0DaaTDEdVGOIwlVnUpRbgC9.BkJUhhgRAIPxIwIoXAI0pNDUwkpI6NodjmclkcGmDWnRbfCbgyndiKbCwAtwo1CbCIDBwADWPHtwobiiv6syZuqicbcLIMEUbjh24MuYeeue9dyrqqGpc4QQ5PhSgM6DvINmi1nixzrZSlPQpsBw4YoqyhL7vRVQK2IfEEw8HNNSccTfSg7j3OGTYYljob4ohHjszBW96J7ElTo0W7cDR4ZLO9lB+LZe0Eq4pUU0Rca.OSQWfDvbawtCeCFpVNJwY5U8DFcXCCyvi.cVV60oQS8dJq9aIhDaK43fxjFvMxJlTsoP5UuquFQHN4qm54SY87KQWW3I5IOMBbg3IJkthrw.mbiBRkOFPxICjxagzEoMbCEAlzYP77LzZJHgrCCB0YghUWhyCoU0fBJy79rV70BgA8VvbWagEtRI3eW9M2osx0HzpRZ0FZC+Fp4tbwOrXgh2qXoCO0N6Lz4PyDpkRd3PmFytgiZgyoZ6uMO7Jk1kIay6oH398GSmd7hotVuNihZUMkvbi.dx30zROLVgWOXFfjD1fqduZqvLLLojHCzKfGZDHbbVguKTUaSQEnqviZYzAPc8.4OnxQ60VxL8WNg7ljIf3Qe4PLQohDlNY4UGtFK+QGOVHS73Q3siIbuHstv31b33M2PvKD0NswaBi87zU2YGtqIEr4oqcqQROyOdkRoPYbopESnpf8QfbtjgkV6VkGJI8SooDhfPd.Kjuottj0YtHlefjeS.uWoz1RsaqFh6xGjEEXgvxnFy41joTbYzjP1l9DpAF4l51Fg5NqyLgh8INzMZ62.Zk6xqlfNPlSNjmYGu.NFqWZvUdwC9a3SxjkwwNISVt6jYnnavM6oCaEmNRtF7EL1+bzHHhx7.2AwCYIoTuWUsefHo.FRCwxpqkcBZpUBWTjUitfcIecavNIH9sYQaxDRrheKdXT7MYF5ByC+AU6an8f3yzqwbg3Xm5LSSj1fsif5Rd37t8pOOLzxVYf2kta9YiK.h7QmE25CyH0YgvNgPmbrITNmoxzTxVShi.lXNaEXsnsvYcYRxVXNGWDAshMlECZJp5L.pjvNzGoCXmd7Aa+PqmMy0mMsQkGQPaRs4wMbjEZTpeaY+.qH0G9ddT9w.Q45KJjI6gvq6HHTrtPkfnzdnqy1+PxNnRCCO.aFjUuFs36YgZVMsQX6MXfayRsMZvcrMvIYb7oQGu7SMddVXkDFh6eLqszr7IWsY2sSf8i9WUklOSxp.0Wn7Y6eHXdgXXB86m2N8jyZS2weSV3c3lnjiCo3t1tnwblZdXcSfOqbZ7DkQoK44cnT+zmYodB4HR8.nNc.RA3gFTB+19CBkGOVms+vr9AUFk0+h6e+usxfV+EWbrr9CK7w+TEaeDbtimoOgbbvzf9mZwbP1QZ5hT37DrP7rvCZ9LD2YSHtm87VJxaexj19V+1M9rOW8MUNNz1CdvoHs8fGbVRaGcA7oDs88u2tevy+iO8RaAOuuSEhjk93rmuGmEm5wBgEOGVeD1tLm9orS8ejcZOInrEoq2VZDAxNidGmYNcLusiYuaxu7C+Ui+3K+9QcH63CKc1VHkbR++uR5I3JoO4Re80+869cOXDOzxQN.d.rLQK6oNpBUMgbxIeNr2R+yWp7re0K7qUxVzEClw8zG8JAG6GyXvh1d9ai32zxX5ujEm.+8ihyP+7X5uoOv1wvm6cXwgulk05V9r32B1j8Nqeb7N67Ytg5amzgCiOyFKA5snh+gcvS8.iKUlrqMxRw2rFwW3ItsqK9Rce4xDxvWyqLAq4Umf0b0IXMu1DrlqMAq40mf07FibM3u2URaGrbDDTe03hKGmUUrsk18lH+CnGEirA
-
@Lindon I'm trying things theses days... Download the project folder because it contains SNEX scripts. With this you'll be sure to use the correct ranges when spreading :
-
@Christoph-Hart BTW, is it possible for a SNEX node to have more than one modulation output ? I used the code you provided some time ago :
bool handleModulation(double& v) { v = something; return true; }