HISE Logo Forum
    • Categories
    • Register
    • Login

    Massive instrument model - is messing with my mind.....

    Scheduled Pinned Locked Moved General Questions
    75 Posts 4 Posters 1.8k 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 @Lindon
      last edited by d.healey

      @Lindon said in Massive instrument model - is messing with my mind.....:

      Ok well where the f***k did my round robins all go then?

      Gone for good in this model no?

      Groups are just groups, ignore the fact that they are labelled as rr groups. They are just one of the methods for organising samples - like note range or velocity.

      If you're using the groups for xfading then you lose HISE's automatic round robin facility - but you probably weren't using that anyway, you were probably managing the RR yourself via scripting, so you can carry on with that when using xfades, nothing changes except you have more groups to manage per RR.

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

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

        @d-healey said in Massive instrument model - is messing with my mind.....:

        but you probably weren't using that anyway,

        But I was using it!

        So now I must use scripting to turn on specific groups right?

        So a note arrives and I point it at RR1 and RR6 using:

        Sampler.setMultiGroupIndex(var groupIndex, bool enabled)

        EXCEPT!!!! this is what the documentation says:

        This function can be used to enabled multiple groups at once. By default, only one RR group is active at the same time - as long as the Group XF property is disabled, then it will play all groups.

        -- which confuses the bejesus out of me.... will it work or wont it with Group XF on?

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon said in Massive instrument model - is messing with my mind.....:

          -- which confuses the bejesus out of me.... will it work or wont it with Group XF on?

          Oh I wasn't aware of this. I just tested it and no, as soon as group xf is enabled all groups play! So that kills this idea - go with velocity.

          But it would be a nice option to be able to control the active groups even when group xf is enabled... @Christoph-Hart

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

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @Christoph Hart
            last edited by Lindon

            @Christoph-Hart said in Massive instrument model - is messing with my mind.....:

            @Lindon Use RRGroup for the Xfades and encode RRs & dynamics into the velocity data slot. You probably don't have 127 velocity layers, so you can pack that information into one number.

            So if you have eg. 4 dynamic layers and 8 RRs distribute them so that the first RR group goes from velocity layer 0 - 15 (0-3, 4-7, 8-11, 12-15) etc.

            Then do the "decoding" in the script.

            Well I just re-read the spec. and yes (of course) they want velocity to be used to control the volume (in all cases) - as well as optionally set the dynamic layer cross over, so this stacking RRs in the velocity layers wont work will it. I programmatically change the velocity to use the correct RR sounds, and the overall volume of the sampler is changed e.g.

            HiseSnippet 1170.3oc6X0saaaCElJNLKwKqnsnEX2L.cwtHAnnvNMMc.8h5XGmhfVmHXkErcU.iDsMQjHEnnRW1vdm1E6AnOR8MX6PIYKJGkTWC2zre7EF9bHOje77G+ncjBOZbrPhrV63KinHq0wtWxUi5Lhv3nC1CYcObORrhJsyT09xHRbL0GYYU60ZEVqsLJ8yGdUaR.g6QKTgPmHXdz2xBYpBsNsdCKHXehO8XVnwr2t0AdBdGQfHAvSMbCTDw6bxP5gD8zVBirVoqOSIjtJhhFirVtsv+R2Qh2wyl+IrX1YATsPSjKrPYp2WD3qQr92nNiXA9NiO2wHjE1ovKTKyK7HbOlOah9Buw8SGvtvBS+g0RkgWsRvq40AuJfjkAjVNCRO.65IYQphQz34qwGvgfy.B31MgR1bQVuG2Q.SfqdZH4b59RPXhAarSiFOwF9ZyWNHg6oXBtsfenPQOhuwl0+s5qU+2qaO8PCFT4X5sQJBBnxJGVGok2jgavSBOiJeh8EjfD5jIBG+x9zUlMepW1o1XhB9Abl5nHZtbQRQyJh.nb2F7qe7f8HJhNnjqClWDUpXZ3XsG8BHCOKDsFdOZ74JQDjiek3Gj4H7SBHpxoS5Zn7A.+QoXnNPwiYpKMqwlNGa4q2eznxRfJOsyHbe.1go7FUMdWpB7BdsO23Muh8avcGLf5oJ.6x38+oar7bgCkUulVnqmVDBRTYyEQCznYtApUs+Q0v7VMY9yZs2r6M++ZuEBT9tLn7PrqRRIgL9PWRXDbcTJdpiyktkq+bjz.Aw2k8qFS68sZm.9KYYs+QqzsZ2PQBuzdki79zHJQAgeCaVsU+9uVJRhl1pO7pzjkik.AJvUXNvQbJ32UlmwNRQb7.33jtVwlC4jHGp8UEZ5SufJiKq6vjPH1y4z.vXrkk9VyXpNVy75QTR1uXN6zcowwjz3MvpKUt4TxaMk7ylRd6oje9Tx6Lk7KJjybn8HQYzaeyOeZaZPfCivEWgtwWMak3vh4PfiuwLayFNYixzTtciwTm3+SwnQ64J58txWfdueBWMLyDWWG2uuMjy3qKQqh45ehsuFVo8fUAdUvSiopSfxKOnq2FM2ZyWdGjsJdQwV8emLT+DRrVx4JOU89XWlt.qK+BHM.znw6CgS3.RRfZr1xc76I3hnQBNyqbOMnG0vgTo44nxC2tJEzRsPyiZ0mFPIwFMk+9VuEX5QjkaUeU+xB80gUF69VbFbs04y12odkQNU453wUvo.9wSDsmbbZ9wQKbWSd2cynGbMkp70T6Q8XmQCJGXfq3y2yz0HsRJ8+ZXQEtVHD7p8edBd2jq6d4z6rgcWpti+H50woDRr07G+RA09hDEvKbL2LLPfyEHs5QMowsj9RlL4FZYMfbob+Tg+B9jOXywb9zC1b7fHuwKEb1x+cVwUMJWWok9tk.fMYfYJcLPMVCInB7VAk2F6QHwSJN0Ki5f1erZpFvSvS+mMWC2SKa2DkRmvzcDBD3N0yq7RcEC2ZdM7YyqgaOuF9740vclWCew7Z3O7wMTyud2DkHLqgMB0yoaVRtU2II40P+MfKihjO
            

            So at this point I cant see a way forward without dumping RRs altogether -or being able to control active groups when XFade is enabled.

            HISE Development for hire.
            www.channelrobot.com

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

              @Lindon you can still use velocity to control volume and also assign it to group xf. I'll check out your snippet shortly when I'm at my PC.

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

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

                @d-healey said in Massive instrument model - is messing with my mind.....:

                @Lindon you can still use velocity to control volume and also assign it to group xf. I'll check out your snippet shortly when I'm at my PC.

                yeah --- but...... thats not all Im trying to do here - I'm modifying the velocity so I can trigger the correct "stacked" RR wav file, so for a single note I would have 5 wav files so using Christophs model these would be on velocity 1-24, 25-50,50-75,75-100, 100-127

                To get the correct one to play my on note will need to modify the inbound velocity to fit in one of these ranges - and as soon as I modify the velocity in a script then the volume control using velocity fails.

                HISE Development for hire.
                www.channelrobot.com

                LindonL d.healeyD A 3 Replies Last reply Reply Quote 0
                • LindonL
                  Lindon @Lindon
                  last edited by Lindon

                  I think this is very easy to specify.

                  I have this set of files:

                  StdGuitar_60_RR1.wav
                  StdGuitar_60_RR2.wav
                  StdGuitar_60_RR3.wav
                  StdGuitar_60_RR4.wav
                  StdGuitar_60_RR5.wav

                  and this set of files:

                  DistGuitar_60_RR1.wav
                  DistGuitar_60_RR2.wav
                  DistGuitar_60_RR3.wav
                  DistGuitar_60_RR4.wav
                  DistGuitar_60_RR5.wav

                  These are all mapped to the same note(Middle C) - each set mapped into 5 RR groups - I wish to cross fade between these two sets of 5 RRs, in a single Sampler. Oh and each one is a multi-mic sample set, but Im ignoring that at the moment.

                  As far as I can see I can either cross fade between these OR use them as round robins - but not both.

                  Yet the documentation says this(for setMultiGroupIndex):

                  "However there are a few legitimate edge cases where you need multiple, but not all groups enabled - the most common one might be if you want to implement round robin behaviour in combination with Group XF samples."

                  HISE Development for hire.
                  www.channelrobot.com

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

                    @d-healey said in Massive instrument model - is messing with my mind.....:

                    @Lindon said in Massive instrument model - is messing with my mind.....:

                    -- which confuses the bejesus out of me.... will it work or wont it with Group XF on?

                    Oh I wasn't aware of this. I just tested it and no, as soon as group xf is enabled all groups play!

                    Did you use setMultiGroupIndex in your experiment or not? Because if not then yes they all will play...

                    Link Preview Image
                    HISE | Docs

                    favicon

                    (docs.hise.dev)

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @Lindon said in Massive instrument model - is messing with my mind.....:

                      as soon as I modify the velocity in a script then the volume control using velocity fails.

                      Use a global velocity mod instead. This will pick up the incoming velocity before you modify it.

                      @Lindon said in Massive instrument model - is messing with my mind.....:

                      I wish to cross fade between these two sets of 5 RRs,

                      Place each set in a different group, using velocity to separate the RRs.

                      @Lindon said in Massive instrument model - is messing with my mind.....:

                      Oh and each one is a multi-mic sample set, but Im ignoring that at the moment.

                      Makes no real difference, we can treat them as a single sample once they are merged in HISE.

                      @Lindon said in Massive instrument model - is messing with my mind.....:

                      Did you use setMultiGroupIndex in your experiment or not? Because if not then yes they all will play...

                      Yeah I tested with that too

                      @Lindon said in Massive instrument model - is messing with my mind.....:

                      "However there are a few legitimate edge cases where you need multiple, but not all groups enabled - the most common one might be if you want to implement round robin behaviour in combination with Group XF samples."

                      Looks like Christoph intended for this behaviour but forgot to implement it then. But still this is way more complicated than using the velocity separation method because you're going to be dealing with crossfade tables across a massive amount of groups instead of just two.

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

                      1 Reply Last reply Reply Quote 0
                      • A
                        aaronventure @Lindon
                        last edited by

                        @Lindon said in Massive instrument model - is messing with my mind.....:

                        and as soon as I modify the velocity in a script then the volume control using velocity fails.

                        You can still save the event velocity in the script. You then use eventData and the event data node in the voice start script modulator (or the event data modulator itself if you don't need anything extra) for the samoler's gain modulation, and for each event where you're playing the artificial note, just send the correct gain using eventData to the desired slot, which will be picked up, per-event, by the eventData modulator, removing the need to have the samples spread out to use the velocity linearly as a gain control.

                        This turns velocity into a simple y axis value for mapping the samples, letting you have 127x128 samples per group.

                        d.healeyD LindonL 2 Replies Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @aaronventure
                          last edited by

                          @aaronventure Or use a global velocity mod

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

                          A LindonL 2 Replies Last reply Reply Quote 0
                          • LindonL
                            Lindon @aaronventure
                            last edited by

                            @aaronventure said in Massive instrument model - is messing with my mind.....:

                            You can still save the event velocity in the script. You then use eventData and the event data node in the voice start script modulator (or the event data modulator itself if you don't need anything extra) for the samoler's gain modulation, and for each event where you're playing the artificial note, just send the correct gain using eventData to the desired slot, which will be picked up, per-event, by the eventData modulator, removing the need to have the samples spread out to use the velocity linearly as a gain control.

                            This turns velocity into a simple y axis value for mapping the samples, letting you have 127x128 samples per group.

                            wow this looks like the most complicated way to get per-note velocity modulation ever...

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @d-healey also true, but here you can do any kind of math to get your volume value, even use data from the interface script without first passing it to the real time script (if using globals), so creating volume curves per-articulation in the UI becomes possible without worrying where the modulator is, what it's called or how many of them are there.

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

                                @d-healey said in Massive instrument model - is messing with my mind.....:

                                @aaronventure Or use a global velocity mod

                                and this one isnt per-note - is it?

                                HISE Development for hire.
                                www.channelrobot.com

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • A
                                  aaronventure @Lindon
                                  last edited by aaronventure

                                  @Lindon how is it complicated?

                                  Its just a different modulator (it's already built in, just use it instead of the velocity modulator) and one additional method call right under your playNote call.

                                  The gain expression can be as complicated or as simple as you need it to be.

                                  The idea is that you don't need specific modulator names or counts in the script. You just target a slot index for eventData, and in the modulator you set the slot that it'll read from. Then for every event, it'll check if there's a value stored for the event's id and apply it. It's ridiculously simple and scalable.

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

                                    @Lindon Yes, I use a global velocity mod in all my instruments. Another advantage is you get one overall velocity curve you can control, plus an additional table at each of the destinations.

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

                                    LindonL 1 Reply Last reply Reply Quote 0
                                    • LindonL
                                      Lindon @aaronventure
                                      last edited by

                                      @aaronventure can you post a snippet?

                                      HISE Development for hire.
                                      www.channelrobot.com

                                      LindonL A 2 Replies Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @Lindon
                                        last edited by Lindon

                                        @Lindon well it would seem Dave is right and

                                        Sampler.setMultiGroupIndex(var groupIndex, bool enabled)

                                        isnt working, if it was all this would just go away...

                                        HiseSnippet 1541.3oc6X01aaaCDVxNJnwqqnsnCneXePnnEvAyv0Nu0MjML2D6zl03XCorrATLDvHQESTIRAJJ25UTr+R6mv.1ul8s8OX6njrkjiyK1y0qCq9CB5NdG0Cui74N5tblENHfwUTW4nA9XE0apYNfJ5saODgpreSE0ao0FEHvb8XU6LvGEDfsUTUK9LoB0UVRI52e9s6fbQTKbpJEkiYDK7ADOhHUa2Fuf35tGxFeDwKi0azXeKFcWlKKDvSQsZJ9HqWgNCeHRZVAME0kaYSDLto.IvAJpKsCydfYO1qow1eLIfbpKVJTWwDlnX06wbskHV9txt8Ht1cGttCTTT05lFEJFGEtmVahMYj9znwsiFPO0irwC0B4gWwbvq9EAuI.I0LPZoXHcGMSKNwWjNhDOeh19TH43ffvdVnDaqh5uqsKCLfJp5gdEdONHLxgxaUqVEc3wpaWpTImPpkfvn5L5gLAtCs7pkdaoUJ8tR5iOjiyDGS9k3LWWLehCKS17KywxzPuSw7J58Qtg3QFBQf7g0kudgUq3EdFCYz8oDQGebhb59h5SHInjD4f2998ahDHYdIQGXmOlKHR3n1D2G1jGmkVQqIN3UBlOrM+boPXyCyNzEIxuiRdLJY.HdjKMJyUz.hXP1iYiuMaoKNdTahmBl3p8ZB26n0kHr5MY7VXB3EhZuuwaxg1OUqkiC1RjB1kz16GuzSnycnbiKfE8lQmCAILu97fC0+ZygpV7+TblScF4eJ+ogwyQTafzZR7mE9CUM8R5O9w5ABDWne5.cj6qQCBzEgbJgdFvdoK5g0cH7.gNmqCyEXhajRF7fGnybbpVsZIcHw.1zGwkC1g1ghCz+F8WVuxF+z1iOpiS7vubsJqWYyJaIsHqMlHOe.y0gIHZmV0yvhnvPjT4GLb7GrZjiCEqhBRds7pUwTDDYMXgTaC1oDZYGja.v6peAkBFMIAXQ6PWA4YbVn+9Ta7aJOZEUQvAt6suZqiWgUh+la+AXYFs4UYlOVZ4ikVlCP4yigxc0LEbLxCHeRNhEgmRZCOvsXKuzkicYHaSxOmwreqwNgP7hmW6u1H5S8TOfwI22JA4FXeLR.o+L9biFFFQDGi608aDsY4HNbEAHTjcMB7JPbWjcMtKmED3.Kmn4JHq0cC4mIiUoFaf6Cz140cXnGj6oTrqjYPUUdxM.Ky0Dq1HAm7lrVG8UpcDJJe+Hs01n5nee0tvi9cfGNewHk86D6R8o2k0ldWVOwE3BUQxaLl7liIu0XxOIUVUK+l9UtdblsQ9cQPrLik6PR1NCiEqIO2UFSGkLivQlALwBArWHHS2M+.pO1gw8xnZBsKr7+BcyTetye9dkteJ5MrP2y8uJbaMShL41h1GnK.MR7dWnflCBZMXn17TWsYTleOFkXk+vIbX6ryv7rqiIt3dpP.bCoZtWCCrKFEjgc4gMN.5HGwyy4b93xb8h7SL2cesX3pK4a0+fpjcxUZJocLjjrjecIf+rQh5iVN0uZzBjlIrGYyd.eqHOeaSrE4Tra9DCTqJ4aFMGQMNEwBMuRWykNUJ9+9NUtrP2sR5SQ2TdgpOv6H8lZQE7zkMBs.f5UxfLhMUVBJ8dPIroQ0kR0NSmFUTlzowzI8vn6NkcNL8Xv8by2lHoQBy9wxqXcYGCl8ipv8VkE6G17kFfLSnqTKb19zJHAerbMorDBlXpcjveA+RFr9vl5jCVe3fJVCmJHBl7dLoSw36NGcwDWncQ2rqw.n2WIj.lIkfnM6dPOMPWFwB.ipAS1dpl5WCVe.6E3ACEdNIivArikSbLpeNIQ3Wjq83dhGB58HtI+G4OT6scM57cs18nS1qyAMaY7NSg8NtD+S1p1IFF0q9ZTeklg9tDKH9K2Wn79.TKmCTO5bfpIIPjhpsVPnRapP0lKHTszTgpMVPnp3zrsZ8EDnJLMfZsI.pEAmwh3a3gr3rSrhYkkrS2HRCvKQiBMqn0VJqWWo+3DvdPQhSrrxOUmyw0lUGWeVcbiY0wMmUG2ZVc7Iypie4U6nrF9SCELu31JUTZ2sUbIG0ViJ4TT4uAfmAfuG
                                        

                                        @Christoph-Hart any chance of fixing this?

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                          @d-healey
                                          @Lindon Yes, I use a global velocity mod in all my instruments. Another advantage is you get one overall velocity curve you can control, plus an additional table at each of the destinations.

                                          yeah I understand - but its a work around Im not keen on pushing at the customer....

                                          HISE Development for hire.
                                          www.channelrobot.com

                                          d.healeyD 1 Reply Last reply Reply Quote 0
                                          • A
                                            aaronventure @Lindon
                                            last edited by

                                            @Lindon

                                            HiseSnippet 1283.3oc4XstSabDEdWCKJ1ospoMUzeN+n+vthZ75ajHTUH.FBpwfElPpTTTzvtGaOh0yrZ1YchUUen5aPeD5iPeD5aP6Y10W1EbLFqjPkhQB44bYluyk4bNiaIENPPfPZXl6rg9fg4WX0dHW0audTF23n8ML+Jqlz.EHIwj1cnOMH.bMLMW4PMAyrqZD84edxtTOJ2AlRxv3bAyAdNqOSMkZqc9Elm2ATW3LV+DRWcmibD78DdhPDOqXUxvm5bIsKbLUKVFKimQC5YX9iVUdbmxtUgZUqW8hZ0cqUoZ4NtvVa4Tysds5a4hTsebkspXXtVCWlRHaqnJH.2zcEtCa2S7Vd7AbNKfcgGnWXazFO4XxF60i441ZryIvvvzp0TW0JwtpGZ0j4xlPepK6qiXPlpQRmlYl4AI6aAjLS.oUigzCrZ6HY9pobz349VGwwHXGJFaRBkXYML+Sq8Dn.bUw9zKgCj3hIJjudoRaPv+UX6NgbGESvIB9wBEbBOegb+Vtr498bjqxpSmYxSeLRgmGHmIac5fbdJlmG1+BPtAY.0KDlHHZ9o8oqsX9TmXqNgfB9Qbl5DeXz5CDdtZek96WOBXLxsge6EGsOUQ0AkQzP47Aohogi49v.7ZPbHJq09PvkJgOdQ3ZwOLyQ3F5QUoSmzWzFw.8Gohg5.EOfoFl7h3sHGqzbywVTH9.qVLkSuYiwLy.inm5iAFGcy7KsZzoC3nlBvUsN3WW1qgK9wud7weeqWRG.Q0QiN7uKZcGgrO4PfCRsuydNUR+qEsRp+BWI8DGEBgyjTdfuH.rStysg9ryDbHHE0qnQ4YpQJp6CpPd5sNlTJozthCPWQB4t2NiIVNIwVTdpMCWmZmZxd2zk+8SZvoX.qMfVt6IANniQ6mSdsnUnW.7RlqpmcREmRtbRxOiJcwXnSpj1URm0r5hUnI882DxOip5qcGznozGnFMe6HpSQj8rZ3j4OxXIgtDX.Vn7HWxOSd0q2ljazxhRH.jCf71keTgsykayMICEgDN.tDUOV.QIHA.2MVchKV2MGFyCTjC8DWP8NUDpX7tMobbzAIt4M3cYbnXWPMKAx+dar0Ds.ThhrtbgDZnOs7JI12YarsC92H79pwxgGfV8ii5QkuvqwiNpFPQeO5PMm7uGI2fToVgsIngJjj21CCWCPfqnRTNx.vS3f0N0lsdM5Kjj.evg0g4PBn888.xETzCivOlKdbnItAQJINhPzGAJmbYmkwWL.TQFlt6U9axf1ffiBjzHNeD1xW3mrKroc45nqYNSCLOGZrmhGK9tCaDCkaDRW6.+TMhg0GpQL9bbrByLIvX1wXrMSmK2fqy3QJZL9MnU0gF5oFSMc8jlBtvumfyRUj9TPIYcwr6jXelFzSUJ7EFSo7vcNE7.7tzTR+vNOGKdPkneBVRewseL9YFu9dqX3Rz4vj67wAWabuoI0Olf4H3tdLChlCYBK6aFss8D3yObg2kdPhnzfy0WJWxoHs+3Oo6Je1Lo67KrfSlQ9e86UV2BmPrLIJTRtahkSZDiEqvTcKrkVar4sCfnjyAOcOFyL5tAwqKoWGO7M2MZw+heFwzVu1bDS6wL+jbF8oNRwabh6dpqmcuHJncyi9YaxZ0TulXaL3pWd6iCu9FGmza00Tr7xpXkkUwpKqh0VVEqurJt0xp3itYE0us3ogJQ+36F3CtZ0HZbDSy32ZEcMw3+.rT4alD
                                            

                                            I lied, it's two additional lines of code, with one of the being the GlobalRoutingManager reference.

                                            Here's my ultra flexible continuous per event modulation snippet
                                            https://forum.hise.audio/topic/10635/snippet-per-event-modulation-from-ui-with-global-storage

                                            If you read the thread you can follow the entire history of that how or why that came to be in HISE.

                                            For continuous modulation of volume per event, you can make it simpler as you don't need a network to just control the volume, the modulator itself will do:

                                            1. create EventData Envelope (it's important that it's an envelope)
                                            2. now you get two options. In both cases you'll be calling setEventData from the control callbacks, as well as the initial call for each event right after it's played with playNote
                                              1. publicize your eventIds by making the array a global instead of reg, then write into them from your interface script using tables or whatever
                                              2. link your Dynamics slider to another one in your realtime script, then use that slider's value to deduce your correct volume using tables or whatever
                                            LindonL 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            17

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.5k

                                            Posts