Matrix Modulation Feedback
-
@DanH I agree with this, but then it is a design choice. I prefer to see macro as a modulator than "something else" aside the modulation part. It seems easier for me to understand and use, but my practice of modulation and macro is very limited...
I'd just say that in a plugin, I prefer to keep related things in one place so it better fits my vision to have marco like modulator
Perhaps it is possible to have two sets of modulators, so one can modulate another? I don't know...
-
@ustk you can modulate a modulator by assigning a matrixTargetId to the UI knob of any modulator parameter.
-
@Christoph-Hart but is there a way to prevent a user modulating a macro with the same macro?
-
@Christoph-Hart Okay
There's also the AUX modulation (which should achieve the same thing, right?) but I couldn't seem to make it work... -
@Christoph-Hart did
setInitialIntensityValuesbecome a thing? -
@DanH
You can do this withsetMatrixModulationProperties -
@Oli-Ullmann said in Matrix Modulation Feedback:
HISE | Scripting | ScriptModulationMatrix
ah that's where it went! Thanks!
-
@Christoph-Hart or anyone else.... Is Modulation working with Hardcoded FX via the Matrix Modulator stock module? I can't get it to create any modulation....

HiseSnippet 6470.3oc6bs0aibjct4LS60hqur65MAAAI.k4F6gZFIN7ljnjfyn6d35QZjEkmwd850tX2EIaqlcQ2cSQwwX.b.17995lGB7K6Oh7T7OfM.AH+ALRxKA4EmeAImSUU2c0MI0kwiusHz1zpqqmyWctVU07PetEKHf6ajK+wiGvLx8BlsF6E1a6dTGOil6Xj6UL2+A6P1eyiOp46RNd2VGSpXr03Azf.lsQtbW+MwFlataXH97U2cKpK0yhkTjgwC4NVr66z2ILozC23sbbc2iZyN1ouVqquQSKt21bW9PfnttYYiATqSncYGPwlcMSi6QC5Yj6VlUrnqztCqck1crWoSsJVUptRiUq1l1oMc0xTV65VsazoRGibO2t1Ngb+VgzPVfQtarE2dbqd7QdxI3gNANscY3CULZAyrr383t1HKhkZrcOGW6CiPq.CXPOLA6ttD694l66X6DWdBF9SDUPR5gN.l6ZoIuqmh7pnSdk0HuoPR4zHoaHIoepYKKemAgI0fzyO1roWHyuCEVmzIEYaMt1u61l24V2hrO2dnKEHs8og9NmQXmQ6OvkQtWyV6RVpTYBR3Nbu74OtmS.A9WJ4Tl+XRapOaw1bOVbWB6QCIA.SEPfuHgbxv.rTFoubr6GMWAXkNXm5y7BgQzdrGsuiUTKv4KXbPHqeIRyNjw7gDKd+AvLBCGPBwyHWL7C7Ym5vGFjLjhgfv6Hm83AUQHKfi3MccIALEUCMKee5Gy8cBGG0MKtMi33Q5wfoElzOdXPHY6VsH2gb+M2iDDN10wqKYQIIA+aalEMhiAZvA5VmgdV3DScgAdAhMMjBzfGHpKX7WO+6zDlBXYhJZFoGEGFlmnvt9fvhMwCH8SYtiwx3x0EpmMoKTXf.Z7YT6wKFxWDm71CAIFjtZ6xsNIfzg6iMxeRn8UymuoWF7TvqRX1mkB4Bfw.jtVKe9EI2euG.eu481o0Qv++gLXl.1Ke9MAxZhNFR86xBwNVoD4As1tBAsljup5gCcBs5kul5oiXfrUaTVCvNGe.vCGwmxnInwIjpVfLpmiUOReF0KHdgEWP6v7EKKcFBq5ZCmOKf6NT.Ju9qSFvcGOnG2CDDCFNX.2OrDAoD.i7smjJhEJnDeXEg2Wt3HZGHTR8AqYvRKHg.RQ3RfEUIcLB5LsOenWXdPXiRBDBt.0fbuZ.voFl.ThvKEDD3xCW.VmCIsGCRvgg3pMNpejDPNVPbMs+HPufOf4qKQ64wrPYp2oY9S73sQBCqvIxRAwIjLBrYCBg.0z0AjS7glCz.0VZGf5NEfPB6QcrG.FtPu.xCG7..FHRQNbfPUsBfHqaABX7HnD4.dHSZvHRSqMMvwh5Bh7.maCDgiTKBF7vQn1AzxfHYzHIBEqHlbDQdcBcv.FrH.Npd0725N42lCboWXo9zSX64CODaerXkJkKu.Y4xkme874uCneyBuY.wBnRfznQBZR9xmva+w.JJkurnHUgF5rQqQ.hCZs8gNnX.KnScY3X9ICQqlYrGoVQf+LnD1HAVHFX.oB3PKnRcbEsHzVUyezRE0MfSFAVtXmynKMdf0CjpOZwDjbvYLfqonfZUPMftDvNVbeen2tiKkGFHPL+TpuBJtmBIdCxtdcc7Xkjj29wSszYRwBuoKuMHwD6jgfKBf5OyuRAEVqruOhB1CARD.SOdnSGGTrqMGjxS3BEZFrfDR.nmFFRAIOJAQaJ3AMBbPQo7oH1R.Cuc7PsMz91PPGEirPWTZfaAk7zBfb31QpKym+SyOG7DXqfUZfO.kpVCrPlxk8dxx0Gs0y+DEuusKHfBKftoVpJNBVPPSAoJEY4dTa4ZtGntzFc7gZt1Q9AsjS47YXbKbV1z0Mg6CJVHB9EFYxHEC55fXjl6qf3Y.L2A14FvGLb.Xl0aHQX+B7hILmHjjvPDBBb55oFLcOOvDJQnIWav3LhWUd+B8Giy9IfWOvtQgEHEnfXArpJe9CVHl1J53YyNaJKQxxiA6WU36dmc2q4AMOt4CNnE4M9Z8IuTecDXL+l.T0kKLCmDyiGaDoiKmJMO6.hlLYrIAJykIdk5yCPw7984dfICeFXpH.WV6.JUCA8QM8OWZGPqKxTlTs69bP5+9b9If+28XL2hpk1VfYSce5PfGiIEcofjT37pkRmGG4HTLofpkz1JR8vpJF0EXkFI5NbWWfaoHLtnfPUQ.ILbsmimvdGEiFI.8Lvg5o9g.dH8O4D7p4ApGWpa5A8i0B5NqUOFKrXAfdgXQQes3xeWev0nM3A0i4JBfIIFxRDvRdI4eiK4VRjXMxMuInykz40H+hZ0pgEw8sY9K5SscFFrFo1fyfBGfdy75tFoRY74mHm9lcz.Kvyit12HlHxVf+X8G.dT6CAZCQwoSNqIq4SI4IPWc49.Mr7xKut74Hx7fTiaoR2DpGle.Vn9PfPeZFlXokVBn29fNiiGDscHrjEQ0IbwRhG6wb51ClhpxZOOFeQWVmPbbJeZu0QPTRsqt5pqqQLqsVaFf9ryCmWzoO.CqgxlEWbQGnYymt9nwtQiFPEibrC6kLwR9Rw.vD+KDlplFTjYbxvqQiSE8GgHhGrFQeA93jTQBENK5AQNCVevEwvdvJmNzGBQNDfob3EtN4IWBATaeZWwBsOnonF0eQxySrzJkOyHJN8ksNtryVz1wWJ0rFwmOZQQvhALAykPcHQzUvao0dEVli7ZZCwEBAeILNqLcKEjE8NKoFA89caSKBgIo92R0vU5NvvrXGH2M2wfrw8Ae72LQfRzipKszBQ+GzqUlOQLfNLjOIKuT4WSGW.XIBarF5GfiKDhU61PkHuGQyq0iidL+zHUOvFaHCW3ha.lh0oLnEhUVXUCzjB.Kmrhq130le8mjGBoNDP2KbflgZwbSCzj8d1ZL3XdHMrmFpTsdJY5HciP6EHkjNOuOsMyUN8ZJtx0h.mGCCdkndksGQJf0hzKJE35XOEoy50qOKowHJqpbQQQCsa2Ve.kVC0IRzVndClo0EEMBKMVEknzoT2gr4I2BMb7Zyqo+iOOc6MqrxJnTDOvQpxPaKxziMEjszPOGH0OZLIA.c6zkfDI9O24VxPvQZCiogIxmgnZMQP4v2vWAbHqGp8oX5G14miPDge.Ve5AYaigeGHxk6DHZt.gxWDa2mdVQAqK9pbokf7G0QgXXXABQLtQeR5TJPaQPoao3NM+5o6zLYIzCgHtjHHLJIRwvRPSQPr3tROfyI8mz2wq3LW0V.UrmW.3APjPVgWEQtoHnORIBzl6ZCkExNKbQpKD14ZBZeld42wmNRYuFrBZyGAYQ3CFTELhjxzW0wtfqbX.RfAXMKoACXVNcvPdThuI4aCcVhxXDWCBXCs4QQ+EGirXGFTAb2VFcgmDLSqMHIgCgPpwTbojsnArkqCAW4iwUgNeDSBJXEEpECC8xyl5aK2QBz.CRjfcsPkiooXP5WWnQ8RgkcomFr0auxxkB2dzdkJ8vcd6281q1Y6QUdzubqcdauOtjET9fkdusd6ZGz6S1dj63xiJ81Od+ssDs2tzae7CK0E96cVFZCv7mt8nGFhioWoMgwTa72+gu2utffEmg2lL9NpOeLdzhEJ25uHoSzYlREONmVLCYt2MgXqgzHiS.FkTvP7nRfXplHlQbJMDBi9RAOcgp8omHi5WHJQbwVPfTj.hP3NYJBWR+LS2UqxqAL3ReRYUUfzymklxTznRq7jHc8fNctoz.Hjg1.WH3xI8CHlIsne.Up63y5Cj9cDwpQjDnzDVIUzNKlP0JfbEoCbbTNB24gnzUSq1nsWDDNfxXNExkKPew1IX.j6BydRkDQDzQtus5wrNAL4l05RD2KwBYvWZXg2MUQRkJwXm.88uNNdJUFbx85lhgiITDY3dQnscEBGAX+w8p0CC0JJEPsL5T66dRRccw8oPMQEKHqFIJ4eg4OMQBePdUSipw7yaitkRx2TVyLVEwMaZDC2Ro.hJXmfTayEZxb.XxBap2Xb9hy7GLvEfAU6DzSZQTABSvoaGGQ7EvyIMLg6SJ67vgjorkHTiK.h0aDNU5Oe9v8qh7+acvC1Rbh.ec2OgDxFgz6eYyzOoaadz1PWpVBT50ffi27nighWDpc8zM9CeTycN9dhtTFbSmoAGeula+VGrK366MHUpWpLLUXwCfG+zmrNI8GPT3PGqSvszUEnP.as7CJsqm81zAhT8g9UPnLxrKrtrKueATvC2cmfOYHXRF+qnl7APu+kbvpcbmaCY73J5rnq8cDaNM1GHwfSw+JtIXmAUAqS7f.sf9FyK.S3H18g38OBkzGsO2VtpWr6B3VHJ1NIWDsAg42.rYoh1oHTWIz2w7kfodHDZWw3g9NUI2lTEcQI6nWpNVtjHoI3qJpuv0NUSgLR.rK6pM51FVgk0hBhagPSPQQJ1xBAE4M8sJ5sfbYdQXBVR82.wDuDearboySmNBdHYO4f3g5JNVx4yOGvzmSC.Abf+flfMattxMTEOCWQGv8kS9XEbll6Iv+wbCXSq8kOqd88DehaZdrEcfng2000AhZnHMFgWTGhWjTYdrSOQFPd5QckUJK9fMnKlu1HAFJvpEHzERjCjfgD8AV8Hbekm4BPTCxtFDWdlkA.5UP39NdOTDu7sRVLV.Qi4vvCy1X5YSzXA9HacVlsZ0DHTiYiHpz7KfaU04YYT7yhgE0lkakENcVUT2APJ0PD3OFbPLI6F0ZvrZuR9HAJjZDIfaKYa4PASf3wDsk4mFfj+hD.0fjSkiWF7ntNdD1aX+1yVCDqcBMPQgWY7PjPV4JYfkKpS2VzIIEqy3x+WPIQDiYE6QBTv1Ch5HV2lth8l+XHtphwS6lA3yhFWvB..zvpb3zE4VZorhbYGrvrixVh8rrfLwOQ.JIGcWrI3nSNL5.HrYcPSzhPUhODuobb9ZwZI2TAbu0gHsDmUhH7ZXFEamCUFlhHhroeBYBpyNJ4vBIwNVHZhkaLj7rOJ53Y4NzNJeKo5jKtKKyOKGLZlS2Jdv082nr7JlFkwXovoq+D9fDS0lniHzKRlko81qt3iPWQZU8HoW0jAw0eARMgSnI68lhOppPpeV8NxOV1gXmczrtOcAEAW1RbJZ3s9ADvKrFofRSPToTfz0O1OPcvjv7YjOehRrBO+O7DShhBWaMVEIKJW4y.1PtasEP4gBwadKdNZdA3sX3hW85N0vDf0hoGov5WJu7QMJZCAun1INbk3m.9RngGLBuNEQNviboKt2AkWCs3HOSlnnAgBfdpdDidIJNP36XSChl0FngSVOZrpjZrJqMPWbeqt1425XJDksfZkrVxnHb7GgRZ1jiv5rQKEUd9IDyq1.+GosrTQdn5wrUKjhz5sOQSPi3T9FD60PrPLHAKXwEPNahH4lns3JyBHPkkhh0SH2kfACzQ7grF7PkJxGRXsjvfTRSsfznfrjEkuDpHWn.LYSiyi8v.lN2enany.WGl8ltC5Qy31UnRTxx0Ay+FnJb8CHmRMlOCgDCPWBZ4I5I3ryQa9leXql+pcA4iZKudjlubeKSsePng4D+EIYypkg6EZ2FxRL9hKf586PCErrlVeHOj59Hwt99FRtW6r8bYdcgJtEoXBceaYXGZ861X1Uk0BE4rILiH8sIkme+xefDmSUXkOPY4LUo0fllLSKj.eHIfSyYkDXqOdiLreDr.63IlP4wdIGEotCXmrnXCHyvjX5.XQH.itiBJMXXPuhmURt8B64y6eeVmvDDHIwopyKG5IZakxxJR4mCoVbu2XgC8ETgPzPknbon6pzdQWJfBR2Vfh1XYhcPZhoRzClhyuyyxicx.M0pO2wcZRTv3MshuhzWWcNLc4o2if2o4GhaXAlT+6O8sCQdG7.Uv7jo9Y58RbO9tpc5.1H7x.dU6lrOe.vWnX4InXYDaAximL08rQAlyudr5M2CusUOvqnPeFjlHYqpSmoVWxlPM0pw65r+40whdPb4Lvbo7.RhZnQtaj9RBaN6KIr9cXVsIlZMj60zyI7ACXdy5lMan.VCXRUTEzzPw0I9kTWmXodhgisQtmyTbCvEzq5ZbS96+u+etqwknu+HSgnQpNK+bI57yaJkFe558blJArTceiZ0J9EFuSSTKCuP0Jn3P4tP6fHetcXm5XwjWu54L2gEbRHefQtebrPnQtWHTcevkS6dpq5ywNvJjjzk6fnwYIj8eyFiieXigaH1b73B9xe2Fxi0LoI7MTDmjR9YlYugcFs6FcM5myrQ0kVYoZKaj3QVJfj7bUYAXRZ5MPfD4dh4mBZgEhESZZiQjed2fOTqsPS7ZVAsrr3o8D2RnGw8OIX.0hAk2g5FvD0IWYDamGNx2i667XbvbKj+I354kFZ+YlY2MXcP9mqAxe1loQv+pIPPswHAKSiZWIT727MHJBvTZQlO6uKqHiQyMzQxW5hTomgvI4i1nu9q7w68E8oZM8u.p011kcnJZKcESLuCoRikC36NEN9Bl0qtJDsSsZUpkFPwZZzX0UpTt9JYXRi2aBl781nOeX.qkHkMmSgz1Rp6Faj9ZPiuIDwW67ThY+jKzlUBK+Es0UcyfNMRiNMNGzA7iOnkyiY5uMMAC6zATkyYZBYFLAd0XoJKsxJMRKugUrRiJqVtbixSAHqt7RqtbiJOqAxWvL4J6mBIe4K1.dB9P70fxOBfRg.yetYxNecHyGywm1kYDgMW270LlEp9k2cPh1lQtWzT6UIvH9Z3iUk27QPnA3YDLILWqZ45qt5JSCMKWYkZMpZjENROQeMw5qh8O.m0NhJMn8KerFzZ7atBdO9ZXw6e76N+Fhpk7Rb0oNMuIrX94+1rqKeVmTX+KJw9WTg8hKNkRRV72UlkIyO6gaf3CJIqX5nqg2aAgdFXfWZE4621yYh2SNQAoMETdCQYHmfsZKtqcVxe7FLHFQZ76JVxJ3KXVc0UpuDHqVdEirxd02Hs0iZUJWakF0WcoUMtJLe0YIqEy7urRzTcXuOi35e62obcsYsjCOH45+VMUKRx0rmrSz1N755kp8BfEx4tOiDMfvG+tDjpOKP5iBTfzqnCROKEO9Flye4KQ9EI79FLcADunX7MysG7XDEHeJq+j7lGr6iHu4lMOXhfnNufwRGTw+vuG+7OoGTg8Vyz0Y0uHkqyet48n913K9n89TwVN7tUR6AEBaDoOiIeKT+Ilw150eoXQ3IYcO0ahZyn8bWOXnmYuorWVR7mJi0a5z30lBMB4L9MAMpd+heQyc6zALTjPf2vbu28alWlX8o+4kS+eoozwcBPE41VPK+0lmie8y4UF+e8x9JiO3R+Jimc2Rtwka2Rtf236a78t236Kqb7qLwRSv2hZa4ttFY9Skjoo4826ABZS9WWH0rk7ZTi0um3ERxyJp9u7e+e4KuKJVzLU5TOhdJdYJ6q1ol3Q59rtn2DsRNlAFzaM1yRu6s5y43ld2Msvlgw847A65gdTr0GjC6QCvsELfElZXfg8Xtzh413qcsdkM65w8YxsZTu7sEu+UQLf3W8fVfcbYL0uu4x0KAe5ba76U2F9p1Cd177Uw5UkyeM+ZWZQSX4mDujiRneOzQfjJiE79NjJU5O+Xy8bYmIdM6ED3OxT925D09bOt7UVWW15HFDYAF44LztlJqrI9tzdh99ncOLVKsgEhFgF0kO6O7kexFs.Y3D67aTq1+1cOh4x.kjjMNwei8kAyjYhjogOQwaiWkO8b6ES5DkpllIJ+Ylv8T7Ml2L5m5.wxg1iWEKauS.6XYnpZ1HjWM+rfMF5WZvyv3aDF7oN9nq+m1wGcDeHtwKpjUxYdvv9xqrBL6P5bt3gzj6Znwb4ykwmEdDXd1hG9egOpJqfOmSUYknJMjCt1gQnRSDz2mZpARAB0zHHFwNoDUT1Eju3O9G+Ou6lCOS0nXQx+YQYSYwKQVL200w+WJxnTK7c2E+8CRf9OmXSv91MzuGXEBtMOV7BZxCRMvsX8cNF+ckPuPPkCMqeDJ9lxELGeYSmRUe0c2CXxo1mV3qjsPOXSwOfGoj6u9+eHoeOI6uT+NIMWzuSRRcsXJU86jTxoC7T5YcprhL9NT4Ehr6gYO4zYD4YyMxJC8zaeWLmhqBLZQto2fggxmx8bm+Y6naAXxyqvv3XwtlndaxRuKEy5XOLdvvvj42L07iaDh91YbgyOnNCR4QSylA+JlOOq0puu5QKkbY9yStL0gsnukDOCC4alxnmW1Qe6HiZd9mv14Kifo6kRFE7ZANFBENFNWYwu3Yir309NNxkToloL+8Rfma7mYJ04UgDP5SvRmRNhy6qwqe9u+2+ec2cn8G.RCIQ6+eb23iSSOvU+wSDa+iz1vVwXA9VYOloEb6miaZ4yNAquMhbSChMkP7eVx9mRjaG.AVgQjdp6rpNfe.KbD2GS+B+sXD+MXzPDtm1cV4YF5j64ujVJeYyCqPt76L5W8rK8qKucRsPiuH22e0cmpURsiEUK15qlASwBz2ecpmNr9uVN0MMWrRiqhCcL9nuYcnChoU+ZIldiKmc1yOP8q.0V6GTTa8ePQsK8CJpc4ePQsq7CJpsw2Cn1uMhC4OUli9TKe9Gp9MjPDlhnD.a8DWQ.HxH7YRkIuMvfSJmOzxJ8PMQGq9z1wZOscr9SaGW5osiK+z1wUdZ6XiKti3lRs4PHxIotngw9Gtq7ftxEeJaf69+ODJbPCI -
@DanH I'm not sure it should...
I reckon HCFXs are modulated via simple parameter connection, leaving behind a few cool behaviours...Aside from the project flags to allow network/hcfx modulation, Is there a flag to build Hise with?
Because even in a minimal project with anextra_modnode and just an LFO, I can't get the node to modulate... -
@DanH said in Matrix Modulation Feedback:
Is Modulation working with Hardcoded FX via the Matrix Modulator
Yes it is. I'm doing it in a project. Make sure you've activated "ExternalModulation" for each scriptnode parameter and then add your matrix to that parameter index once you add your hardcoded effect.
-
@Orvillain said in Matrix Modulation Feedback:
activated "ExternalModulation" for each scriptnode parameter
Ah, this could be the missing piece! Haven't seen that before.... Which of the choices do I want for which scenario?
EDIT - Boom, working! Thanks. Went for combined....

-
@DanH @Orvillain Same time working here you guys rock

In my case it was the parameter range causing the issue...
-
@DanH Yep, combined is what I use too!
Also worth pointing out, once you do this, it is worth setting the effect instance parameter to maximum value, and controlling the actual value from the matrix.
Also - you don't need to have a matrix modulator attached to everything if you don't want. In fact, some parameters you can't right... coz they don't have module entry points, for example in a case where HC effect doesn't have the parameter external modulation enabled.
In those cases if you set the UI knob processorId and then parameterId, and then give the UI knob's "matrixTargetId" field some kind of entry... then that UI parameter will work with the modulation system. But I think the difference is the rate of the modulation will be locked to blocks, rather than being properly audio rate - which for CPU reasons might be better in some cases than others.
-
@Orvillain Yes that's more or les it as I understand it, although you can set the block size.
I find that I need to restart Hise in order to cement the connections, same for you?
-
@DanH said in Matrix Modulation Feedback:
@Orvillain Yes that's more or les it as I understand it, although you can set the block size.
I find that I need to restart Hise in order to cement the connections, same for you?
Hmmm, no don't think so. Just recompile.
-
@Orvillain odd! I'll keep testing. So, I remember now, that this system removes the non-modulated value going to the parameter / knob until a note is played (bad for Filter UI!!). Was there a fix for that? Seem to remember it on the forum a couple of weeks ago

Also, do you put anything in the processorId / parameterId for the ui controls? Or leave them blank? Seems to work either way (but neither control the non-mod value as above).

-
@DanH for the second question you need to set the matrix modulator Value knob for processorId/parameterId
It becomes your unique entry point for both modulation and manual setting
This is why setting the parameter range is necessary -
@Orvillain
If you only use the “matrixTargetId,” you will have limitations in modulation. Furthermore, the modulation will only be monophonic. This is particularly important to note with envelopes.@DanH said in Matrix Modulation Feedback:
So, I remember now, that this system removes the non-modulated value going to the parameter / knob until a note is played
I talked to @Christoph-Hart about it, and this is what he said:
"Yeah, I have to change that—the problem is that any envelope will only render a signal and send a UI update message when voices are rendered, but I need to change that so that the matrix modulator sends out updates even when no voice is present, so that this is updated correctly." -
@Oli-Ullmann something else curious - the value amount shown in the Matrix Module bar isn't the amount set on the UI slider or the 'Value' slider in the module itself.
