[ScriptNode] Add < > == to control.logic_op
-
Feels like low-hanging fruit, really.
- Greater Than
- Greater Equal
- Lesser Than
- Lesser Equal
- Equal
Integration should be easy, too, just increasing the parameter max and assigning these to values 3-7.
-
@aaronventure Also a range node, that will have three parameters:
- value
- min
- max
and will output the value limited to min/max, just like the Math.range() method. This could also be done using the aforementioned expansion to logic_op using < and > but it's much simpler as it's a single node.
-
@aaronventure This already exists: https://docs.hise.audio/scriptnode/list/control/minmax.html
-
@Consint it doesn't take an unscaled value. Min max takes 0-1 and spreads it over the range, taking into account skew for the curve.
You cannot be putting in a filter frequency unscaled and dynamically adjust the clamping down to 5k like you can with Math.range.
Yes,you can just use the expr node and Math.range but then the min and max aren't dynamic.
-
@aaronventure said in [ScriptNode] Add < > == to control.logic_op:
You cannot be putting in a filter frequency unscaled and dynamically adjust the clamping down to 5k like you can with Math.range.
Maybe I'm not thinking about something, but I would say you can do exactly that:
HiseSnippet 1309.3ocwX0raiTDDtGa2Nq8tf1E3AvRKGxJEEYm8Oj3PbhSLXAIwrSHZuE5LS63VdltGloch8BHgDbXuw48FuFbK2YQBQdB3H2VdBfplYrmwYbRbrxlMQJxc0U00WWU8UU6z1WYwCBT9DiR6NziSLtC0bnT2sQWlPRZsAw38oawBzb+JQhVenGKHfaSLLx+Yn.iREHg+7lUWm4vjV7DQDxdJgE+KEtBchz10+BgiSSlMeWgaJseT8VVJYCkipOfm7zpDOlUO1g7sYnZ4nDihaZKzJeSMSyC.cVWYOzrq5XYj96IBDG3vwE0HlvAEIlznqvwt8n6Z.gXTncxMOezM+inaIrEikmDAta3FURrHcLvH2EAoZWAHYjBREhfz8nlV9BOcxNHdtMskDRHcXPnNMThzkXbBsgBTPpW1k0i2zGVL1fEeR0pKUA9yC9zN8kVZgRVQI2Vo46HW7Ak+txkJ+Ckqb1s5zYp6gtwW43v8m51X10+hLbQYe2C39KU4HlSe9XEgq+jwzhyVL0J5VmRQkrkTn2wiGutoxwFiU3mylAHwgM3SecqMXZFlThkA54w80BDNFavOBppiRQknavC5oUdPccl7GT4nr66vzSVNg7l3Mf3wD4PLQICD5go4UmsFqv4GOplJdbI21YDt2i1Vns5Nc7laJ3EhZuswaLi88na1oC2Rm.1BzlO+BomElsRoDnLqT0xwTUv+HPtS7xJMedsoRReIMgP34y8X97cUscXCWLf454veFf2kpbfixpmo3E7rrHuHHrNpwhVcYRI2IXdHaEulZfQdlpuVHObKl1WLfXP2tuqIzJ2h2HFcfLibHOKZcUbMVuXxk1gK9O3m3MqgqMh2r1nMSQQ2lqOV42KLcD+YhwBQw9fvf79cFTirlii53FJWOQb0KjCBk0V4LzqqRJrPQQZLBoq4p5CNIFteNKXWlvAK2M6G.MSr2QZBJGNpyH+db+fvCdAZ0kgegx+sU1vVEaxrf.6v1LcWjGg8mfBUt+xViKXm.qoqSviXznvnnD.QW7piCBw7SalOLWD5qisjxYjOUKpnJTbEvKyE4mVA6g6ZwbH6gU.nQDzKn5wHlhpdKpqP5xFPl.92MD9Pczxw6N6fcRnQR5jrKy+PtNHtMqjaEkfBASKajSoj788TP023KKJ+1zl97usOj.FRHoBCPHe7JHcrkPFeSSdgwVrASJ6kmV2Ty8PNV5VXl83GGc+S2HFCOKPiNfybzDxZ80JWfCE1WjjBHEu9.xu+8+yS+I2+HDHkfmkHEt8cIYN7aFuyFj16EoOtZ0pjKx0+5qd0usZFWS93YKCbRoe7uBccQJtWxsdDrtjaMT4kw0uY0qVxGbMne1b+0jqAYmqqKSgNVLebTaV2mh9lhzLAA9CncDNHMY4w6O2TXraoCevn2H0L5fS9H1zQZyGLps8lvjGaXfZnAiZkeCQbqOphMcWiIOp5+R8Yl7V+gO7zyVCexqe88mwtH2+e+yPvjm9UjLEDWRUzJmjsJZk5W0B3vuz1aqB3o35u4C23z33uoqRo6BOQXB+W+uewOu5M.ApH95V96DtaI5lRF7HJ6KJmGM1NEVh.cGnnkb82COioomAe9ijG+3fIFHOZlHYckpmKK7UYy22g5l3MjtLKe09wOmAup2JTBPJkg+iFvQav5J0HGc1RAWgsXeKqIOpLFtx7Z3CmWCez7Z3imWCex7Z3SmWC+jK2P7+SSbmbrrEnts2LZliwHBHLpi7+om18+B
-
@Consint your output is permanently set to the max,
because the scaler is working on the raw value output, which it expects to be 0-1.
you can see that if i change the parameter range to 0-1, it responds properly, but if you're working with a skewed range, you have to do conversion and iterating is a mess.
No matter the range, the value knob will (like any parameter that isn't unscaled) take a 0-1 state of the input paramter, regardless of the input parameter's range. But you can see that the frequencies don't match; this would only work with linear input.
-
@aaronventure Now I understand the problem. Thanks for the explanation.
-
What about a cable version of this node:
https://docs.hise.dev/scriptnode/list/math/map.html
It would cover more use cases for unscaled range modifications and the clipping functionality could be achieved by setting the input and output range to the same value.
-
@Christoph-Hart I mean why not, although that requires management of the input min and max values, so you can't easily plug any input toggle in there.
Why not both? You'd just have to make the unscaled version of minmax
I don't think there's such thing as enough nodes
-