MatrixId disappeared for linked sliders
-
Hey @Christoph-Hart
In the previous commit, I was able to enter a MatrixId for linked sliders in order to control the modulation from them as well.
Since the last commit, this option is no longer available. Is this intentional? And if so, what do I need to do to be able to control the modulation from this slider as well? In other words, how can I assign the modulation from this slider and how can I see the modulation values in the LAF of this linked slider?
Many thanks,
Oli -
@Oli-Ullmann I think now it will just take on the matrixTargetId property of the linked slider, no?
-
@Christoph-Hart
Unfortunately not. I just tried it with a new project and it's not being applied. -
Hey @Christoph-Hart
The problem still exists in the current commit. Do you have any idea when it will be fixed, or is there a workaround?
Here is a small snippet. Maybe I'm doing something wrong.
HiseSnippet 1133.3oc2W0raiTDDtmjzgDyOh.6IjPxGyBqVYm33jUbHdiS7xnM+Xg8trHNrztmx1sxLcOLSOgXgPh2.NwS.uA7B.OBvIttOBbmCgpmY7LiShbbrBKBlCibWUWU8M0+tcfhCggp.hUoti7Ah0aQ6LRpG1bHSHI16SrdOpqPdJ3zwU3.AcgPMYuQ9rvPvgXYs3SL2yZ0kHwO+4t6wbYRNjShPdtRvgCEdBcN01Mdpv0sEyA5J7Jb6ZMr4JYSkqJBwzhzJDeF+T1.3Xl4ZKPIeJKbHw5inaTqNayZaUoVs56Tiuwipu0lPkpL9NasUenGTcms4U1Y6M4DqkOvQnUAczLMDhJcOkynNCUeiLw.OWDJ54BlCUIcPKmPlzbnv0o8XGTHgXQam6tVLwccO5QBGQF8b216FynbtDEcZVKLMHU8V.IqBPZoDHsFsCOP3qy4XvyaRskZHnOCiMEgRxcIV+JsoBufT+PO1oPq.7Pl.qWuRkGTFec+OoejjqEJYYk7XkFNQt98K8skVsz2Up7kY0u+0xyXl.kqKDbsrMoCASSv0kQd8ffGT9LlaDjcQ7yeRe5xylOkm7UW3hJosTnOwGRO2R45X7Ulee0H.I0sYhEoHDupNNR7NoQhjRGh.UxaPepT0qJIF7iS6+ie5U6Rdl89LMarZPMhVwGBzByGi09vYXQTR.dU59P3oZkOVOzT44qjF6asxMZzyyqy9hFixN7J+F8FLtja0kIjKtvPVnAuoQcihj8X5.w4cYAC.sMZxkoZSmBRA7U5Fv2FF7QsdfEgb2hsP1Yfsrc.DBZSJu+3vmAnXGkj9acU4NJxUqpv5YkSjKSOYQto8WJCLKchJKS4iLTnGUr83snxuxTq7mUHtFssPyGd8XbgqAiXF3+DXLse4aSOneefqyA3RzVuXdaNN6lekDy+Azm3p5wbycTXsFhDHoI4GlxtbF+xYWn5TF68ay5XO+Ydr2kamM+iHV5egoV2M4tu+UBGguFqvlX15ZIvjROr0IodJ7W4.q5MCr8D9JWVfgeq.3qi.IeL+xe+O+W6ZxJrySpZ7CM9brwUeUfWZa+LMcHL.sYQJcArMKt3FuXBXGOkROTHGLYt18ZbnR4efjgdAmhJo8PVnYrcbaxBpAUaW0QrPbafltJ9oEYZOPpBfjUAJRuYTnV4M9CHtMaGM3GOhy5Ko0q8P7o+Gad+nl3qMO4t4L4ta0pEl4rTSlPVH2jSb6yRWZ1xRugcQtUHNKI7+.HdpSwV7+2Sw9LUjFKhOJdCKrEzwQdcvwDb.stTBtglslVvTykbth4bbgKHchObA9jxrp4rUJypiYRRTdgEPkP7Z23JQWYmNLH.iMYBPrkNv4is5kCFe0y9wee2GGcd5kxRn9kXZWSfyVdFt1ahW70xGuGiGndIOY4cSk+JwTv.hL9OctJ8Hy4xWZq830dwokujymTUWQvMlWA2bdEr17J3Vyqf0mWA2ddEbmaVPyxLONBGDkzyfPNp8AIifrxl+gIY+MP4FN9O
All the best,
Oli -
@Christoph-Hart
Sorry to bother you, but is there any progress here? -
@Oli-Ullmann ah yes that's fixed now - the problem was that it didn't work when loading a project that uses this because the slider that wants to be linked wasn't added to the internal list yet - I just tested the procedure with an empty project and there it worked.
-
@Christoph-Hart
Good morning Christoph,thanks for your reply.
Unfortunately, it doesn't seem to be working yet. I've created three examples:01
Using a MatrixModulator with a slider that is connected to the value of the MatrixModulator but does not have its own matrixTargetId:
Modulation does not work at all with the linked slider.HiseSnippet 1471.3oc6X0saaaCElJNpKwcqaYMXXX.CvWrKZ25BrcrScvtnNwINynIMFQtY+cQAsDsMQjH0nnxR1vdF1qTdD1iReC1NTT1hJw4mZzTj8iuPv7mCOe7vy46bH6J3tjnHt.YUr2ogDj06a6bJSNp0HLkg5rEx5is8orib7odDQORjrbEzlmFhihHdHKqB6nlm0hyiR985msI1GybIYcgPGxotjcoATYVuca9bpuearGoGMvX10Z1wkyZw84w.lJXWFEhcOBOj7BrZZyYi9VbzHj0WZuZcupCpVefK1aP89UKiqWtuWs0qVop25CZzvcUbspdMpVGYcus8nRtvQhkjHj07ax8N0YD+WXZEbHMh12mnZTA4.ZV2catumZKp5E0ZD02q6XiUDBVztYltBZS2x16Q8nS5OyD9QICTJSBSCn0b4gWgbvqhI7Ja.uo.IKCHMuFRKY63JngxrQT3491cXRhX.FNmLghdtHqyrawgIvjqDfOhzV.MlHviVqb4mTB973uYPLyUR4rRb1K3Rx9rG83h+VwEK96EKc9gFLXpioTif66SDScXkqg3pD7Qr3f9DwSJcL1OlLYhv1OuM09xsolG4t5cswD4rNLpb+PB6xbDPolJk8OEUvTkIV+GjZ80AOHJXjeO6my38qfR.rYPB5kc1BKwiWFXEAsDRDRpZCXsE4XHHRentn8Vjnij7PHdnEOHjyT52ZwqUomjoven4oSZbV+lAlAwMNK.aL0FMkjSjpU4vDPGNd22AV5GZuGVJnmTZOtWrOFr4UfHVADrB9Kc7xjBYfzhWCRqZfzyD4QphLh30imsqtZrGgOlzg0UPhHRkOdNzCzI581GZuax5VJEKnKFJAAwi2hlQ1J9uzA.WybgSpXFVDUdpI+3asv8aJDWxtKU5NZ5XbtofQvE71.iojjef81CFPbkY.bd61e+sCino5WPq9OydGederelgBB1.jPzLied5vYtyklLgqJu2edSy6Ediy6cdNr4uYbXWSZq4uyk15l5G+vKbzD8NLZKWx0kzvz1d216mZof+YRAds.aSZH2GKTi2VP94XBy0X7EZp7P5j4f07OZ9c.Q1.tHHMGvjUZWxPPml8zi.LsPUbtlNiNAbtbDkMLue2xM2kyC2lgAqfm4hzcDNRk2Ng1zXYfksGeObDPu2xm6dj4fcFx3BhtV.y9aEGI4Ai2.IztNRRXR9NqexdsZq.+F7Upuq2B9r59ucZ+lPjU4pO9m6F6kp7Dlbjq7ItClSPixINd2QQ4Ul4pv+tybc.OVBAq5hq.plWDG3.oFbIf1YLhupnVq4TwV51kUsSBPILujF+E7KcvJp1VoCVY7fH8haT0IijTeMTZUOrXHQdYE3A+MYOTEowTGlG4D8Vw3TYY6xqrZ45q2X85quZ00dZsZkaf1H9jzYeO6utxJk0cLQFaPF0hbLT3qNKV4bGEOPeTbeaGHibxEUSNH9jj1kTLLk1g.4puHK7sd958ckf56IvrnPdTtE1gDP6A09FY14KiHp.vCTd14HK4XwTG50OqMrImpLNXYrHIDYi.dLKGisUg+uNh6HkrmqHhEGiQGZPnOYavm2GtvW5atrEY.N1WNt279x6wY7vQbFMWF9CHPb5vgDgI1m5FZCoDal4d4lGP7IXSm1unIbgHBVnC0mIaQk23WqXpmWepsFtkTAfk9m6UstkSXkydVb7q+n4tm.0zj+WjQeF8tLphcpm.5B+Ruo8gm+IOtjRR6z77TVyrSlVmGfYCIJScGVXrT2xx9pe1frTPVEfZcCcn+JIeM1mHgLlISRjjPB33kIb7n8ikWldP40C5ZzSRVBf7rKGrrJ18nejH3p6s+eg5SdWni.rqf+JW8C2oBiVHoGXeyRdv4EgfEncoo7hcAPRsW45leotffUmUAWcVEr1rJX8YUv0lUAe5rJXiqWPUMGaDCzOZlXDZutaquwo0jq6ZU.82.c2ukUA
02
Using a MatrixModulator with a slider that is connected to the value of the MatrixModulator and has its own matrixTargetId:
Here, I can select the modulation using the linked slider. However, the linked slider has no handler for the modulation intensity and no modulation display.HiseSnippet 1478.3oc6X0saaaCElJNpqwcqacMXXX.CvWrKZ25Brcb9C6h5Dm3NglzXD4l82EEzRz1DQhTihJKYC6YXuR4QXOJ8MX6PQYKpDmDWilhre7EBl7vCO+vy46bH6H3dj3Xt.YUt6oQDj06a6dJSNr0PLkgb1FY8w1AT1QtATehnKIVVsNZqSivwwDejkUomoVm0ByiR+85mtEN.y7H4SgPGxodjcogTY9rcZ9bZPParOoKMzX0MZ53wYs3A7DPmJYWEEg8NBOf7BrZYyYi9Vb7Pj0WZu7J906Wek9dX+9qzqdU7JU642Xi50p6uQ+0W2aYbi59qWeEj0c1wmJ4BWIVRhQVyuE2+T2g7egoEvgzXZu.hZPMjKHY8zs4A9JSTMKp0PZfemQNqXDrocxcckzttEs2i5SGOetK7iRITImCSGn0bEUuRETuZlpWUC0aBpjkgJMuVkdfsqmfFIyonzm6Y6vjDQeLbNYpJ50hrNytEGV.StTH9HRaALXLCOZ0pUeRE3yi+l9ILOIkypvYufKI6ydziK+akWn7uWtx4I0u+DooDifGDPDSjrJzPbUL9HVRXOh3IUNFGjPFuPv7K5Ssubep4Qtm1pMVHm4vnx8iHrKKP.k4pT9+LsBVpL06e+LuuN4AQAm76Y+bFuWMTpBaljfdoy1XIdz1.6HHkHhPRUFf01jigjH8g5B1aShORxif7gV7vHNSIeqxWqPOIWf+PySGO3rdMCMShW+rPrwRWuojbhTsKGlpzQirdGXqen8dXofdRk839IAXvmWCxXEPxJDu33myUX5x5hECHxKiQjg0buqwZpaXMmIdSrlX7wDGVGAIlHUQ8ErG.fYZzTEjHwuKO22p8Qen8toTpjounKlRBfAi1GSDBENZFAHDuPZoJ2iESkmZhy9VC1XZUwGX2gJ8FNYcbtIniPn7MgNlA19A16zuOwSlqfya296uYPVME+c0h+yreV.uGNH2QAIsflPzHredF47XlJiWPsqn94eNs0Oil55mmGKb9oCK7ZJ+M+stxeSab7CuvQS76vrsBEoefVMss2s89YdJ3el3LWqhsEMhGfEJ5sEjeNgv7Lne2lpHDm7.rl+QyuCf+5yEgY0RFuS6RF.xzbltD.MF5FzyLXzMjykCorAEi6Vr4tbdzNLL3E7M2jNCwwp5+ofsFaCrsc46gigxDsB3dGYRzY.iKH5dJLmuURrjGNx.RAqckjnz5lV+j8pMVB90+qTe2nE7Y48e6L9MAHq1Ue7O2TGkphDFejqhItEVSPqkiC7tkpkWYkqR+6tx0A7DIjrp6fAfZdQRnKTZvi.RmwHAplislSkaoGWUMNMAkv7SG7WvuLh0TisxHVaDQjdyM5dkQR6SGZN5p6hB9apMTGo0IGlO4DsoXbprnc0kp2X00ZzXsMVc0kWds5Uaf1L4jrUeG6ut1RU0SLlGafG0lbLz.stJV0BGE2WeTbOaWnhb5EdSOH9jzwUTHLUdFApUeQT3a75066IAw2UfYwQ73BarKIj1E5ON1bxWFSTIfGnhrK.VxwhIR50OsMXjSjGWrLQjlhrYHOgU.w1pz+2GwsjV1KzDwBizQWZXT.YGHlO.t3X1a2rMoONIPNZ1hwx6wY7ngbFsPE9CHPd5fADgotOQCZSoDaV4dwlGPBHXyf1unIbgHBVnS0mIeQs23W8XhmWepsVcqnR.q7O2qZcCWvpf+r7nWQRicOVUyJ9eQD8YL5xnK1IdBna7K694Gd9mN4RZI0o44grl4fLsLO.yFPTtZGVThTOxx9perg7RPVkfdcibo+JoXO1mHgJloKRjVPBv3koX7n8SjWlbPEkC5ZjSZUB.7rCG7rJz83ejH3p6s+eg9SdWHiPrmf+JO8C.pRita5LfcyRe35EfjEXbkI7xegPQsW44Ubqt.i0mUFWdVYrwrx3JyJiqNqLt1rx35WOipdN1LAfezHwHzdc1QeiSqwW20pD5uADNQt5L
03
No MatrixModulator. Modulation via matrixTargetId:
Everything works here. However, the modulation is monophonic, correct?HiseSnippet 1410.3oc6X0saaaCElJNrsIcsacKXnX.CPWrKR25Br7OsIXWTm3D2YzjFiX2tMrKJnkN1lHRjZTTYIaXOC6UJOB6QXOB8MXiTR1hpwIw0qsHcn9BASd3gmO9wyeRcDbWHJhKPVK26jP.Y8Q3tmvjiZNhPYn1air9TrOkcXWepGH5AQxxUQacRHIJB7PVVkdrdcVKsHJ42KezVDeByExmBgdNm5B6RCnx7Y6z3ITe+VDOnGMvX00Zz1kyZx84wJLUBWFERbOjLDdJQurEvnumDMBY803p08pLnR8AtDuA06WoLod49d01nhSEuMFr95tUI0p3sdk5HqqsiGUxEckDIDgrVbKt2IcGw+UVpAdNMh12GzCbPcUVNc5VbeO8QTOKp4HpuWmwjUDRsocxotRoT2J38ndzIymSgeRh.6bMLIPqEJBuREfmiI7Ja.uo.IKCHsXJjtCtqqfFJyknwyMwsYRPLfntmLgR5ZQVmhaxUKfIWKfbHzRnFLQgUeP4x22V83de2fXlqjxY1b1S4RXe1p2a4ee4kV9OV19UEMXvTkoMif66ChoJV6ZHtHEWkEGzGD229HheLLYgpieQNEe9bp4Uta5o1XgbVaFUteHvNOGATFUo4+LToVpLg8ucF6mF7fnJR953mv38cPI.1LHA8r1aSjjwaiZGUVIDDRp9.XsMbjJHJ8RcI71PzgRdnJdnIOHjyz125VWpQON2f+TiSlL3z9MBndd9PGdDUSv4K6ueT.2SsoKi2lF4J.IfjvwxjzDP.0tmx1Qn.yT.qdZ.wvPq1HbLa0VAkOG2kx.6efbDX+XfABh5ZxQEjKTw2JWL8ZtYxdms0DofdbOhXHHambTBoR2QnHID1k9afYpGjAYb6KgLpXPFmJlUxXZVUmcD75wyo4yPYWL+Do3h1rNBHBj5nvB7kJg24QAoWDeLd2D.XmcDQmMIfJ8C2K1Wyzl4jzYtyDnOllIBzQ6L0w+DyC5arDUyJDuCti9fNcLtvTvnJ34sAFyRueK7NCF.txb.tHt0O91IWto4uQp4+B7i848I94DkJMgBIPZN8uLSr8D41SVfyETw9ul0J1gybE6WM66hyV12Kof6hW4J3Nq9we1YtZhdGFsUnsf6jBSLd2V6mwTp+kCLmKGXaQC49DgVdKA7Kw.y0P9MZn8PZm6f03OanS1OfKBxpdMYm1EFpro4L8.UBbU+mtlNicC3b4HJaXQ+tUZrKmGtCinXAOyMoyHRjtiijzoFaiZa6w2inxgKZ5ycOzTX6gLt.R6hwb9lwQRdv3CPR53tpZ.IUps9Y7Cpsl52fuQ+bilpGU2+My3WmDYNW70+ByrWp1SXxUt1m3JXMgTTNww6JJJuvJWk9+ckqC3wRUv5dIcsnR07z3ftpRCtfx5LF3qaG2ZAcrU53x5wIAn.yKYv+n9kIzQO1JSnyXgnzM2neYF3l1q10OaeR6kzNVIbETJNZy7fiSguwMwJ3xqUsVsZkcJW04gUqTu9FUPaFeb1puF9acVqb5DSzAqzQuIGoZSOsxU4Bz+sSo+alzyaxqUmP9mSOvuSqQuuqTY9dBBKJjGUXiya9dxj28zmEA5ftCzdyERPxIhoJ5kOpk5PNUc5RjwhjvhMC3wrBYosJ8gdGthzldgFGVZLF6RCB8gcT979pWOM6KDsMLfD6KGOaQe483Ld3HNiVnp9AfJDd3PPXh8odf1TJIlUqWowAfOPLcZ+pFpWBBHhzP84hKbds+1JS895t3T3ZqC.se+80q9PQp+yEodWXi.hqf+B2zu6j1O8FIynN2rjuW5R38zismxGbJPkk6EttE2pynXk4Uwpyqh0lWEqOuJ9f4UwGNuJt9kqntHzlwpW9HMzDg1qyNou1g0j24wpD5eAYF0za
Thanks very much,
Oli -
@Oli-Ullmann Thanks for testing this so thoroughly.
Case 2 was indeed the same issue as before but I needed to apply the fix at another place (alongside with a few other minor fixes).
In order to fix case 1 I would have to change the way that linked controls handle the processor/parameter connection and I'm not sure if there are weird edge case bugs resulting from the change:
Currently the
processorId
/parameterId
properties of a linked control are cleared (and because the slider with thelinkedTo
property is synced to the linked target slider, the processor attribute gets updated from the original's slider callback). But in order to connect the matrix modulator using the processorId / parameterId properties, thelinkedTo
slider needs to use those properties. This kind of doubles the linking and makes the linked parameter attributes being called twice:- with the actual processor / parameter connection
- with the synchronisation of the linked slider.
So now I'm kind of torn whether to fix case 1 at all - you can always use the
matrixTargetId
property with a control that you intend to link to another slider and we don't have to change the general case and possibly introduce any glitches there. -
@Christoph-Hart
I think it is absolutely sufficient to fix case 2.The documentation would then only need to specify the correct procedure for linking a slider (i.e., that the main slider must also have a matrixTargetId and that it is not sufficient to connect the slider to the value of the MatrixModulator).
-
@Christoph-Hart
I just saw that you fixed it. Thanks very much! :-)
I'll let you know if I encounter any problems. -
O Oli Ullmann has marked this topic as solved