I was able to recreate my 16 channel simple gain in scriptnode, not as elegant as my nice simple script though.
HiseSnippet 2252.3oc6ct0biaaEGGz1P1V16ljI4g9n5aNc15g2Dk3zGZVeq0Sq7pYkqadaGXRnULlhPCI0tqZm9d9XkOR8aPB.uHRQKIKhrwBSKzCdD3AGgCO3+A3mksD5GRbvQQjPfRyamMACTNFNXVP7nyGg7B.WeAP4kvdnnXbXqzKc1rInnHrKPQY2+B6BJGtGH4w+8OeFxGE3fKtD.bGwyA+28F6EWb09e2eyy2+JjK9Vuwk5s42csCI3bhOYJMd1EpBlfbd.8d7MHV21AB9qnnQ.k+.D4XnopZZ4ZbOBcuqts4PrgkkolwPaUSjMxR01R0TCnz3RWuXR3fXTLNh9hdFwc1fQjOFjN.24E4cuOl0PCLfNxoWFb9HOe294ImH.PYu9EopcSSUeCrmmq27qWjx9xDCsJ7nbRSYm0ERZ0HjTJER6kFReEbfSn2j3BKr34H30AzYvgH5bS4PIsu.keBdNg1gf3SGid.eUHswbGNwRU8Usn+3a+SCmF3D6QBZQBtgDieSvIeay+cyCa9eZ1ppogCWpM1vDR78wgK0LSNDtNGOIX536wgup0GP9Swy6H81ewbZiMKm5jdWWpijfqC7heyDbV6qH9trbE64OdF.jk1nO6eb8EnXDaRI6Zz9MAGF6wBGkKvefVFjNEcH7BbzCwjIzBgGM+QUND2o9n3EkSrBsLCz7wBygrIpfHu3YkKDqgFScsZrMMD+JXeuXmQKOF2YIwHMS8aQLlUY9B3kCGhchKBv8fW887VFpV6xvlYkgzwjM3Gm0r0Ueu1RK.+QXgXeRHdBJDeKouOZ1IQnwS7wukFiup089DmGF38uvOtBYRZHbFqGm3LBEDf8i3oPpwmoEm.ukLM1K388PwgdeBn76uY53Az00cvmmEc.EnxWxpgRaqxZyzECvAtIM9Y5iLiZr1JYF0pXTm0dmLi5ULZvZualQiJFMYs2KynYEisYsgYFaWwnEqciLiVUL1g0d+LicpXrKq8AYF6VwnMq8gYFsqlDRxJMyyBOJGkjWNJ2b0rjVRl43byUySZI4lWjatZlRKI67xbyUyUZI4muH277rUoEHuAG+QR3CIELYOGnb.q532A6M0O1K6kZfGSvmPVbGNLhsThx9PsSUOUE7ZeexGOmLdhW1hLIxvzKjqqd8XxT5.RK30rRcnOwe1jQj.OGVIWwRTmkWNkq7nzE2h77YqXMXZDcO.22DLf9JmfzvVw3FhK8Y6eExgVhLqOJdDakO1tHzvEGdpy7kaV48TQ0OqtIErYkclU30GER6Dcy3nz6VVLjiHkF1z6+wrbLCPRYWl8zjbRv1fEM6CGyF.vJC7TyKK1xccSG1CVXXSSHOQ9Z4CapsMcXgkF1Fv2+nQ8H5nFhO88qd7XlTepwamRyFT2m2hde2yK3N1ZozmB+iT3TpbsG5SYWBBYsGDimjp29FZaZeRdnYZqpoYQWN8A7GSCZfxWCaepottdG0NcL6R4ZUsAo2aIBiaweJ9VRxKNsB6CTNCVLvHKb7tG6Cd8zXxX5J3YjKWfGhnyhoACc+xkF1owXQLe.jEg0KrYcvPUS0f1Aa6tl1cT0xHPGLlPhGQ2QXEAeCXxuLP1f2.pyF5EB77KBd9S6GCeKNBmEGOUxegAew6fzqAJwFB.kTtGAGG8N5xMrqrf78qggoamdZQGVlLt7KPcjxKKh1mEQGjV9qwyRGE9VBhdSKn2oTZ4fjhScKdJo03ujdegpjthBZogoHVBCd9yn7WstxJyTwTGdTfc9eEEXkMUjZvmCM3SsJcw9Ft3mXeirNrx8Mxr+qceijHpI7GlvnYCqrywKg+fazjSyLtzXojq0pvYmRSxvhI4FzI4JSwr1rfDB6iB1bVoFqVjCgVKHaJFiFv2N0GCVXrqxDns4y5IuYCrVyn2vo5rqitiY0AMWGQ+kgKMUbXJJsl8yMGd5xeFOy6ZKAwkf3+pAweQAGsloffheXFNcaAfE2n6+WSBIYw2lr3YRv1RXbILt.Bi+hBV50t2wyIN9Q4L05FRdbAgGu61gG2jmkM0k73RdbAgG2Pv3wMEAdbaIOtjGe6xiaH4wk73BNOtgvwiqK4wEDd7NaGdbtdaLLj73RdbAgGWWv3wMD.dbSUIOtjGe6xiqI4wk73BNOttvwiK++UQT3ws1N73b8eYpojGWxiKH73ZBFOttHviqI4wk73aUdbcaIOtjGWv4w0DNdbUIOtfvi2d6viqyyxlsk73RdbAgGWUv3wEgOKml5RdbIO91kGW9g4TxiK573phFOd0OEgRd7sFOt4yMOd1eWQtdCxsj.4Rf7sHP9wEzz1BFOtpHviaH4wk73aWdb4mmSIOtHxiebALssvgi2UhiKH33FaIb7m62FCINtDG+yINdWw5a5PaQfF2TRiKow2tz3xOMmRZbAmFuqvQi2QRiuMnwW8rzJWtoYoEC9suJoGws7oZykehFCAH+RmVFTgvEdQn68oyLKlwny80plJ4.HI.mbdOj7ExdQyLViqcm+cj97LR50RRGfk5P9m6z55gYs8ncs8vp1dnWCOl+m8n1tzY4tTUFtO7e54RWuP30gKDJOknbyzg4bC0N21t9tXTeWzpsK5102k5e6qW+aecimTMl8mkH+T75I2V4yibJg.pqpcacKCqNZc6XZaugpmR6dtv8V5dcKOaT9qBMNbRmGm3J7T4vIMadbpKON0YoNwy12mQHOLFkbzvv2wn0y7QMDXcG0PJq6nFBrtiZHk0cTCAV2QMjx5Npg.q6nFRYsG0Pf0eTCor9iZHv5OpgTV+QMDX8G0PJO9nFZLxIj7Nmzy2Jl7qUxUnqMEjfZeHrGqcKMvGRkdEGEYi8b8dmiyhuTOxQcdczfWGM40w175nEuN1gWG6xqi100wl4B.Ut8TiaO041SCt8zjaOaysmVb6YGt8rK2dxsFRmaMjN2ZHct0P5bqgz4VCoysFRmaMjN2ZHct0P5bqgL3VCYvsFxXCzPryt1r2mHF7G.zq+kITYJJWFjxxqnrK3W.XAYbxE
Edit: I just found a real downside to using scriptnode for this purpose. If I have a project with less than 16 channels then it won't process any of them.
With my scripted version the number of channels is passed in the process block so I can work with it dynamically.
Is my only solution with the scriptnode version to create a separate effect for each channel configuration?