Issue macro taking the priority
-
@Oli-Ullmann No, I was talking about this:

Making a very simplistic Script Time Variant Modulator works well enough to fake a macro using stock knobs with
processorId/parameterId
Oh yeah mad bad, Constant modulators are voice start... not for me since I'm making an FX...
-
@Oli-Ullmann don't want to hijack this thread but do you have an example of how to use
setMatrixModulationPropertiesto set initial mod values? -
@DanH
I'm at the gym.
Will make you a snippet when I'm back at my computer. -
@Oli-Ullmann Thanks!

-
@DanH If you trace
ModMatrix.getMatrixModulationProperties();you'll see how the object is built -
@ustk Will do - So every knob that you want to modulate you need to set this? And does anyone know which option suits which type of modulation / situation?

-
@DanH I do not really understand that selector in scriptnode, I set everything to
Combinedand it seems to work fine for me -
-
@DanH Once you have set a parameter as External Modulation you just have to set the corresponding index to the extra_mod.
You don't need to wire the parameter anymore since it is connected internally with the extra_mod. Then wire the extra_mod like any other modulator node
The indexes are in the same order as the parameters are set
Here the fourth param is idx 3:
-
@ustk Christ.... Ok so if my parameter called Freq 1 is connected to my Filter Freq node's frequency knob, and I set Freq 1 to External Modulation "combined" (or whatever), then I should now remove the connection, create an extra mod node, set the index accordingly and connect that to the Filter Frequency knob instead?
-
@DanH Exact

-
@DanH Then on the interface side, the slider shouldn't be connected to the scriptFX parameter anymore but directly to the Matrix Modulator Value parameter:

From there, everything is linked internally
UI slider -> MM Value -> Network Param -> extra_mod -
@ustk Thanks. Great, 100 knobs to reconfigure!
-
@DanH
In this small snippet, you can see how to set the properties. Unfortunately, I believe that you have to do this for each modulation target.I connected the UI slider in this snippet to the ScriptFX parameter. If monophonic modulation is sufficient for you, you can do the same and won't need external modulation. Otherwise, you have to do it as @ustk writes.
Here you will find all the information you need to set properties:
https://docs.hise.dev/scripting/scripting-api/scriptmodulationmatrix/index.html#setmatrixmodulationpropertiesSnippet:
HiseSnippet 2242.3oc6YrsaabbcVRMxVz0AwMtHEEn.KT5CRsBBh5hcbCJzZcg1DQThUjVI.8A2Q6NK4.s6La2KxhNv.En8A+RQereK8s7AjBDT+Cz9Gj9EjdlY1k6thLTzrxJH.kDffy4LyYNmybtMmocnvlFEIBQF05NHfhL9Q3NC3w82sOgwQM2CYr.1W3rG0Wf1YP.IJh5fLLp9DIZiElCo97MauCwivso4fPnSDLa5ALeVbNz1VeJyyqAwg1k4WX1aZ0zVv2U3IR.VoJdMT.w9LRO5gD4zpfQOkD0GY7KwqsoM4iW2cqM13QO5ga4bJ01sN8zGZSVaKh6VD.5ljM2p9lHi422gEKB6DShoQ.Q2Q3LnSewK35M3DVD6TOpbPcTGXm0fQ61m44zNSuDg.B0NWKUUqktOtEygMDdt158UHLyWQQklQkIwR0eKXIiBrzbZV5d3N1grf3bLR94N3l7XZnKANaJxJ54hp7Wpf2U.yfGupO4LZiPXvvUrzCVasULgeV9SpUaedOFmtJwwokvIwipDhthmEQCaGRinwKs3S7DmR7LU3IfbZJIMnYng0WDHAbBGEa56a9aLSIlcHEHR57YBdKRbH6hqjPYTR3zjyhkLRRDPzunlo4hcndT6XBnF6.1RflXwesYbXBcEIx8ntjDuX4pNg3knPJWEfZ2jXgqKriCAA.ggTX7hcrIdzEWICrTAwiXwC.b0Wcsb3QGJB8IdrWRcR2VEpWA+9JECbLg2iBmPAzvX1vs+U0dUsZ99qBJQsFHWijO2kJItRs.nThDdzUCBY73khCkmX.U5MQpr7xK+ItIbaIXSA+PQL8H9RKW6Kps.vElWFkq6XwIOOBEddzvwhV5bGNoEtDOw+TZ3JlmKOFFNQvXtrGx7SmGhs1DtvDEbot5n.Z53FBOGoku7+i5OgR8AjdVobHL0Xke06k5W0wi4PCQLfH2B+obwo0QJlOKHl0e+eZgdVy8HwjLx.TLWyCv1idNDRT6tt.dOZzYwh.0b8CDb49a7dW4ldwvnl+wyrFjGBka4ybb7nsEfkInrkXpJQD72rhhoAc.qxhQr8KF.eSKeRNge8arhRbcY.DL17ouDAldTYrjFgz+PBkaO.Ejo8Z5nxYn3VyFedcHvcHDyFhfHwbar1uB4qrH6RBAqSIh6fG5vgXwT+rP+KLOB8st5bEiDhCBtlEQnXDWYtnba8Rg4F5oVTxeKBCu1DCCOsr38vsYw18GOOVYL7HX.8tfGSSdcW79ttPPxbFbNbiOeVyTM8a+s0a+OCqCumqnxBtq3keNdBQ+mPMHe8zVCRvTWCxkiFM64qm6cUIDyMcGLWQ3uozN9CF4nI5FzaqTQO2SylX7AMNJUqA+Kmwpe0L1Nr.gGIThOOt1P721RZgzL2.y5uZ8YjyotPF9zH3CozAzdvdVDRWJDQGJj1tnwXGegHtOi2qrc28sNPHB1mKqYwoHQZ2mDIy.CkEThL.Y6JZQff5g65IrOqHxl83hPpNqdQ36lDEK7yD.UE0cfjBprUF+N7C1bU3i6uR96i1E9YiitdFit9p4sxTakJsDFdjKsId6sRug8qjb7Pive.vwSLiV0oJi10N+N6Y2tdXkiEIwfyst1aHzzgI95qf.bBmS8fMBaTQ5KpGulbrxglxcTC9V3SJx5xwFoHqmgDoIttFyhx9Gpk86fkd3pKvqj7eBNyi27ITH+4nQFemmC8H3xXmS6FR3QAhHZ8RQxn9rtPguQkfdoUr9XWQIn6QiS3kIsFToYIUEM.UQ8hA4y.tdQfsI7RDCFWhRsX40Ji9WaqCc2gBRtyQQ1fhQpmKEIOwKh9YLm390KtvbvqWD7SIgNWN2gQ0o1jsXXzxkFWX92js43FMxz2iWGnTAJKjwicX9Adz84mS8fqBp3weLNsQDYPK6S1RvEA8EbVIKfiofqeudzRFViUfdbbLoXUA225XpGEpkHGzuv5.ndZRXK0E6lIcwaeGpF640OEqYWSYfDy+WN29+I.u4ud23Nlqk1M.XOkadolCLlVPZ7ZbdChBBoAjPZWQaOxfkhHRWmiAdbEySkU5J6gwncUJsWD6HmwR1oIamklOM+0jw+MRo.CaYE5PZ7KDgmoNNR+ObYastORojet6E0QO1yS7BYqlXoVrvYfBVag2fr3MFU0yHiSeruHQ1WJM6latuS1wQFm+TRTWByS1PiNIQA.qdDuCPGUwDFUOgFFo1yagWaU3K3MbnJ1ysZPrAc9f1DnlEvsxN6t9qZOz9sjXTzDR+5.kPKoZV8GZNCDHeUu0j24ANMam0fJYK4pXTsPK5z1yxQfmaE8V2L5DIVahG5Dc+9.UgbWz5akPLubpXbz4tnRhycwtLO4NspD0nbtdISlkKyfRTfOwEYsYrgl94+Ux2bG5EY1I6Cl5NP.D8M8RscJnBj48yFAhaKF+jhc0TVRWKxEkg852X0YjNJB1mmQegV7SgZ8m7+GaqeEh7aX2kdQbWghffI74ffI23hynMom9Me5jb5SBEIApAkYA313o4PGAdSMQUp4Gm.25knGTAUPPqcIA0ZiMdy1WRP+xu5q9noSPQez+4qUBZU7u86T.eFbr3BV1NSk.BI3Fq.Bvmjb.eV+KG4.Cs9TJGpZJ.4XdUUTeGhhr001rSodSmfHKFebBhpv5IIHP7lQDjuY6oRP98evduI0xaXWWtVNXr92u7OOtCFE7YPdd+wbv.x3DNXTkrcMYi8N+nYRhxB3rddcC5wniwmKa2UxICekhq+nevoU4P66eAru7gc+VkSrFdOVjVULdAc7x0lVWcrzhACGQLTuREmpJOJJ8QqRGlleV9TM5jTsK9rNE2AzNBwY9DU8Gyz6eM82rCt28ObtgvGhOJxdcS00DL+9+dB2DkjdSrG9D6Pwys0UxKMZusBBH2bUIUKfaIGadoWmU9wm4vdtscYRMxBWeVW3Fy5B2bVW3Vy5BevrtvGNqK7iu5EJ6nTZ8ZR+DHES680UsZL7wQLph9uKuIxIBAll the best
Oli -
-
@DanH
And here is the whole thing again with a macro modulator:@ustk maybe this is also interesting for you...
HiseSnippet 2356.3oc2Y0saabbEdHoVYK5313lTjh.TfEJ8BoBABQIJKmFTnU+QYBGIwHRIazaTGs6rjC3tyrc+QRzAFn.sW3aJ5k4YoW07.jBDT+Bz9.Tfzm.2yLytb2UjlhlUVAIzvBbNyeem+OygM84ljf.tOpP4188HnBumVq9rvta2ESYnF6fJLmlK2ZGhKGsUeObP.wBUnPo8DSWXtYPxOe2FagcvLSRJID5DN0j74TWZXJ0lFOg53TGaQZScyr5ZFML4rs4N7H.JkzVF4gM6g6PN.KVVQMziwAcQE90ZKWyD+nUrWa0U+zOc80rNiXZWkb15l3kWCauFFnVCWasp0PElcWKZH2uUHNjD.G5Vbq9s5xufotfSnAzybHhAUQsfaVQFscWpiUyD4R.BNnloRoRJozGpsO0hNfdpz58kSnmtirBsBEGGjp9V.oBYfzLJH8.sVl9TuvzYD34dZMXgDeaLnaxBE0ZQE+KE01lCqfEVwE2iT2GFLXGK7vkWdIc3OK9YkKuKqCkQpfsr1maE4PjLQa9wAD+l9j.R3ByumC+LritbdLvm5hiFjLD+pyCGAngCB0cc0+s5wGloOANj30S4r8wg9zKu1CJ4j3VMXzPAPhBfC8KKqqOeKhCwLDChwVfsDHIl+2nG5GQVRL4NDabjSnXWmfchjSJ1EL01Qgbaa3FGPBHBCIv34aYhcHyuTBYg.hEPC6CyUsxxozCNf66hcnOmXEesxodA72WHAvQXVGBng7H9gzAW+KJ+hxkccq.BQkDHUhjt1ExwtBo.HTB3NjJd9TV3Bg9BMFbJcF6or3hK9Y1QLSAYcN6.dH4P1BKV9KKOGfB8qNks8HmSnO74NND+QNsv41ebabAVj6YD+kzOWnFFrPvXNuGxrSlGhoxDNyB4Lgr5POR735bGKgku36C6Ogh8A.OqhwHDVZnzu5mD6W0xgZQ7QT3Pti1SX7yphjfOIHlwe6eZfl3MuR9MKBghNtwN3Prv6NFNopMf1Njyg3oJe84z1gDzKj6IwqqGmI.ege50h3KGbg+wdF8SuclgK0xxgzjCl0flRLSIwDdekQPHwqEXRmEqtYi9WyvEmdvu7UFAQ11Tfhll9ieNBraIh.Q08I+gHByrOxKQz2vRlvQhV85OqJD02GB3CgeDybWMkSIxUZN2F6Cl1hItm1.uUDMj3lj2XtYQnWaK.QH4xP4Abb6CqWWneGHjl6Z0LuAgj9EFW4x9Ou9qRur6ns+laezgCA1xZ6iM84Brliu+XEc8XSlzfcWQJ7dp0IiWAIPGJtOjwIYmYSCIRPmF.HWr+AguxpQeKxMs7XyMMoP7AZMoglcGMFKNBLJbNeGfw3L52WaWaaHyQJ.mQq9yl1z2S90eW00+wZpbdoBpjLdRr7K0FSJwwTX12NoEl4MwElc0PzSeQLy7tptpYlLEy0jSXBsi+fgTMA2hda4pDbtAvLNhiBORXNlvMWKZ2h5wcv9h4gx8ZikHK0dRdvMXVjKyRskKmG1Mu0D0PtV4IHy0Ipr+Fqp3ajHOklnHO23VXSeTnaFnbDOJjx5nJbDxbePjqp9Y.ILFwAtHsBEEUJoFurXrTMSXVxAuF9DOYUw3BwSVMYRj5vyTiCiXpJ13NiN299xJGhuGIZhsxTjFos5lQWdESwu6uKoMBsZC14P4UJwZVkwGoTF2S6o3yIxmCKUE+b4XanDe88HPf2g8ddmG78P3oMmSZ6iYAd7.R0bNbDWZanHmfbTuxNVYj6HG0cHgQr7GshTtUIDE0AQQl0cWiDhqjkXSLK2gAiycR6Synr9WarKS93MBv4VGFXBBFYLrLp3lQNAjmRsB6VM6FSIuRVxOF6aA5PybtyklXenrgbxWSUl0ea1zfa0jaeOVG4nyr0h554P1Ebbcf2FIw3OSK9Y8ITy6StOmw85xYzbV.GQfXQc5PxYXM5.JggXydoT9PiiHNDbPF+zekwmCEhg8UwqlJYwae+dFo95WnofqtHPh9+O5saUyrebkQ9lwjOVdUN9cpvcJt7buVdDMzqvK0Ra2hmOAdJIoMuoCt+BAXgqyQ.FWR+LGtYOwi5GtGMwORcKwJVvLN6+zzJmYuoJq61n1jAM.Bc.I7BteOo5H96vqzTx9.oP9T6Kqh1zwgegnsBzXKVPGHo0j6zOIdSgRpUjfzMc4QhdPnfap49VIpiDj+XbPaL0Q7R3VQAd.TOj0BNGYwDEJcBwOPU3j1xUf+AdCGHi8bm5XSPl2uIFpYAbqLSdjXEyA1u4XirlPpdsmaZwolT+gBY.C4J6iBT4tPa1LoWEhdTUrPoL8rRYOKFAdtEUWcifSDyZhcPpNZ.aRdKJ4sjIlUrTMsfysQ4Xm6qYScD2TEwTCib0VFOjyCPYegbHCpIst57S+p.2IkbJrS1EL0sf.HpGuDa6jQDHx6mLBX28orSx2luZvKftLOsW9JiVC0hMv9rG4BE6GS03O49O1P0S+zVo0lbYXaUyg.SXY4r94WQSbG0ufRqny1ymG4IGjGBF+Ui3bnCQOaMxaBUl6hUCJhxvnkuBiZr5puZiqvne827MexjwnnO4+9sRFsj1W7FYviA0hMXYaMQLHjfajLnnsqigOfOq70CovPqLg7grlBfOlUVE0afUD8x0jdFwYxXDQw3ihQjEVONFQ7N8KGh6mHF42+A67pXKO0q5gnw2HJFi+8y+yiRwHoOE7y6OBECviiQwHKY6FxF6ctpYbrxbZpGNYca5wnhwmxa2WfjAss+lO5GnsxGZe2Kg6kMnsoxbhk01gFnDEilQGMeUy35iklMX3PrQ1VZDb0NbHyOK5ugJIUyrc3O6Mf1hy64hk0eLU+fPS9K6f2c+CmWH7QZGFXtht7YB5e++NgaiRRuMtCWQ6XO0TUIuvn8tRJ.eyjkTMWbWiqd0etRDxkZQO0zL4nJTvL42D15TuL0.QmveqKwAI9IGGP3TEDdP7dSamcte7Q.H3rM6aCnD7ry1k1oa1oCf.K4FCAextdZFWbeB1hyb5KJ2wLMhv5ZqtdEV6G9jGs8V60Y6JUNY253kOtZynZNl8Zrm3+U1bmlOi9EO82U835v2OuRkJHznksqbsx12vFWcZ2XsociqMsa7gS6FWeZ23it9MJZ5VbIshPIPV3l6pJruPRtTQig+eyuu6k. -
@Oli-Ullmann Nice, I didn't see we could connect the macro knob to the MacroValue parameterId...
However when moving the real macro knob (from the Macro Control panel) and if the CUTOFF slider is a pluginParameter then it move accordingly so something still feels wrong here...
I feel more comfortable with my solution of making a modulator that mimics the macro behaviour. Perhaps in some cases it might be limited but for now it seems to fit my project just fine, so I don't have any reason to use the stock macro system anymore unless somebody shows me if I am missing the obvious

-
@ustk @Oli-Ullmann Thanks guys, hugely appreciated. Big job ahead of me!
I don't necessarily need poly modulation in most of my modules but I do want the most accuracy if possible, hence I'd like to use the Mod Matrix Module - for that I need this system, correct?
Also, sometimes enabling External Modulation doesn't create the slot index I need for the extra_mod node. Anyone else experiencing this?

-
@ustk
The advantage of my snippet is that you can assign the Macro Controller like any other modulator. So via drag and drop, right-click, or via the Modulation Matrix UI elements. It all feels like a closed system.
But maybe I'm misunderstanding something and your method works like that, too.@DanH yes for sample-accurate modulation, you actually need the MatrixModulator. Unfortunately, I can't help with the problem with the indexes.
-
@Oli-Ullmann said in Issue macro taking the priority:
@ustk
The advantage of my snippet is that you can assign the Macro Controller like any other modulator. So via drag and drop, right-click, or via the Modulation Matrix UI elements. It all feels like a closed system.
But maybe I'm misunderstanding something and your method works like that, too.Yes it's working all the same since they are modulators in the global container
