HISE Logo Forum
    • Categories
    • Register
    • Login

    Replacing ScriptModulationMatrix.getModValue in the new HISE

    Scheduled Pinned Locked Moved Solved General Questions
    5 Posts 2 Posters 192 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GoodflowG
      Goodflow
      last edited by Goodflow

      While the relocation of modulation values to LAF objects is a welcome upgrade, the old ScriptModulationMatrix.getModValue(var component) granted access to modulation values from anywhere, which made animated displays a breeze. You could simply use Slider 1's "getModValue" in the LAF of Slider 2, and it would react to the manual+modulated values of Slider 1.

      Now I'm not sure what the best practice is for this sort of thing.

      - Linking two Sliders doesn't seem to cause any inheritance of modulation values

      - adding a matrixTargetId to Slider 2 doesn't make a difference; it can't pick up obj.modulationActive or the respective values unless it's directly assigned

      - I tried sending modulation values from Slider 1's LAF into a registered variable, then to Slider 2's LAF. No luck.

      Is there a way to safely grab modulation values outside of their dedicated LAF objects?

      Modulator.getCurrentLevel() does the job.

      Oli UllmannO 1 Reply Last reply Reply Quote 1
      • Oli UllmannO
        Oli Ullmann @Goodflow
        last edited by

        @Goodflow
        That's right. But how do you get the information about which modulation mode was selected? In other words, whether “scaled,” “unipolar,” or “bipolar” was selected?

        Perhaps via “modulationMatrix.getMatrixModulationProperties” or “modulationMatrix.getComponent,” or you could use “modulationMatrix.setConnectionCallback” and then write the information to a variable.

        GoodflowG 1 Reply Last reply Reply Quote 0
        • GoodflowG
          Goodflow @Oli Ullmann
          last edited by

          @Oli-Ullmann Good point, that used to be getValueModeData, right?

          modulationMatrix.getMatrixModulationProperties only returns default init values for mode

          modulationMatrix.setConnectionCallback looks like the right area, but I'm not sure how to get mode values from any of the 3 parameters it works with (source, target, wasAdded)

          ScriptModulationMatrix.getConnectionProperty, maybe? Christoph described it as handling

          any property of a connection: intensity, inverted, aux index.

          I couldn't get it working, so I'm not sure if mode is (or could be) included in there.

          Oli UllmannO 1 Reply Last reply Reply Quote 0
          • Oli UllmannO
            Oli Ullmann @Goodflow
            last edited by

            @Goodflow

            That would be one way (snippet). I store the values of the main knob in two variables and use them in the LAF object of the linked knob.

            Please note that you must press a note to see the value and modulation.
            It also only works in the Interface Designer and in the compiled plug-in. Not in the interface preview.

            But it feels dirty, because I have to redraw the linked knob in the LAF function of the main knob (sendRepaintMessage). I don't know if I'm doing something wrong. But otherwise, the linked knob doesn't update.

            @Christoph-Hart is this the way to transfer modulation information between two linked knobs, or is there a more elegant way?

            Or should this work automatically in some other way?

            HiseSnippet 4315.3oc67rsbibbcC1kSrHksikrRrSpxU0gUJG.IPHL.fWVwRk.3Erhk3MQPsx1r1RUiYZ.LYGL8jYFvK1VU4G8a447l+RbdIe.oh+AxmP9CbNmtmK8.L.DK0tb4ZCr6hkSe4buOW5dXepO2jEDv80Jrx423wzJ7806bia3fcGPsc0NXOsBef9g1tufYQ53Xaw7ImyBB014FOZP.yRqPgG+TbjEVdIMwm+uOaGpC00jk1jl1y31lrCsGZGl15oM+BaGm1TK141CUFcilGXxc2k6vGAT0i0qp4QMeAsO6XJNrGoq84zfAZE9PciMp0aSiFcg+7jZazf1s2VU2xv3IOgxdROVMqFaXtEsZipZE9a12xNj62IjFxBzJrzNbqa5LfekqDAOyNvtqCCevPqCfYYys4NVHKhsps6.aGqSiEWAZ.POMU38Xov6CzOx1xNo8Tg3ORzAIcFpBvBOJK483LjmgJ4UUg7xgjJnPRKIIo2SuiousWXZOH87t5G3Fx76QA8jJoHGq1irapuKGFgaXkgzWvZ6COjLihaTsZYB7UosWYkO998Cfu+IxWb7I6PN7jS9BRqi2izd+8Ojz9qNd2yO3ji6r7DeDS5dkFWALfCBIdTe54rqCk1xjOkT851sYvmdM1NZHC4VGw.wZlgTulYC5lwCYj8ynNiX6zO6Xn0spy1NFUsNa2uoy4sN6bn6ZUpucZyYaXuyZ8zuoyA+p8glquQxzGB1oegKu6gsZCcDq4M8YfA4gbSpygb9KZ4ZATuSwRw.yQ3W3kYdQS7nHzoLm9LPLMzi6BOTb03ArJLm3etR.KbBXpP3of+vD5ZpHHcHHJReJWjjgOQz3y5Gw7cfgxNhaITQaG0gC1SKKqz1WQX1hbBQPVHzI.3IH7Iq8J9yJJRkJ.IYG.VXsG4ZFZycKtpkO8py3gT+ajdzWsbp9m1Kdbx01pDMvNibnXejSot.cuC3WtuOeDvGuwYnThaOeZ+TJCXtrcKH8z9ykMIHL5y7CDrjPGRNjBtfI6RcLuuYOvxMh749HgsGMjBrEz7grdS10LUbOLr9xpr5KLAiZWZRVJdISTpG2GjclU4y2xFkoL4BGUR+M3Rm4gs9tt3YLV89d4yswh2wEPSQA9PwVb9WDY6BviQ5EM8771+pmElCjVreYBu6+ZoU9MqrrCFzkPg.1PKUnPFDaG23HaQTVvNB5kdQsmS9XhQipP+q.41AKnBGP5w8IACnV7qhmk2DIjfCDSBYYuJTKq8cbr8BXEunn.jqQJpfmOjzX8Rk.7TqLA5u9r5erlmngmWJCkdIPoWJVRP8MS3aeSQmSkjifvd9bORmH9reETciMIaARRenXBdkIu94pxDY9nAUtxNbPKGuAzhwsz0AbQTlTsx5kJS1DnlpkUDCOk4x7op9.WYY6dEQ8NyEcSXUZkkAtKfEk4rnqtQ4+hfg4DvFaHSRLqhoIuWK7OqhzRsRRJnekdPcm2qpeAaeFywl0aEIU+TepkMnmaCjRwKlCIYcPRBEcYTC9p50X8WvearkPp9FfijZxCbAM4X1ih1dvZPZ.hwFBCRiZQ7AA9.7xIi.OrIJIrwGv7yUCrCYRi5xj5B9oZV14y4WBrCEhPsqisIFGy10x1DiyIGS1Ubje9OW33cfXZ+1eq3AS4LKImvuQ9e2xptbnPjthl48ucJh3uUQtf0imm.nzbwcYqnGVNVoZB6IcJcG.Bt3NU2IlaaHJvWCSniG0z1sewUGvbtjEB5u0DNLYVq0k6f4mkgmM1nB5XnR0MSgWDaNCEazB2VN18cYVHkUbe29Pv6JV7Qfr4bdmPejJvoJBcUlf1cWPunJXkRuvP7cMw2BM1lvOtpI3dymYsCOLjOb0bkRiiVDAgvObGfcjGoV9lAKu1CiOwA2QYW.DZ+hmCzo3AHit.l+krhal3J0gE9uDPjQ8gzf5BoHMfv6Q7.+MAwSyaTvfh4kgPosQaaYZEg9futWlYLmisqsG2g5Cq8F4F8iPZTuTfn2HGmWpILLMsae7+lyoEfKId4HMK6.OG5Mjg1t1CGMjTDhUrdoHkS.T0WHIXTWg1fDvIgCngvWLg9gXGPnNWQuIHFygbQmB9MNeVRWbkKnKgbUK5CtikFF.N.OqK6WQfjiYW0YTWAgEOOwBgjGLDd0l0vqoN75hg+sQ7Q3.fRg+hzFWDuCIAU6zcDzHXrdFyLj512gk.3RfUq0HSl0X9iqWoZhUrJBjVid7.ag9CrkwViDPJJ1HsDLa6Pxn.VD4AXUNVY8idPZtL+vaHPfESoD+RpsinpxqFvbESRApv.L4PnayPlULCFntYc.ORVKcaS+nIv3GRpUoJ7cxXxvjWAQxHvnMQDxjZaaWZj4Mo6MDpmmyMfHUzWxRlz0Q7d8.O8wlJl3QEjTNP5dGBjYVxVRnvHtEpDqC+LTVHK.OHF13NNa6FC6hqgYoCyGApRWk.7Tbr1v.Lk1VENzqmJbh5JCbhGdDb.HM4dnNN+h3ahMTEqCTc6UkbL5MR04GrvAkSPHghol1kUT5kSkZH8Ll+PXo1sM8LTZoskjQpQXLfpkCfRVLs1lkFCPkUYN.pXXMqjkLvhGQgi44NEVteaXRk7yEMtbDSI3XJdfunwLwjAV32jKuxZLUbLK2oNkT6lIlRFwijBSH8bhBbw5uTBnw0uS.zLANFhANhQzF2pwSFVUDsY6kk0mll73Xm8irXOLqIgK+Xq7T+8Pw.wE41kAovcH8FlewPej5wlu8xrgr1GJezXtqzdr4ksX6wnVirTak0k7TW9063..uZkMkMvbsjD+THbLlY.PBlChcuDYl1xLz9RFxZ3PV1jF.dlo.a7I3i4KXVdVxgZIiXLVodFVogjxgO4O5Ml8nGS.HZKiL.9zEl5K1NgqPp+UNSU6MGSYw5QG4D9ZWOUOYf2N88soIOsG.0w8xjqY4rWrj8DekaRl.UxpiUnavEqLOUn7KND.TzUcrBOxEvhrZOuTJeolkmfPi10cnJtUlPlElT7obslOGewCJ1HI.tv61wb+gTG6eM3saM7HjEEkI170ZQEi8wjZJ6+DlwXQkgjMKwMqr0XMUGA4FoalzYLOHEn3SUl7BWd2UVNyIy5ZEMliXAAz9LTE8sSYOtm44V75e2tmI5U22a0xyirej4W43OQV3P1tLmVQZ6wLzvM6rg3ihwzYx8JHEJN9nO2pQCI6raI9D0k7vtxe1xs8XRPr2dsEeR6Z92FCiFp6bwT1Z.gPpCfLSw6BTYPFkD6tAL6Ro6LvpxEDSy5XZG8yqdCCvvNaUBwEDgUFDUSD5TwJ9HynPsELHuNpZUTBMeoUlW1nX1SUIDVe6701VhCXPr+OxJi.PDTwg41G5.xsJ8cC4iHBqHk48Qep7HWhA40SXbFHNyIYhNI4jjoQimGWkkZqhM0A2U6TrUN80TAICDWWWQ7pc3Cq9YVnIksq.qdfyO2PInDazNVbc.Vb8X7IlP.1DJmwkPQaHv0fAzPvrB2ZWTTlJDRK2UjKCPFiOTCw6+zxYVYhjJtKOrvQ9BZ3V8PE8V0ce4QRhtbN4MIwmSY+IU7IpsZ5GQkbPn7c1GkUTs331Wj7D3ZW3RKaFcrHGhhrcpJxKPtSLepH4YQDaXlQOBFWIUGnFGSLrjrLDvxHCrpp.naet09jYO5DJD8RB8JYsTnHhRGKkPmjRi2hwxZgTNm1WYBG101B+yjG.T7LltCdo6U0wm3SWg1hpeA6N0MKVrJxgkQFKkdm1XQEinL6wInz8j9yHUutVsdhOjOAdvvP9PJmIrcjHZxLhVGibr5p.xxiwUS.6HH6RaOGalUd0sTVcqwApBUe.4TYqRiQHIBn4fVl1h+beyQd86DHWzt3X3WbL7KNF9EGC+higewwvu3X3WbL7KNF9EGC+higewwvu3X3+qhig+M0gmmyg++c4HzyAbky42EqWmmm9rv1hiU+1z7KNb8EGt9hCWewgqu3v0ekd353NPCeR1BXt6w7P1ItEE62KzMY7t50K29vj184NNn1KmtwKwA+YMwhtiF1kAJEg.HYfZEVJ6sef9zu8CTubFLk0PnLPt6At1gm3wbm1U1fVTgG3MkPDUACMTbOI7CitmDjGPllskVgUzi+cOWSPyQ2QE+g+iK+uZp8UGfmzZLj.fdpL0XajGJrG6RaSl7FXXY88XAuHj6oU3QI+JnqU3ucdv60o2KF+xl2j7PSdSzNSqv2SWXKpcEdtoIc+6nMGvr6OHTskzEy3k7QiZatUs0WeCi00h2RWYyaswlMparYUMkE+XOFq+j5OopQ00WWK0DWNkmTqZ0M1vnp1P0KBjFMGRSI+e+epoWrl3.fG+w.OF5aeMI4vqMzvcjYHt7EGPLmooHxd+oJx995ouoHpBsv7DZ+.cke0NefH5BnWxNv8TbGIBwKhiLBqGoeKh1Hu6OSwJULLYlVmyyXSMTH3Om52mEhP+c0AOLfTGzDZZSdAh7izSTQp2mI3s9R5a3RlKQD7hBwEp27F0aElWYWxIyKI9d5mhYvjOM9nbnQXs7qCZL5pg4GnueudfW7TBbI81+hWO2CLpn+cjn+eT+oN7tTmTAE30BeaJj2GL+rntSWNRRFfwLtse9um2a6Gu4919Y73AKMewCtkKqmkdvcY8Lu1w+3ITMA2iq1xbkB8dRxTW+v1mDIofeR0E9sRX6H21Er+19r+sQLWSk9emlnExAoFXM+2a90fmwdP5RQASSfzgr9.NUa4bFDonyMtlpFicFx43qKT+r1cePyC4bu8k4VpBjSG.o+ehXSgx.F.rmyOhh+d3uqC27EpcdPeWtOSlWkZ66NJHjOLlAD9w6Dx7DINT3B8MZTA9z6ivuextvW0O4UyyuLNxLls5+QysUJZIjnxQahGfwDjTYhg2CTpblQtd7eYG45L9nPXwpL4PvUywiFJeiOAr65xbvBDJ7Hbsk74p3yhEnPskhG9yvmnNMvmKD0oQbmZRfqj9dzKIHjzY9YEA+iEiWI0bfqE65XTOgFo7e7+4yZM55nAkXI8eJZKGs2AtWBUNHEkpJfehTA7t5nKDw0xmP7+2oG6RI5k3XBWuu1CRehYHPBm6ScC73ALiLtJYCsOGxXOHSqiMiZ4NiLstGKbjaVPKaJynPQQaPTXnFEItwZpMdJ0MCvfmy.oirUTV+uelL1PGFv4VmDXBBFTNmITwHm.l3MV0PchoMWSs4Om5aMdvoBO9NkqS1buUF+aE2RguETiQlrdVNlF6XOzygsOrX0AJ0WPiuOTaunzq3VytN7HtK2a.20NiV+LF3+AeauUo8bYnVggT0TM9flmwbXPBJoM8O2D2GJpuzG0cRVX7ReoRlq95mpKIWB57f71asg+kcD17Lsee8S4N2HMTaKh5IHhk0kOLqXKZZSlF+u+O07KUUuYMM+oM+xQTmwjtQkE7cUxeKVxKMmlG+85YRQ7gg+m2KZGyRn2nLZmbezdU5ARVBy3ID8rw2NzoTk0AMGOB2cV4Iw4YT29Lzj3.WuQgxmJnO6MGSM6Jn7MuN1+5LYBIeIvjCxG4yTKZsSFENM7noohGg7a134qBXP30SidSLZE7qX97wy3a1NsvkdemLHWZ9LHm8doLuz6+fdzpZQAWu8P2+P8u7sGhESY65G1Aa+I5P5y0HhHtj2LgbuOpp79.GCol97uwTdzUXbh2QzBv2thKG8kgnAvyDiLGXkzYEjY+2XZlETSLwZ20IV+tNwF20It9cchabWm3l20It0sOQrvqVifPsx0FP0nmtubeBKjrIkPnh+eqm9RK.
            
            GoodflowG 1 Reply Last reply Reply Quote 0
            • GoodflowG
              Goodflow @Oli Ullmann
              last edited by Goodflow

              @Oli-Ullmann I was using sendRepaintMessage from the main knob LAF as well, making a note to avoid that in the future as it gets ugly in the preview window/compiled plugin.

              Aug-22-2025 23-59-29.gif

              ScriptSlider.connectToModulatedParameter is the all-in-one solution. Thank you for your guidance!

              1 Reply Last reply Reply Quote 0
              • GoodflowG Goodflow marked this topic as a question
              • GoodflowG Goodflow has marked this topic as solved
              • First post
                Last post

              28

              Online

              1.9k

              Users

              12.3k

              Topics

              107.5k

              Posts