Hard Clipper
-
@Dan-Korneff actually, if you want to keep the bare scriptFX module in your project (and in your compiled plugin), you have to :
- disable 'allow compilation' of the network
- wrap the SNEX / expr node
- compile the dll
- compile your plugin.
If you want to use a hardcodedFX in your project (and in your compiled plugin), you just need to :
- enable 'allow compilation' of the network
- compile the dll
- compile your plugin.
(> don't wrap the SNEX / expr node for the 2nd solution)
Edited
-
@Matt_SF I've tried both ways and still get the same error!
-
@DanH did you retry in a new blank project ?
-
@Matt_SF I did, I'll try with most recent commit. Maybe I'll also try with exp node before that actually....
-
@Dan-Korneff tried shoving this into a SNEX Node but get any error to do with the parameter control, I'm most likely doing it wrong though! @Matt_SF I couldn't see anywhere to add an algo into the math-exp node...
Any help hugely appreciated!
HiseSnippet 1451.3ocuX0rbaaCDFTVPIx1oSRSldVGclI0kT+ZM8PhsrUplV6nwx0StkAlDxBiHAXIghsRmduuBsuA8RdF5qReC5aP6BBJQPaI+iljPOiLA1EK9vte6tPpejvkFGKhPVkOYZHEYsIdvTtbTmQDFG0aej0iwCXAg9zJc7YggzHzdSCIwwTOjk0ZuVokU4hnjm+8k6Q7IbWZ1THzoBlK8mXALY1r8e0Ox786R7nmvBLzt9q54J3cD9hI.hVCaiBItiImSOhnTq.FYU5.OlTDMPRjzXjUw8DdSGLRbAWq+orX1Y9T0.Gz.vP5o6J78THVMKpyHluW+Ym7XDXk9Y9g0z9gmgOj4wlOuo+PInR1JL8GVExCu0xAOGS3Ya.uE.IKCHUTComfG3FwBkYRT3YCbOtjFMj.tcSnn0EY823NBPAtb6.xXZ2HXv7ErUSa6WTA934e+vIbWISvqH3GIjz2v254q+qqWd8ea8JWUzvgKTlZahD99znEJVEoitoEtEeRvYznWT48D+Iz4JBG+79T7x8olgbW8o1PQAuGmIeSHkuLh.J0UAu8y81mHIp.Q5bfd.6WxTPvZe56AVsNrTFuOMdrTDB75qEy.1hvahOQlmBoxaRE.9fbwMUvgGyjSMyq9jwqtqP7I39Lo6nEiwBK.ifm5yAFSyFeD9fgCotxL.VD28se4R8VOM0C1S0luY5vJceqyBS59cbFAOLhFRhnmH56SltULQUL8X.iunxY9B2wCXefd8rhPMD1SowVtiHbN0OdURdJcm8JN2bP4XwDIie9gDYD6RHK7nIACfxztzNonClypfJGRO1VMVwKFP4dIC9O3IUniZrUpPmYBMR+NhJuPDMNIbj9NbVz998iCmM0oznXE4z5AX6sg+P656KtniHHjkRagfRxb8E9SCGI3LW0TZMlA8cCDSfcME++.I9DByWwysJbjvCbN3tDWvINsOQNRkanps.DQZz1tyIj4vUFmP4MUFYVSMsOA1+.0AMok1ZJ4pSJNc2Tl6QXQrKzjTkV5ft19GQ2NS98b6TGde5kypusOKNDXl6MAxvz7+by.i6w8nWpR49VnnYeRDzLVpUsz7QvVcHieph8AuphFnCIWNebcX7.IMTw1UicfwpiYIUwGJJ25PFFsTlQKgql2pkgIfmbV9YfEbr0ON0aa63zD30ioWn8fZEpVsca65MZVsZs56zZmFo8Q6FQ+kITt6zYv4o3ZNaWUaqlM2ocMambfK2I1IG1JgcZtji7lIaTkiU7STtkitqdSmk5MeMjlubiV71LpxHO.2eDI9FhI2fUfissAVfTiYwph+yGd1Ga8w0eExnQJBkiwGyoW9t3QD0sLyw3+ZMi2TtY6naivatiIU2UifdWETaaYbGevR87lA073.kOaAeBAJWpP9.elGMpOb+T0ncm3wDcYZQv+04GnaM2pfYt0APIbO3dpI6kB54S1rVVdA3xarvP4F3XwP42MhD4kEHlcmBSBTRRjQVRJ0wH5rg1qvUyjK17XiXShTy9g2Rjo38KxXhAT1USNgDcNUpu91mvX0cx4Wt3e9Gpm+5kF0kVfKN6ZRlt4LMuknU9LkuJs2.7I3vxGN9FLgS7mFOq+PpNed6PbOXwKM8uD9bU8hbGlMzbqDA2qSPgbwt0Vbr6g.ZsuZUv6Y6jmharc8pUq1xtUq56T2olc6ET8a9NsjVaWsL5CwNqTiMnAkcMPg1s2od6VP2JMsZPfPHGAWdKqwV0Za2JwV0ZTyoQqFUWFz9b5j1DeLMlJ0l8JsaLYIKk+bsRFah6EepRpKwelEgK0smPLNfjbcxU6K18k3xuAD2Hw6b02mWc3dXxL.8km7qeTFenZbEGz6McUALO16bcmc8rEulpqvZpsBqo9JrlFqvZZtBqo0Jrlctw0n9gf1chTDn+pFvD8OPW0y5.tp2SROPz+CbV3pLA
-
@DanH easy peasy :)
HiseSnippet 1428.3ocuX0raaaDDdojV4XGmhDDidlGkKbUI0uVnGRhksREZsifkqQNTff0TqrVHxcYIWFakhdu25aRdFJ5aReAZ6kdtcV9iHohjhs.RoAj3L6ry9sy7MytxC7DVTeegGRa6Kl4RQZ6hGNiKmzcBgwQ8OFo8X7PliqMUuqMy0k5gNZlKw2mNBooU7kJqz1tDJ74ue1QDaB2hlpBgtTvrneGygIS0N34eKy1tGYD8BlSFqa779VBdWgsH.PTQrAxkXMkbM8LhxrBXjV4SFwjBugRhj5izJcjXzrgSD2vir+RlO6JapRvDMDbTj5dB6QJDqzh5NgYOZPxN2GAdYPZbnXTbXO7orQr45yFOTCnmNirwCsB4gWwbvyLK7Lx.uk.IsLPpTDjdBdnkGyUlNhBOOD2mKodiIPXOKThrEo8a3tBv.trpCYJsmGHLeBUZYXbfN7w9e83.tkjI35B9YBI8U7J6uyOsy167y6nu3PiGuzwTKimv1l5szgUYZu0MwJ7.mqndGn+Vhc.ctgv1OeLEu5XZ1TtUztNigBdeNS9JWJeUDATbnBd666eLQRTIhXcfc.6WxTPP6X5aAVcTZYa7wT+oRgKvq+fbFvVDiBrIx7THUcS7.PLHWdSkb39L4rr0UKxqJc23Uqm1eWg6SvCXRqIKGuEVBdgn1mZ7FWk9H7IiGSsjofsDt2qWaI48FJ20xychKOg0WAjciE068ZykVX9K3zh.WOpKwidgXfMYVEehpg64.dOP+Jag0zgr2Q+vJG2HHbjxhJVSHbN01eSJvJemaZYt1lVnyEARF+5SIRO1sPk5YANCgV4VztwnCzoUPUmEIanjU7kgT9nPg+EdhGzTIqEOnYxfYJQOiJuQ3MMLcD+NRaqnX+w9tIptj54qHsZagMpB+gdgss3ltBGWVLcFRJg5FHrm4NQvYVJUQVj.8W3HBfUMF+eCw+BByVw+GF3CcTF8J9Pv3vy9TbtyDif2v8HVPfc1.hbhpNR0SBHpTupVyIr4vZJOQEgUNI4vvn3DfIG0lO7nvhpwCO9Jd0Tt6QXguEb3ppD1D8AquGsZ532ykSEPro2lzW7XluKvVOJ.p.ipIxoAj6yGQuUUR9kP47.hGbHtLxzxykfk5TF+REiDdUkgPmRtctbCPdnj5pp.TxlfrZaVV0nhhxMOTFmVN0okw0x60sAEvSNOuG3ASinGyFcLLMaAb8ozahhfQFTqVmNFMZ1pVs5MNr8gMiO+smG8GCfT+rD37Tbcyp0h7UqVG1otgYNvkaGalCakwlsVwVd2vER+bEmEka5n6ZzzbkQyWBk9q1ok9XNU4jsvClP7WSNYMdA11FYvBTZjjqJ8Guau229867bTlCfQnLL9xX5std4o5OD6.eWMbfr8d+HT7BYWi4RvIaEhVntY3buFepZI7YWyqv3tAx80+B8PUthapD9BTnvqrfpq7is9.cHvMV+qh6FueRaYDZgkcK39EWEbcx5pULeoj1xY8omEmg3O+9DojfT6xx1SsLBAQNXta90e+ep7C+0e9rrogOKtwC7I.+7oiOGS3D6Y9IMehs4Sa6mBYa+bBbx2H3.8vYq7Wtf3Z3VWqHiKvsBaiFNv8ZGTHWdq3xyaO.PqwhkX2ydUOE2rZiZ0p01nc6FG1vrtQmkTZMekVQeyEqQe.1bi5ZBc+LpCFzoygM5zFZEF00bniPHm.2VHsqYs5UaG5q5Mqa1rcyZqBZeJCR6hOm5Sk4X7I8xxxRVI+I7tgYKf2E22+R0nVD64UwEPGIDScHg2eYy90F+ebaKGhkm3MVQWfTs4dPnFf9xC+I4aCcAAYcSzayFpbfeh7arrRN6e4yo1FLm5avbZrAyo4FLmVavbZuAy4v0NG0+chWDHENQ2sETL3jntdZmvIv83COHD8e.SUOb9
Edit : error fix
-
@Matt_SF ah, haha, indeed :)
Thank you, I'll see if I can compile this now
-
@Matt_SF ok when I try to compile I get this error:
❌ /Users/zzz/Desktop/HISE_PROJECTS/EQ-1/DspNetworks/Binaries/Source/CLIPMAIN.h:25:53: call to member function 'pow' is ambiguous return Math.sign(input) * Math.pow(Math.atan(Math.pow(Math.abs(input), 1.0 / value)), value);
Any ideas?!
-
@DanH ha that must be my bad, I did it too quickly :
Replace
1.0
by1.0f
in the equation -
@Matt_SF Thanks! Ok, so close but so far it seems... I go through the process of compiling the nodes, but when I go to export Hise wants the expr node wrapped into a compilable network. But I already did that, and compiled that network, and the project is using the compiled node as you can see in the image, so I totally do not understand what I'm doing wrong!
-
@DanH I replied to this error earlier. Stop doing that ! :face_with_tears_of_joy:
It's either you leave the
math.expr
node as it is and compile the whole network :OR
You wrap and compile the node only and disable the network compilation :
Then you can compile the network into DLL.
:) -
@Matt_SF ok I got there eventually
Thanks for the help!
-
If you want a straight up Hard clipper, try something like:
f_hard(x, threshold, ceiling) = (abs(x) >= threshold) ? (min(threshold * sign(x), ceiling)) : x
Can I just stick this into the math.expr node like so?
EDIT: No!
Could someone show me how to add this equation in please?! :folded_hands:
-
@DanH f_hard(x, threshold, ceiling) is the name of the function and it's variables. The result of the function is equal to the output, so consider them to be the same thing.
abs, min and sign are math functions, so you have to use the HISE equivalent. aka Math.abs, Math.min and Math.sign.
x = input
threshold and ceiling are parameters that go from 0.01 - 1.00 -
@Dan-Korneff I have a lot to learn!! Thank you :)
-
@DanH did you get it going yet?
-
@Dan-Korneff Thanks for asking, I haven't had time to have a go yet - next week!
-