getCurrentEffect().exists()
-
It seems this is still broken
I tried to check if a modulator exists and got the message
snippet
HiseSnippet 961.3oc0W0saaaCElz1rn1aKXcqXn6NgdkMVmgcaV1FJFlWbhGLV9wYNqa.8hBVJ5XhPQpQRkVigc+taOb6EYuAaGJoXImplZXzBjpKDz4vyg5ime9NRSLZF2Z0FDt4oKh4H7GRltP4lObNUnPi2Cg2hbH053lfLU6tHlZs7PDFW+G8JvMafRu92ueWpjpX7BUHzSzBF+.QjvUncxfeRHking7SEQkrd6AiYZ0PsTm.3oNoGJlxNmdF+Hp2rZDD9V6GJbZyTG0wsHbic0gKlNW+BUl8OQXEOWx8B8QSgMJS8HsLziX+yngyExvIWdtsHXWlTDEpmEEtK4PQnXo9hnwGmtPPgGkiG3ZqBu5q.u9uN3UAjvkfTiLHcGxTlQD6JVwimOfLVAImYTHrWFJY1hp0ASFpAKTttQzy4iLfvROZuSudOH.t04wsZAgdqK3BpI3fQGenNLQRgiR+fuKHsfn6Yb2RssuOXSPgQ22uAv6wpk7twFgx0dkMoK+kBqy1tSmGOKQwbBsJPqNR63GqZ2o0ezpYq+rUvUWZ1rJWyedLZojapbYeMk45brsJI54byCfypLguzPHPuZ16VqW1ikEdKYnVMVIbGGyykKJ+5WQtFkmefm9kw6QcTe5OWGXWL23Dd3f2ieAzKkULzjrG2dtSGCcSuRkBTidYjubgquaMeAHdrR0huhPYEtEk6luZ0biWe7nWkMaUdZWS3dGxDgiMuZ7VqB7BQs203Mma3iH6OaFm4J.aCxne6ZIBZrdkRuAdpxjB4r0eBYhVtHdtVIXiDRnuNEPMIYB8uF5ZDZjg+6IbEqHJ9W+yfSJWB.g+R7y2avIIT4Uh56Jh0RpYsxHaNeXi0rr4yHKOTAuip02vD1VYnlP.hw7FxU4Peyf7UyWnaOvOFcbQZcveO3WoWvmoMQ4LEKc+.9YvKprlS4QwZfcmUNoMMRqcyEpyVc37cGbfVGuuhBggvxaxj4Tqmq1xck2lgIVmN5RrjN8dpiGmRvgeJYms6BWy9B+8ucHb6QG+1Q9sXQWs0rn6SSyjKSY9b5Mb10LDuRqxM94Ad1qf2ale84jbhwzn76O3dKxI2..6OqSb.CzgTmQ7Rfz7njnovOEv3.PUJtDdQDbMOKSlbOubJ4EWElJ7evU9h88x37E6e4hnHJyneFK6aB8s62NUCfIU5uazD9uGPNnOJ86D8T2851CEAe9+yXL+P+uDvd097vMvmGsA9r8F3yWsA9ryF3yWuA97MWqO9+75GRfoJY0lfhI6mMOAubtDtN5+AxDj5l.
-
@ulrik I don't see the point in the function because if the modulator didn't exist you'd get an error on line 3 anyway.
-
@d-healey I don't understand, so how would you check if it exists or not?
-
@ulrik I'd look in the module tree :p
If you replaced line 3 with this
const var LFOModulator1 = Synth.getModulator("LFO Modulator2");
you'd get an error. So it would never reach line 5. I assume the function is perhaps for use with dynamically created/deleted FX but I don't know. -
@d-healey I still don't understand what you mean
take this example
HiseSnippet 1638.3oc2Y0sbSbCEd23HFVSgogB8m6T8zKbllFrCTZ6vPwDmXpmleL3TncxvvnrqrWMQqj6tZCj1Iyvs8p9dzmh9Hz65s8Qn20KoGs6ZasNNAGGBEpmfC5ny4nOczQeGIkVgRWZTjLzx1Yq86QsreGT68EJ+59Dlvp4JV1WFstzKlSTxPbceYDMzZ486QhhndV11EtmVOamYsR9722YYBmHboCEYY8PIyktFKfoFJsUsukw4MHdzsXAFZeiZMckh5RtLFvTATEqdD2cIcoaPzpMCxx9bq5w.vzVQTzHK6YWV5seae4SEo5+PVDaGNU2npUavQohaH4dZDqkZU2mw8Z0etGYYYiZMLRTHMRbEz5LO1.4CiHuaRG3gVXFOrmIO7JjCdUMgWEC3MFHYa.oYSgzbn1tgrdpg8nwyEPMEJZXGBD1MgRptVy7aEP0kfFB0hAjcoMBgFCrn7MqTYAL7072pHD4iT38Hg3FLNzeU7swIYCK1kpVsSGpqpbortJA5WrHSvYBJtSrvUwjBrT.IKoYI5gLTxK6JC5IEvfu.3YdLc9h+bQGtzkvwARuHXH1tzFfBkV.WZsFap+kN7lYNmFpkzhob8ejOkxK83aUzonCqCtbl6b.+kzNCYMBo+HfB7Geabrvi1A.nGnUhZNW6ZXeZHE2D+TYL2CyY6RwJI10m5tKF7hxmpwUVBO8YrHUTlgDgGnwB3PZfbOJlozxO7.qCVM8JOuF.5Y31I37wZH33jFNS8vf8Ui3.Hx53b.7O3mPZW7Hyqa2WvhDOug9.VEMFsbMzND7GkGQSiVSaT3HBBS5j5.8JW+TQHJUuepQ4RfFqsCuz7KFQUOTC5x4w+AP11QZYZBWpwY4M0Ib9N.yQ4CmQBdyHecCohtonbRVYwCJhGsqNcFaeCSOGa2ZRsviyvxh3fcngl6IzJB6zySefNZ5CS1M2zPighRQSASsYOp3n37rxhmZplLTAppRHZtTFQSaNyCH7YdZVlAARqDPax5a8cMWgnH8cE3UXj5QCUL8jvdE5dPIfTNLGzJzncUxd.a9fkQP7DMvOa3f9C012rwSYdJ+ABdNolOk00GbLxdIPP.wvzyWKRQ60l8S4lCJ5yT55e58XYCm0gA3Ey.3Zjcn7D7cdTZxqA398cL.2y2dDvAnsO35K4qqsS29E8bNWylMegVZJhPHfVzhonAoZrjVk4latWjVH8PEId2gErMqYoKTm0AjIlqPgtXfHho12LbLZgrYmrBYGec1IEtygRX7GOdmYL3Ex7Nqwa1wBtHJsR3PvNKpw2ermA3DCkW54AxNr1kQsj7864KEL2T51D.4fx3dOlSpYYoIlioB2AQw+7e9kZ22LE.B+F6PVr18iI7Qh5Ky5I4jvIZEovjwkMlo9rSXZy6iFLovmQ45UmtErKkh5z8xZnl9+doH6PKRZ1K8wlaNbsr1uV6Qj8ncjgAYTrCLeMZWHBYJYKJvnAErcMWoZGHkJelna9CiekZqIk8VUPf4tmoSZ4ShzkFg5sltodbjRFzGKImVuMPzlTYvdazMuwhvmNep96upN70027US6WgYZyLgYZumd4COXISmscxSyl56FXchPYt8DuAhx4RpMgeqo3zGgxX8Rhru8f6Kgt+aVf8pof8BHMkQxkHRv4UQ8oPv2iJng5YwwUJ6OlzGcn2D+nCa5p.HrUHQD0CNIXUSOOReKY12JTUrHu5ohxokd50.ldUMI06KbISgsHhbNCZmySqyLNV6ecmTp51TX13sYjKLY0wtbL2wvk.ej93nUMMbn3kLE+MjPuQqUXW3TVqbru+x4Nqd+kWq6vN8mx9UyyE4zGisYA83zUE6Q4v0wxdOuUncHwbUeo42ZstTHSOPo4h9CnpPV2tzb4RicBcWkBt1s4YHd.kSgiKLTzmTaMlfRBye7xSTrn5I9oyF650GhRgKVyGf++wsiJbZuczjeB2+itczoaGJPY91yJ8Gf.Z7kvIK23yn06S.pefLVA2RXcBvF.EdPaDGzFpY5RADKDTt9AqrmQeSfz1UzsStfAU3kz3EvmrNqpaam0Y09c9ZYLBHtgxm3l9nWZBiymHAl2hj+LCNn00swU6+RWHTkEqXE.kcdhqqNm9ypZYMdaVZJr45SgM2XJr4ymBat4TXyWLE17kGqM5J92MFtcYZ9OHn0po2qzdv8SsKX8u.ppvgn
-
@ulrik
Aha so it is a case for dynamic effects like I suspected :)The
reg
variable needs to be declared outside of the function.
You are repeating yourself, in both clauses of yourif
you are removing the modulator, so just do it once.
Don't useContent.getComponent
outside of the on init callback. Store your component references in a const variable instead.The
.exists()
function definitely seems to be broken or we don't know how to use it correctly. In the meantime you can workaround it by manually setting the variable toundefined
.HiseSnippet 1478.3oc2Xs0aSbDEd2jLQXSohffd4soV8AGozfcJkVIDEStXpUyEClBsBgPS18X6QY1YL6NafzpHwq8eU+Iz25q8mPeqOROyNqsmMwDYRJTn9gDOmKy46bYNmYb6XU.jjnh87Kc+CF.d9e.oyARc+05y3RuVq64eIxVpvTASqhoq0Wk.wdqdv.VRBD546O6cLx4WZNurO+0sVkIXx.XLIOuGn3Avl7HtdL01M9dtPzjEB2mG4H80ZzJPIWSIToHllkTya.KXOVOXalQrYHd9yuQHGASGMSCId9yspJ7fN8UOSZk+A7D9tBvrntWGbirjapDgFDan5sVetHr8PeOwyymzdbjXVaj3xjs3g7QzGGQtXFC5XMbiG9yTDdyV.d0cgWMG3MAH46.o4rPZARmfX9.8XNF7bdRKoFh6xvvtKTrx5MySmkrlBkPpWNhsGzLFWLRipWuVskn3eV7FkwHehltOKl1jKP90o2jlUMrbOPuQ2tPftZkbVUP4KGC8FJZyX3oXgBR7pWkheYycE46mcAtUCAAtYqohFnj3hpUrry1NtTvk.sapLPyURpRhLs0bFciUhpACUbIDmhTXwx+R4RBU.SPiTgInUdTksQAprDsxlM2w7OSxJWcADanzlqC5+v9.Hp7Xzrk3coU4IqCcQqGVsnCs3hkKglnD5U8gXf1h9LUpHjJ36ATshFzGB1ih6ftOXfP9IE347DchUOlLDEXIZLDo1GnbMR1XxhFxDVZEVcQ5mcyLW4QY92iQymY+R1DgcOFch7nf8FFIKRCCIoxPquYXeHJQ4RGVtj0usQQCoiqWNgkYggisHVs3.uBKL4vR174xIf9AFhUKx+PTjWYcfMUWYQix4Yr0XBwtXGfpGuVXwa3TnrsRC6HqlUNT9vxzixpa2IxabcwDYa5MEeRJVUlFsKD6VLZDDOvVrK.4U2EvsIUfMx3HnR1Rx06L.jupVWd4gSSGibTghpy5W7g48K5H3gXeadnoYwn3nWFnc6T68CsVmoYC2JbWQKM.h0biS3uNrO1I21JpDYcHYOsZ.1TdTVDIOUF94iM5O03.2EOiGp6OhvKXM5C7d8cFbzpQDyQ8y0HQCC5v+YvcHjFdt1LJyTFmaRuiCxKjCxMY6BhLLdNhs50Af+1tN.7EO5H.DQ7QA321X2dCmeUZ9VsZ8RCUKhlmX5M4w0PjUjULxrvBK7R6Pwi0v+hiG95N+wLzMmAVNVnouowtLgqOvMd7u1PooEhKPx5wNYLNyDvHVx8l.i4ixu.wN8ZL.miz7GeKL2N+RUWhzVINXPekjGXaplAhRj7NrmvMp77L8iSAYvnn0e72+Zi65ldwvrS4+xMtaJSbjn6p7AJAK9rF4qext9bSY4wGQF4TzyRc7bSGRGe2uyVMsIy7lBu0l56pNs38SI4IcpIX+9Ct+Pxce2BrWwB1ySdHaeH6ZXY37JYq6phin2AjPrwKNoSx+9z91nAS8ai1IPiP39wLYx.bJWc2c9H7Vwk25fNUVTbKoBRYbuln6U2cb6Phq3RrMSVXyv0E1os3Nir+yasgjgIjN.5Mg6jDfNqI14lSamJRfGZF0V2UwwjWwk72whCw7RPglZydFaULwmIN+6bOS78fKMLoIhWjzgGMP.aH2GD3ULy+oFv2fwRE5gTKdbZKkTYmg5lnuGni485AEpelnCcasFeIwXJWtw8.AvRbNh84M1DemDKt3D0WqXQ8W6W0Ow70mPrvkZ5APe+8xdy9+5K6M8m9vVfuamE+XB1JdEZVpj9eSt7dpTMW1aKFdhFGXP1NMpCNqK.PTJkfv7PZ+YLO40ttlYsABc.YX1hWhexYV2r1OmY8gLeqXiHVPr5IA1GiaNzetLJneKy9ULKQ1xrlVe3KvIjZKWyKBGW7jf.S85WfSelrNqbJz4KOE5bsSgNe0oPmqeJz4qOE57MmnNlI02NUqhr07Hg1aj8Kg36aurRV4u2+.7jxzvE
-
@d-healey Beautiful done David, thank you for the lesson, it's much appreciated!
-
@d-healey btw, is this "dynamic approach" a better way to deal with modulators (remove current, add another) than having 6 different modulators in the same chain and controlling them with setIntensity() or setBypassed() ?
ie only i modulator active -
@ulrik I would expect it to be more efficient but I'm not sure, @Christoph-Hart will probably know.
-
@d-healey yes I guess that as well