Shape FX in Scriptnode

Is it possible to make a waveshaper like Shape FX unit, in scriptnode rewrite?
Anyone has an example to start? 
The Math nodes will like tanH/sin will be your starting point, put a gain before and after them and crank it to see the different waveshaping effects

@iamlamprey Thank you so much for the information.
Do you have any idea about which math node is used for the saturation?

@SteveMohican As @iamlamprey said, tanH and sin are the mainly used functions for a common saturation, you can add pow to the list too. For a more unique sound, you have to make your own function...

Very interesting. But it doesn't sound like the saturation in the Shape FX.
Below is my snippet, is it possible to see an example of this saturation?HiseSnippet 1111.3oc6WsraaaDEcnjoajRBPaQBZWRDzEN.oFhNoIEnKrrrjRMZjCgoqi2ELd3UVCzvYHHGZG0h9O09Uzei9Ij+f16vGgj1NtJBHInO7F66qgm66q8hULHIQESr5b3hHfXcKa+ER8rcmQ4RxdCQ91SET4oPLYvhHZRBDPrrZ+TiXqNqQx940aOfhJwfJVDxQJNCdFOjqq350+G3BwXZ.bHOrl1Op+dLkbWkPkhPoscORDkMmdJrO0nVKah05iB3ZUrulpgDh0ZCTAK7moNWlq+Q7D9IBvP3R7wGJm8XkHvfXCWxty3h.uRWNgPrr8pB.syC.2wdBOf+F9UAhOMSfSkE0iGVstN34VGd8VZ3Qpgt0xQGBBUPpfpahLS5nP.WIafr8jZPlv0Kpmt9nB2Oy1iqYytZ715JvKlndei2hj+ssGMcJvzUfcM6wG+9OSaYc4XWWaeVLORieeCPtUAoy3ica.nb1Dqe091ccbbFIOkKgMYw.hugIQ6C5yUwy23d96qBfwGeu6+cNSSkLSf2IJFhnwvgJOAcwFIzvHAb.Z2CbNQnXy84+Db+t+b2Nc+kt0MJCpCLZrAaFUJAQxkUyzOK0wJwFxzvSf3G3bFUjV8dWpkt8aORVuk9JRjGnR0b4oSn5X9qvt58SC8wIILX2Bzg7rZQLllQ2yPapq7AYPFweh+THz0PaUHzsTHw3LfTi7KhnYosh+FQV9rxhfLYGgPc9tpvHdQINlnx34oDKhlojbVdwjQe7aLlxvHwBOpdloAAGFpwJPHdS1apD6V93tDz+tnmYDUN+L22vudnAvYSOaiwqHHVygxpMCE1i0Ju1ZujiLRYTA4HSVxzIl8l4dYNHMpttslJmQZf2aZGh+dyLAu6PqUcnQ7nw3HeMTzUTRge3IbYAzplKLg9pKv60a6qgHSgac87mCmmC45ZZ7mOwN+Atzyz.IjAJ07PZVRm7i6MjpoF3UTSTyArrFBmg68xag6XODRlqUQMl0b2bg2z9EzyfrssY426lQOUEG57T.S8lgltusktN+99+1xtzMZoW59blFgvgwTYRjJAbq+xWP1V0kMDzoxlpmypgVF2aL5d0z6F8KYtUcldTYiGCoa7RSLc4kj+w1ijTbNgOfdSvySXnyRuPl1KUj.ufGnm4V2vJ1aUm82SiCv7BqwFn1K8X+2g6OV++u+3uazeuqczeiEmcJwnO2rHaj7LPfclYX7ywVwozTgtjayVqIJopbrbUR+..Wnbp4125SMtJGZGsFOXshyc5e.H.ZRs1sup+yvI5z3IYCSWoXg6xGKtt70WZmCWGy7.m+cb2X6+Sd23x2ghiL+mSl9Krww3a4jktc93mu+Pbd4GhuQHkEqdIK+pby.iajwA8aY1+lcG6IFZGWxY4WCYa2aydjPbsyKYLSM8Wiwmq1lsVAad3JXyiVAa9lUvlGuB17jUvlu8ZswrwemTsJLu9GY3MJ63SKq7idxZEH+E0nxnK.

I'm currently writing nodes that accept simple one liners as stateless expression which can be used to implement custom wave shaping functions.
What you're looking for is the formula used in the
hise::Saturator
class, which is basically this:https://www.musicdsp.org/en/latest/Effects/46waveshaper.html

@ChristophHart said in Shape FX in Scriptnode:
What you're looking for is the formula used in the
hise::Saturator
class, which is basically this:https://www.musicdsp.org/en/latest/Effects/46waveshaper.html
Great thank you!
If you could add this hise::Saturator as a node with oversampling enabled in scriptnode, it would be amazing. Because this one has the most musical tone in Hise waveshapers.

@ChristophHart said in Shape FX in Scriptnode:
I'm currently writing nodes that accept simple one liners as stateless expression which can be used to implement custom wave shaping functions.
What you're looking for is the formula used in the
hise::Saturator
class, which is basically this:https://www.musicdsp.org/en/latest/Effects/46waveshaper.html
So the expression module in scriptnode is only for oneliners. How do you go about asymmetrical waveshapers when using scriptnode?