HISE Logo Forum
    • Categories
    • Register
    • Login

    How to change which UI table controls a modulators table?

    Scheduled Pinned Locked Moved Scripting
    25 Posts 3 Posters 1.1k 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.
    • d.healeyD
      d.healey
      last edited by d.healey

      I thought this would be fairly easy but it doesn't seem possible.

      I have a global velocity modulator. I have 3 tables on my UI, and a knob with the range 0 to 2.

      I want to be able to choose which table on the UI is connected to the modulator's table using the knob.

      Changing the processorId won't work because this then sets the UI table's shape to the modulator's. I want it the other way around.

      Here's a failed attempt using table data objects (not sure why this doesn't work @Christoph-Hart ?) :

      HiseSnippet 1207.3oc2W0saaTDEdVaOzXCEQEvMHgzpbksRvxaRZfnBpNwNoxpjDqZ2HPsUUq2cr8nLdlU6NNsFTk3QhGAdD3QfGg9F.mY106NN3jrXHUn5Kr7Lm+9Nm47m6FJ7HQQhPjU49yBHHqOB2aFWNt0XWJG0oMx5CwR2ALReRjDcvr.2nHhOxxp3iTLXUtDR+4sO7.WlK2ijcEBclf5Q9d5DpL61tMeLkwNx0mzmNwf6cZ1wSvaIXho.XJhafBb8N2cD4DWEaEvHqO3PepTD1S5JIQHqRGH7m0ar3U7X9OiFQAfpN3f5AJJ95iDLeEhU2hZMlx76N2oiPHKb2rPPw3PvmgOl5SSuOKT7IZB1YRXFOrJrH7Jt.7bLgWCC3sDHYY.IbLjtGtmWHMPlQI9ooCWRBG5BgcSnbxzI8UuY.JvVEgfarvnB+ZAbKAHBWVeh64jiBgCopn5tMZroM7UsGToB7VDIs0u7sckt1em8ypT9P9HJmT2Kj.t39b+mPFQi.o6OmspMpsYdXyIersUsJuHEKSD9.JzIm0GQjZtRCGUW+LBS3QkyrOV3Ok4BODNqWKkwpW1oh.cMOT.LsOi0RLIPvgyQUWWKyyet+5JoFJBsqRA9a7.ap82lHecFgORNFtZiMpUob7kOi9h5gjgfOHzNPZ7CHnTEky.W1d3TtmjJ31B9i4hANJfDJXU8lCgMsuvkMkTqxOWoL320AoNuuvPcZxJU9FPqF9QpSTccslgPPj5Vs9a4xXCfhppKZVPKF.5DgjbJup1zUdSE6KSZ3vkRKQWLR3RIqp0CuNAqxmNY.IzzwULBU4KVUgu5pJyhdu3PhAiBdGNUdZ.geUsBPIwQnBrTBpfeI00e2Mo9SmXfnPU1ZX8ucPZ.a10yGdfPV2Gu8t0W7yEmxI6syd7ejsytszmguFtghzdwmiwPtL7VWkggNk4WKamKsTLVKebhV5wn9jPsZtCVmIcYs71GhdZGUhppaVRXEB0AjPIU8JZ0lbALZHt2VYbaRz4RQfNtmj+Bc6uwH+qyLX6lyLGk7Jpubb5EMIMGSniFaLExuIxvT24Fi0Yl5WN+erozksc39jWq5GagzoZ413aa5my9WZ7BK23WyKalw+Mlgw+iflSn99PKXQDUUJa93CcwC5Q+oERHl3Z3FnlHiYbkhyCfoqyacaNxUsmQBAkYLmyoFcwAyOyzP+mMGNuP7d3tTo23kiwBKAiPQwsAFS1d4t3CGNj3Iy.XI7Q+vsypJllesXy+E3GwDCbYYAJn7GPBIdkkuLgb1XZ6TFbtl8K+87teYPt2uzp30sOoyJtOYo+2sOYdyi+z+1SSz6vpsE15M4+hTAOeqNM.+b7RVx6lg3Az.AyMTQ+oQj39qFj6vu.FKojOKwpMwiNfnxgWLeKw7oanF++RxeHv41ugSw2ua37DwTIkO5XWYHUMQC9qN8fJZOBXcNmvhlOkK4bC0YUDnGg6qO7mvmDhNymGqH5Lm36DaLw0KT7Ru3MrTo+qouA7at9+6VFer5rc5pUXbi5MPvLW5K87Tg3uBZ+rbY1ZEjY6UPlcVAYt+JHytqfLe8JHy2bsxnZUu+ToXRbIGbQ2Ci6AXcHW0PPmoi9KdyVniA
      

      Here's a failed attempt using the processor ID:

      HiseSnippet 1174.3oc2WEtaaTDDdOauPrghnB3OHgzIKgzEkhksSZZKkn5F6jJqRRrvoQfnnp02s1dU1a2S2sNECpR7nwi.OB7Hva.L6dm8sl3jZbIUHteb51Y1Y991Ymc145EK8oIIxXjS4SmFQQNuOt+TgZb6wDl.0sCx48vJx.N8TZhBs+zHRRBM.43T7I5I3TtDx77GOZeBmH7o4hPnyjLe5WyBYpbo8Z8TFmeHIfdJKzZ16zpquTzVxkS.xTDWGEQ7OmLhdLQOsBXjy6bP.SIi6qHJZBxoz9xfo8GKeoHc9mwRX.Q0CZf5CNJU7gRdflwZon1iY7fdyVzIHjCtWdHnXZH3iwGwBXykmGJ9PiB2bKriGNEVjdEWfdMroWcK5sDJ4XQIbJktMtueLKRkqIcqoqPQiGRfvtMUNdR3o58LfEXmhPvM0XTAuB31RvDgpVH4b5gwvf4tva250uiK7ZyGVoBrWjnbCkAt64ZRHpMhpLNcNE7pdFkK8YpotGIClvIvhuQ0MmOQOKGYRgR.eMCdXROlyaKCijBXbhWUiMO+4AU0VwDblf5NbhvWwjBWo3oB4fFZqikbO+Y1cG2KH7IzMq7yUJOTF65w.Lp+PWl6WkgYMNULRMFDs0VaVob4ToeO6GpkPUdUilsZ5FTMyYt6sGX+ibW5xy8KcqpY3q.RZsVluP7pZHJDFRzRMzsMgyG.IydKtJ.uXs9NVpnmH7LqjJuph6eW0vgKUWlu3z3kpVeFK95LzSLIb.M1NNpmHb5ZwrY7UmMaeXyOMjXMQonqfoNIhJtpifnr3Hj4WJiUvWJSd+sxx6MIGHFjcuA17cCjgv1UaBHJBx4t3s2s1hOWbRSxj6+.w2w6du1lwvqgaoU8fzwobXk.t4UALTgZ08x1WkW9bbyctD8yo6z5r8WftESA5Cx.pOmEPiMH8tXSx1kAB8rtczXAUJxh7vtQDMVwzazNcnW.UsSK6TF2glbtRFY1ZxRwAW+Z2b9wb.6zZpcU9WxBTimKnEs0XJazXqKHBZYclD47I3kbLTG.VY1zzhM+x4uYrIcSdkgda6.wzaBnulM9bn+UtEz+dTqPVP.THWlvzECruDOQQi5y9IpsrPh0h.0BYc6TozzD3dwYaM1WVp6PHSgFF6anzW5H.3mZCz+Z2ftpT713dLk+3kywBKgivYlaBNl02wsvGLbH0WkSvR3C+1allLrgeiT3+T7S3xADddfBpN.Lgl1rwmkoN+Xn67Iz3Z5L72V0NCiV4NCcJdccB1XM6Drz+45DbUyi+nKs0j7V7z1B8ql8WDUlW01PvkWD+0Rw8YQRNIVq+YIzzpqVp6Jt.t0RaedhUGpOa.UmCuX9VF7Fez4MnQg+AQsF270nJ9+6ZTeibhhIFcDQEyf6fvv+0zGJB3SAzEBJ27+MEzcPlNttdrNBzmJBLC9S3ISYC8XmLkMlo7sBFgD+X4K7S6YSehYCiDXcKL+baY7Q5wtyaVCiqWqNBtll8BeecH9KfJVK2llqgMauF1ryZXycWCa1cMr4dqgM2+ZsQWc+wSTxvzibffdGjV1v4.gtFhISG8W.15EjqB
      

      I'm also happy to use a single UI table if there is a way to save/restore multiple table data objects with presets and I can just swap out the data when the knob value is changed.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @d.healey
        last edited by

        @d-healey if it‘s just three tables I would duplicate them and hide the others, otherwise the preset data model will get complicated.

        But for dynamically reassigning the table or any other complex data type the referToData() method is the most stable option.

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @Christoph Hart
          last edited by

          @Christoph-Hart The number of tables in the real project will vary.

          In my first snippet I attempted to use referToData but it only works with the first assignment, any idea what I'm doing wrong?

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @d.healey
            last edited by

            Works here:

            HiseSnippet 1247.3oc6X81SaaDF2Nv0QRWQsScS6kVn8hffgbnTJnpoFRHTEMBjQB8Oppp5v4RxMruy09b5hl52k8kYubR6iR+Fr8b24jX2XwBYrgZE9EQ94+O287meVoY.2gDFxCLLy2dnOwv7KQsFxD8q1GSYF022vbYTCbnfDXoYUYnONLjzwvzbgmJYXleQC0yGdRErKl4Plvxv3YbpC4PpGULgayx+H008.bGRapWBs2pbcGNqJ2kGA4yBHaCery43djivR0xgLLuUsNTAOnk.KHgfNU3cF1pO+cLs9OiFROykHIJYzBbjlsQ09T2NMGcVCM.G0bxIeA8I+9nFzNzw7mbCbWk.qIVj7NvL2EkRktDojYhTZQcJcOTKm.puXhDY9baTcFTP5hgq5johVWibalCUkCZvDa3gOmbP.PL1hhaaautE7ypOtPA35NTXM.GXIvPRFZ8CVuRU92nGQzVxZbjKtxyHtbGpXnUCdmHWLblKsxpiUrn8pqWHu74R3fMS6fW+XsGRjWJQkf7ZzIBTuJ2ymy.hhqnEuh7rTfxboLhU2HlifxYVbVkHgfyJIMMf6VzYjcqCt1MhrZgesPdsG1HfzkDzluOVfKpuKdkRmWCt98f2yN7wA.NEgR9pvTE65dFz2V7iiO3oD41QbA4XVQUNT38Er9XQc6lorXe4RBxTrbfJ3hLrHKx6LRPxa.ohPGW513aMaswN5qkDJxY0YTww9jX5C3tcjsmx2mto2H9dEd6z5xKe4bPLOPOeRffJSGy8ICfEI5oh7n8IgmK39vNgwECCSjPIc43YF8kuAsizf3Jgwu.pY96PzFJe4OfWBwCH0YMCHPETNDYLsGuSrGUsJJGtDR21H8W71qeys7vwD1gkmxuSOcC6UFMHjbYibqZr.nzkZBWNEyBgQnjacuDafruvMPyZJdOTSpvoe14XtLxQnn9eQNFu29NnZc6RbDSRvEQG7h4cI8rG9k0g+1nVvZG0ROUv+FEs0yg5u0SILRfZS4Efa9myJto+Liadri.Be6.LKzmGlxwsHdz1P+cXRlmFBnDj2dhrZljeUNNHSQe3IG.GxLsoEVDEnZK1yiGwDoZCVHccXwYaKS5IhD5mAJ5hWC.6WMiUWiS9l4ZN0GBdWnO1y2kTiM.vsANxb7qfUucwQthQbS2X2fy3984LpSxp9IDQ.sWORPxbOyCzdBAfbNgy8KeBwkfS1A+ckOD57vAv8DYNuKt7eGVl0quEoSWK4zn009F6kzoZAznOyRkjeMJiOa6eNCgEBZztTUrA.brznIk18INzyHtoKFv1q3Xp7gBV27Tz11aj9Yvw6vFXuK6ktu7QUUzuylVYsAGN7vszz+bkme7ZcgedflF9o6ZRS2USabkU0uRv9V3yaruS3QBJqWCLLNK+Ppih7ZAPNNDH5LFwMT9MU4jvFZZaIsFyg0QQ7WvSrvRRZyXgkFILiF5u.cDmFNZ8i58qMb0avu9bC+Zyavu9jC+ZyqC7qZns1YJ7qs+oducW.CiFiec1NrlJ7pG9IAdUtavq92hW8+QL7vNA723n+CbjS3Ko3.mal5OFMOpgj1pjg5O0ArCYugsgGfM7FGG4U72CPMYaylygMOXNrYq4vlGNG1r8bXyilCa14BsQBKuWjf6oG4.FMqoWiXViI2on5zM9avNZSMB
            

            Relevant code:

            const var tables = [Synth.getTableProcessor("Velocity Modulator1").getTable(0),
            					Synth.getTableProcessor("Velocity Modulator2").getTable(0)];
            					
            const var Table1 = Content.getComponent("Table1");
            
            
            inline function onButton1Control(component, value)
            {
            	Table1.referToData(tables[value]);
            };
            
            Content.getComponent("Button1").setControlCallback(onButton1Control);
            
            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Christoph Hart
              last edited by

              @Christoph-Hart Works here too, but it's not what I want :)

              I want one modulator and multiple UI tables.

              The reason for this is I want the user of my instruments to be able to set different velocity curves for each articulation.

              I have 1 sampler for all articulations. It has a single (global) velocity modulator. On the UI I have one table per articulation (only one is visible at a time depending on the selected articulation).

              I don't want to add a modulator for each articulation because the modulator is used as a sub modulator all over the place and it will be cumbersome to manage, whereas hiding and showing a few tables on the UI is incredibly simple.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @d.healey
                last edited by

                No idea what you mean :)

                If you have one modulator, then you have one table. You can attach multiple UI tables to it, but how do you expect to switch the articulations then?

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Christoph Hart
                  last edited by

                  @Christoph-Hart

                  I think this snippet explains it better than me :)

                  The knob index represents the selected articulation.

                  Each articulation has 1 UI table associated with it. When the articulation is change that UI table needs to connect to the 1 and only modulator table while the other two tables need to be disconnected from it.

                  HiseSnippet 1207.3oc2W0saaTDEdVaOzXCEQEvMHgzpbksRvxaRZfnBpNwNoxpjDqZ2HPsUUq2cr8nLdlU6NNsFTk3QhGAdD3QfGg9F.mY106NN3jrXHUn5Kr7Lm+9Nm47m6FJ7HQQhPjU49yBHHqOB2aFWNt0XWJG0oMx5CwR2ALReRjDcvr.2nHhOxxp3iTLXUtDR+4sO7.WlK2ijcEBclf5Q9d5DpL61tMeLkwNx0mzmNwf6cZ1wSvaIXho.XJhafBb8N2cD4DWEaEvHqO3PepTD1S5JIQHqRGH7m0ar3U7X9OiFQAfpN3f5AJJ95iDLeEhU2hZMlx76N2oiPHKb2rPPw3PvmgOl5SSuOKT7IZB1YRXFOrJrH7Jt.7bLgWCC3sDHYY.IbLjtGtmWHMPlQI9ooCWRBG5BgcSnbxzI8UuY.JvVEgfarvnB+ZAbKAHBWVeh64jiBgCopn5tMZroM7UsGToB7VDIs0u7sckt1em8ypT9P9HJmT2Kj.t39b+mPFQi.o6OmspMpsYdXyIersUsJuHEKSD9.JzIm0GQjZtRCGUW+LBS3QkyrOV3Ok4BODNqWKkwpW1oh.cMOT.LsOi0RLIPvgyQUWWKyyet+5JoFJBsqRA9a7.ap82lHecFgORNFtZiMpUob7kOi9h5gjgfOHzNPZ7CHnTEky.W1d3TtmjJ31B9i4hANJfDJXU8lCgMsuvkMkTqxOWoL320AoNuuvPcZxJU9FPqF9QpSTccslgPPj5Vs9a4xXCfhppKZVPKF.5DgjbJup1zUdSE6KSZ3vkRKQWLR3RIqp0CuNAqxmNY.IzzwULBU4KVUgu5pJyhdu3PhAiBdGNUdZ.geUsBPIwQnBrTBpfeI00e2Mo9SmXfnPU1ZX8ucPZ.a10yGdfPV2Gu8t0W7yEmxI6syd7ejsytszmguFtghzdwmiwPtL7VWkggNk4WKamKsTLVKebhV5wn9jPsZtCVmIcYs71GhdZGUhppaVRXEB0AjPIU8JZ0lbALZHt2VYbaRz4RQfNtmj+Bc6uwH+qyLX6lyLGk7Jpubb5EMIMGSniFaLExuIxvT24Fi0Yl5WN+erozksc39jWq5GagzoZ413aa5my9WZ7BK23WyKalw+Mlgw+iflSn99PKXQDUUJa93CcwC5Q+oERHl3Z3FnlHiYbkhyCfoqyacaNxUsmQBAkYLmyoFcwAyOyzP+mMGNuP7d3tTo23kiwBKAiPQwsAFS1d4t3CGNj3Iy.XI7Q+vsypJllesXy+E3GwDCbYYAJn7GPBIdkkuLgb1XZ6TFbtl8K+87teYPt2uzp30sOoyJtOYo+2sOYdyi+z+1SSz6vpsE15M4+hTAOeqNM.+b7RVx6lg3Az.AyMTQ+oQj39qFj6vu.FKojOKwpMwiNfnxgWLeKw7oanF++RxeHv41ugSw2ua37DwTIkO5XWYHUMQC9qN8fJZOBXcNmvhlOkK4bC0YUDnGg6qO7mvmDhNymGqH5Lm36DaLw0KT7Ru3MrTo+qouA7at9+6VFer5rc5pUXbi5MPvLW5K87Tg3uBZ+rbY1ZEjY6UPlcVAYt+JHytqfLe8JHy2bsxnZUu+ToXRbIGbQ2Ci6AXcHW0PPmoi9KdyVniA
                  

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @d.healey
                    last edited by

                    Ah you're using the linkTo to use externally defined tables, ok, now I understand.

                    And the reason why you're not using just one UI table and referToData() to assign it to the same table data slot as the velocity modulator is because of the preset data model, right?

                    But why are we talking then? :)

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @Christoph Hart
                      last edited by

                      @Christoph-Hart said in How to change which UI table controls a modulators table?:

                      And the reason why you're not using just one UI table and referToData() to assign it to the same table data slot as the velocity modulator is because of the preset data model, right?

                      Correct.

                      But why are we talking then? :)

                      Because it's not working :)

                      It links on init but moving the knob doesn't do anything.

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey
                        last edited by

                        Is there a way to link the ui table directly to the modulator table data without the extra tableData objects? (processorID doesn't work because of the reason I put in the first post, but would seem like the most straightforward way of course).

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        Christoph HartC 1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @d.healey
                          last edited by

                          Of course, but then you can't switch between the table models.

                          HiseSnippet 1127.3oc2W8taaTDDeO6rz3CJhJfufDRmxmbDAKesoAhPHbicRkUIIV0tUEUUUs9t01qxd6d5t0oXP8UfmIdD3QfGAdCfY28ru0T2DiEoBw8AKsye142L6N+1w8xjQz7bYFxq1fYoTj2Gf6OSnlzdBgIPc6f7derhLjSGPyUnilkRxyowHOupOTafWssPlu+36NhvIhHZoHD5oRVD86YILUozdsdDiyOgDSGvRbrd+Vcijh1RtbJ.lp3lnTRzEjwzyHZypfQdu2wwLkLquhnn4HusNRFOq+D4qDV6eJKmA.UuHD0G1Hq3Sj7XMh0RQsmv3w8lmz4HjGtWYInpsD7I3SYwrExKKEejQQPoGt0CuJKCupKAuPW30zAdq.RdNPBagzcv8ixXopRM1iltBEMaDAJ6tP4roICzmY.JvdUghq0YTkeoBtsDbQnZjPtfdRFrXwVT+flM2K.9Y2uw2GNKxUAlS9NDEI3aCdtesiEiYBZinLJjhOPD+X5XVN38f4lUu4t6sNlEtdlc2c8ewBrjHiATXtb1XLUYrZQ4n9NOkxkQL0rfSkwS4D3fHbmcWXXcmj5RRVfQXHreyKGfgskIoRArn9NV06n8w2mI3.NCFMUDoXRQfT7HgbXn1yLIudzb21C1Y9T5t9+reM.rM.utXfr9hZ3yMpeAro0r6eiL5HHcklbcUl4+Z..qFgFH.IXtVpAHsIb9Pnko9x3C1GGjelTQOWT2fQ+W6G72UMZzJ0UrWbZ1JUq6jytJGqKllLjl4VgzFB8vK2yfe68LtszQ1RhigRQWAScdJU71ZzQE0Qn+pRApfvqLcW2tn6xbrfXPOz1X6QDx.XWNsX3HB4ce78NnwxeWdtfd39GJ9A99Gz1rF9YzWnUcncsECl.W0F3OrHv84rXZlIx2BaN8dy.idRW80CM+PQp.oWJMSwzUNuNzKAxVKaQMbGZ9EJYpIWKty.7mWa19ikArSqYtjyuhEqlrPPKZqIT13IN75wsPNg5VWa9UFpek6DpeOsUBKNFZsk4L8kH2mX.1gz9reh5JKg3.ZTKjC24V1pAvZOmRvkJW+9UgBcXb4O0ThBH7ybCz+Z76qKDuCtGSEMY0XrxJvn9p8M.FKdU713iGMhFoJA3V3Sd1MySftgeaa3+L7C4xgDdYgBZB.jPsOE94EpKo+CVXP3UL2xustysjt1ys3U8plSIbCmSYq+yMmx5dO9ieiil72gcaKMMUwLt934SKX.3mhWwvCWODOhkJ4jLs9mjSsroNp6JtDHm09WdwpCMhMjpuCu78shvuXxmM8Al+AUsvadNpp++li5wxoJlX7oDUFCdCBCSc2GHAhnPzEBJ2L8cE8jG10M0q0Uf9TQrYweBeEJC0q8JTFNW46jXjPhxjuLxNZhtiYaiDHuEl+5UM7o50AKlIAia1nIBdll8xnHcI9KAFqU6yc2.et2F3y9afO2eC74fMvmuZC74quRezr6OXpRlXa4.A8N1Ra3crPygXtoi9KLGkMsOHiseSnippet 1127.3oc2W8taaTDDeO6rz3CJhJfufDRmxmbDAKesoAhPHbicRkUIIV0tUEUUUs9t01qxd6d5t0oXP8UfmIdD3QfGAdCfY28ru0T2DiEoBw8AKsye142L6N+1w8xjQz7bYFxq1fYoTj2Gf6OSnlzdBgIPc6f7derhLjSGPyUnilkRxyowHOupOTafWssPlu+36NhvIhHZoHD5oRVD86YILUozdsdDiyOgDSGvRbrd+Vcijh1RtbJ.lp3lnTRzEjwzyHZypfQdu2wwLkLquhnn4HusNRFOq+D4qDV6eJKmA.UuHD0G1Hq3Sj7XMh0RQsmv3w8lmz4HjGtWYInpsD7I3SYwrExKKEejQQPoGt0CuJKCupKAuPW30zAdq.RdNPBagzcv8ixXopRM1iltBEMaDAJ6tP4roICzmY.JvdUghq0YTkeoBtsDbQnZjPtfdRFrXwVT+flM2K.9Y2uw2GNKxUAlS9NDEI3aCdtesiEiYBZinLJjhOPD+X5XVN38f4lUu4t6sNlEtdlc2c8ewBrjHiATXtb1XLUYrZQ4n9NOkxkQL0rfSkwS4D3fHbmcWXXcmj5RRVfQXHreyKGfgskIoRArn9NV06n8w2mI3.NCFMUDoXRQfT7HgbXn1yLIudzb21C1Y9T5t9+reM.rM.utXfr9hZ3yMpeAro0r6eiL5HHcklbcUl4+Z..qFgFH.IXtVpAHsIb9Pnko9x3C1GGjelTQOWT2fQ+W6G72UMZzJ0UrWbZ1JUq6jytJGqKllLjl4VgzFB8vK2yfe68LtszQ1RhigRQWAScdJU71ZzQE0Qn+pRApfvqLcW2tn6xbrfXPOz1X6QDx.XWNsX3HB4ce78NnwxeWdtfd39GJ9A99Gz1rF9YzWnUcncsECl.W0F3OrHv84rXZlIx2BaN8dy.idRW80CM+PQp.oWJMSwzUNuNzKAxVKaQMbGZ9EJYpIWKty.7mWa19ikArSqYtjyuhEqlrPPKZqIT13IN75wsPNg5VWa9UFpek6DpeOsUBKNFZsk4L8kH2mX.1gz9reh5JKg3.ZTKjC24V1pAvZOmRvkJW+9UgBcXb4O0ThBH7ybCz+Z76qKDuCtGSEMY0XrxJvn9p8M.FKdU713iGMhFoJA3V3Sd1MySftgeaa3+L7C4xgDdYgBZB.jPsOE94EpKo+CVXP3UL2xustysjt1ys3U8plSIbCmSYq+yMmx5dO9ieiil72gcaKMMUwLt934SKX.3mhWwvCWODOhkJ4jLs9mjSsroNp6JtDHm09WdwpCMhMjpuCu78shvuXxmM8Al+AUsvadNpp++li5wxoJlX7oDUFCdCBCSc2GHAhnPzEBJ2L8cE8jG10M0q0Uf9TQrYweBeEJC0q8JTFNW46jXjPhxjuLxNZhtiYaiDHuEl+5UM7o50AKlIAia1nIBdll8xnHcI9KAFqU6yc2.et2F3y9afO2eC74fMvmuZC74quRezr6OXpRlXa4.A8N1Ra3crPygXtoi9KLGkMsO
                          

                          This works here after onInit too.

                          d.healeyD D 2 Replies Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @Christoph Hart
                            last edited by

                            @Christoph-Hart Hmm it's not working here.

                            Peek 2023-10-12 15-38.gif

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            Christoph HartC 1 Reply Last reply Reply Quote 0
                            • Christoph HartC
                              Christoph Hart @d.healey
                              last edited by

                              @d-healey that's just a glitch of the velocity module interface - close and reopen the module popup and you'll see the current table assignment.

                              d.healeyD 2 Replies Last reply Reply Quote 1
                              • d.healeyD
                                d.healey @Christoph Hart
                                last edited by

                                @Christoph-Hart Ah you're right! So my very first idea was working all along :astonished_face:

                                Is there a way to get the data object from the UI table? So I can use linkTo with the UI table instead of needing to create the additional tableData objects?

                                Libre Wave - Freedom respecting instruments and effects
                                My Patreon - HISE tutorials
                                YouTube Channel - Public HISE tutorials

                                Christoph HartC 1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart @d.healey
                                  last edited by

                                  @d-healey but you need three of them, no?

                                  d.healeyD 1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @Christoph Hart
                                    last edited by

                                    @Christoph-Hart Yeah I was thinking I could just link directly to the UI tables though instead of having a separate data object in the middle.

                                    mod.linkTo(table[index]);

                                    instead of:

                                    mod.linkTo(tableDataObjects[index]);

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    Christoph HartC 1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart @d.healey
                                      last edited by

                                      @d-healey no the „internal“ data object of the ui table is kind of throwaway and inaccessible, but the entire concept of data slots is there because of use cases like this.

                                      d.healeyD 1 Reply Last reply Reply Quote 1
                                      • d.healeyD
                                        d.healey @Christoph Hart
                                        last edited by

                                        @Christoph-Hart Ah ok, then I will stick with the data objects.

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        d.healeyD 1 Reply Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey @d.healey
                                          last edited by

                                          All working now :) thanks again

                                          Peek 2023-10-12 17-06.gif

                                          Libre Wave - Freedom respecting instruments and effects
                                          My Patreon - HISE tutorials
                                          YouTube Channel - Public HISE tutorials

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dxmachina @Christoph Hart
                                            last edited by

                                            @Christoph-Hart Maybe doing something wrong, but this snippet crashes HISE when used with a Table Envelope rather than a velocity mod. It looks like it works but crashes on save of preset (or if you wait long enough)

                                            Is there a reason? I'd post a snippet but the crash won't allow it. All I'm doing is creating a Sine with Table envelope and linking up to the attack table. Insta-crash.

                                            Hope it's me! Any thoughts?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            50

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts