Massive instrument model - is messing with my mind.....
-
@aaronventure all of this in an additional two lines of code....
-
@Lindon here's a snippet
HiseSnippet 1824.3oc4X0uaaUCE+dSm2Zy1PLXnAB9C+GfTJTxZR+ZSUn010zsHVZh1szAZZpx8dcZr5M1Q95jtLDR7HvqBu.HdD3QfGAdCfisu2j6cIKMMZe.hDo13iO19246icCovmFEIjNt4OneGpi60Pd84pV2uEgwcptqi66gpQhTTI1RZm9cHQQz.GW24dflf6BWxw74ut2NjPB2mNjjiygBlO8Qr1L0PpM15aYgg6QBnGvZmh6U2ppufeeQnnKfm4PK6zg3eJ4D59DMa4PNOjD0xw8KQqb2lkCVkt1pqu5wqsdvZqrZ4lAzM1vesf0Wa8MB.pkt6Jarhi6kqDvTBomhnnQvltiHnuWKwYb6AbHKhcbHUOnjiGbxVxN2uEKLnQhxIxwwE0XnpZNqp5lnZr.1.5CUYuuYB7vUjVo4laRPpzE.RtofzkrP5FHOeIqiZ3LZ7bUTUNXAaR.aSZnX40w82Q2W.LvUEaSNktmDFLXAEVe4kWBC+YwMa1k6qXBNVv2Wnn04EVL+Oleg7+Td7KOUylicN8wHEggT4XmV6NHmzBKv619XpbIbORXW5.FAwOqN8xSmN02J0oXTvqxYp5cnwi2SDFn0U5eOpEvIVsosEwHDfhxXItdrk3.h9fYvdLOx76RNFvmNHIfnHNteAp7pEy9oWc3OM+J8OuqWUd8WT2w46ptql83iDNc.QcnRESK3t6R6AAbVmgEP6RiNUI5X3scGAWiU2qbt.74CA2OrU+AC94lacFKPAQfH2ew0woEkcRKkdzuAy1IQwTE1pOKdywU38ng.9v0DAcCIfMBTji52BQLIymNLRmfIdBvOHiuq1AkGwT8Sm.5BDas7DislVHdCTClxu03wXtwfQvt8l.iwYjtNpRylTe0P.dIzde+rl9Y5O9aYO9qhdBoG0T+vb3ejYbSgrM9ATNUZM+u5JH+wzVAoyTWAotuBfvARBOpiHB7sSsydz1rCffhnLTeoUTdrqHC0copt7raskTFtzph8.UQJ9leqDhkSSrAgmYyfwY1oZrTAn+48pv0QsdTPxCpG4CJFsdNcXQitgQzmnCcKkdgCIWNM4GRjAfMzOiS6bY8ZtzzkfMa7aJ9GS0rK+Nn.6xulJv9gIo6FPtz3Jzl6WygjzSvzdPh3pA3uA+zmsINe7vhRZDU1iVnT46r3l4ye6ai6K5h4TZ.V0hEgUBbDkGXWNVWzHOXyiT3GDJNlD9XQWEieRMBGZYRBadE9ILNs3IT03XnvqrfdMPB.NJxNgKjzJ5SqfRB0a2DJ2Beiw6SS3CN.8x22TatvhOCNZSNfhcBI80yT3Uv4R3UVawMwffJj3yZAlqd.vUDIvGVW2vGxcpEa8XPWHwQcn9rlLebDocmPJ9XBngA3amENNPDWBKkXeQWPGQU94WXbBewHpxHX5ZoENOAZILzBTZg3vXrUXwutzh2tT40AUyD5BZRJTqlhaYem9UrP4bgzHG3aqVqPutZsZRsSMSM47ef1JbykBiKjfQOl1WNoSICF+.PpZR5FpRnlMeRMAWzokfyxjj9wTkjcB3cmF6iUf1VofaVMjxM25wzPJDKMjzmu0ifjGDInmnynt3he8kwZu9XjEtXsOL9cd6fyag5mDmxOw.M.3FLOw9eecZIgDBll10Qltt5VThuS2RnKRPN50jQMUH79T0YB4oFKc7ug6dXUNQFPdDMV4bT6gJmsCCEmousBK1JCJICsFhv9IZJ2bVNnfWBmSC2tsNcuVEjCN4GRhNfvB0r40EpX.sEw8.lMMV5N2gTYjYiuBZ4hvWHpbeiS9k2i3CXneCh9NN2.oygANgP0B+ANiSD6oMr12rXhrqO0jdUQZaGn8Z21bGsbHPCmJmmMZQOBr94z.4ZnpQGpm0mD5bn8Fkfzq2SM6yEKR1tSLUSNR2wvQRJz0rzIin9oHos5XwQYbTYZba2EQTbFFBefoTeTbddN02ZwM1C80HQHRP.z+qDNXE0byxqfrB6Pp17pIi.Npw3G9xWwtF44uDsk2xSQ63wdQlzadmROypaxD5YdDEuPgpJOf9bmQ193r0iP24hiK.CWHbMORG0BQESOnR4aX0vY7FxiZC+unl9nFeK+mi4NWFycFCkaJEx7ytBAxy8JUHIdHSs9X6tJAHx16rmV4bEjx73HYTOWypdryLpBJYMWnHBc1rP5yS54INidxuzQ7F2t3MpBjCOHfFr6z7rQ8i11uW8rVgrC1QHNsMwjo9MZeWS7sRl6+MuUxjaMEtaO9e0u30sP0i7KiMlR76Fa4fqxAMIoCJfdf7f3L+jtAhRZDHd7xIANdPq.lA+M7IdxRCZbBlrTxjuUNi1Deo3HeaqY5v84MT.4laRkr.pldLdLuXbaV.6He+ra0HKr7rtvUl0Et5rtv0l0Et9rtvMl0Edmyeg5WmJtphN1.pp0nhMasq805LgIN+C.YPvG9
- check the interface
- check the network
- play a note and tweak the table while holding a note
This is so stupidly simple and you don't have to keep track of modulator names or references or anything like that, it scales indefinitely with your samper count, just load the network as Script Envelope Modulator and it's done. So when you're working on another library from the same dev, you're not wasting hours rearranging everything and clearing references because the sampler count is different.
-
@aaronventure said in Massive instrument model - is messing with my mind.....:
HiseSnippet 1824.3oc4X0uaaUCE+dSm2Zy1PLXnAB9C+GfTJTxZR+ZSUn010zsHVZh1szAZZpx8dcZr5M1Q95jtLDR7HvqBu.HdD3QfGAdCfisu2j6cIKMMZe.hDo13iO19246icCovmFEIjNt4OneGpi60Pd84pV2uEgwcptqi66gpQhTTI1RZm9cHQQz.GW24dflf6BWxw74ut2NjPB2mNjjiygBlO8Qr1L0PpM15aYgg6QBnGvZmh6U2ppufeeQnnKfm4PK6zg3eJ4D59DMa4PNOjD0xw8KQqb2lkCVkt1pqu5wqsdvZqrZ4lAzM1vesf0Wa8MB.pkt6Jarhi6kqDvTBomhnnQvltiHnuWKwYb6AbHKhcbHUOnjiGbxVxN2uEKLnQhxIxwwE0XnpZNqp5lnZr.1.5CUYuuYB7vUjVo4laRPpzE.RtofzkrP5FHOeIqiZ3LZ7bUTUNXAaR.aSZnX40w82Q2W.LvUEaSNktmDFLXAEVe4kWBC+YwMa1k6qXBNVv2Wnn04EVL+Oleg7+Td7KOUylicN8wHEggT4XmV6NHmzBKv619XpbIbORXW5.FAwOqN8xSmN02J0oXTvqxYp5cnwi2SDFn0U5eOpEvIVsosEwHDfhxXItdrk3.h9fYvdLOx76RNFvmNHIfnHNteAp7pEy9oWc3OM+J8OuqWUd8WT2w46ptql83iDNc.QcnRESK3t6R6AAbVmgEP6RiNUI5X3scGAWiU2qbt.74CA2OrU+AC94lacFKPAQfH2ew0woEkcRKkdzuAy1IQwTE1pOKdywU38ng.9v0DAcCIfMBTji52BQLIymNLRmfIdBvOHiuq1AkGwT8Sm.5BDas7DislVHdCTClxu03wXtwfQvt8l.iwYjtNpRylTe0P.dIzde+rl9Y5O9aYO9qhdBoG0T+vb3ejYbSgrM9ATNUZM+u5JH+wzVAoyTWAotuBfvARBOpiHB7sSsydz1rCffhnLTeoUTdrqHC0copt7raskTFtzph8.UQJ9leqDhkSSrAgmYyfwY1oZrTAn+48pv0QsdTPxCpG4CJFsdNcXQitgQzmnCcKkdgCIWNM4GRjAfMzOiS6bY8ZtzzkfMa7aJ9GS0rK+Nn.6xulJv9gIo6FPtz3Jzl6WygjzSvzdPh3pA3uA+zmsINe7vhRZDU1iVnT46r3l4ye6ai6K5h4TZ.V0hEgUBbDkGXWNVWzHOXyiT3GDJNlD9XQWEieRMBGZYRBadE9ILNs3IT03XnvqrfdMPB.NJxNgKjzJ5SqfRB0a2DJ2Beiw6SS3CN.8x22TatvhOCNZSNfhcBI80yT3Uv4R3UVawMwffJj3yZAlqd.vUDIvGVW2vGxcpEa8XPWHwQcn9rlLebDocmPJ9XBngA3amENNPDWBKkXeQWPGQU94WXbBewHpxHX5ZoENOAZILzBTZg3vXrUXwutzh2tT40AUyD5BZRJTqlhaYem9UrP4bgzHG3aqVqPutZsZRsSMSM47ef1JbykBiKjfQOl1WNoSICF+.PpZR5FpRnlMeRMAWzokfyxjj9wTkjcB3cmF6iUf1VofaVMjxM25wzPJDKMjzmu0ifjGDInmnynt3he8kwZu9XjEtXsOL9cd6fyag5mDmxOw.M.3FLOw9eecZIgDBll10Qltt5VThuS2RnKRPN50jQMUH79T0YB4oFKc7ug6dXUNQFPdDMV4bT6gJmsCCEmousBK1JCJICsFhv9IZJ2bVNnfWBmSC2tsNcuVEjCN4GRhNfvB0r40EpX.sEw8.lMMV5N2gTYjYiuBZ4hvWHpbeiS9k2i3CXneCh9NN2.oygANgP0B+ANiSD6oMr12rXhrqO0jdUQZaGn8Z21bGsbHPCmJmmMZQOBr94z.4ZnpQGpm0mD5bn8Fkfzq2SM6yEKR1tSLUSNR2wvQRJz0rzIin9oHos5XwQYbTYZba2EQTbFFBefoTeTbddN02ZwM1C80HQHRP.z+qDNXE0byxqfrB6Pp17pIi.Npw3G9xWwtF44uDsk2xSQ63wdQlzadmROypaxD5YdDEuPgpJOf9bmQ193r0iP24hiK.CWHbMORG0BQESOnR4aX0vY7FxiZC+unl9nFeK+mi4NWFycFCkaJEx7ytBAxy8JUHIdHSs9X6tJAHx16rmV4bEjx73HYTOWypdryLpBJYMWnHBc1rP5yS54INidxuzQ7F2t3MpBjCOHfFr6z7rQ8i11uW8rVgrC1QHNsMwjo9MZeWS7sRl6+MuUxjaMEtaO9e0u30sP0i7KiMlR76Fa4fqxAMIoCJfdf7f3L+jtAhRZDHd7xIANdPq.lA+M7IdxRCZbBlrTxjuUNi1Deo3HeaqY5v84MT.4laRkr.pldLdLuXbaV.6He+ra0HKr7rtvUl0Et5rtv0l0Et9rtvMl0Edmyeg5WmJtphN1.pp0nhMasq805LgIN+C.YPvG9
Ok yes, interesting. But I think what you did there was achieve the same (but less flexible) thing that Dave achieved with a Global Velocity modulator - so if I have to go this "VelocityStacking" route to get RRs in a XFade environment I guess I'll take Dave's route for now, but actually what I'd really like is to have the existing call fixed.
-
@Lindon Ok I will come clean with at least one of my objections :
There will be a number of articulations - and the user will be able to load any articulation into any sampler. Not all articulations have RRs and not all RRs are the same number.
So in the stacking approach I have code that handles this, but it will be different depending on the number of RRs... so I'm going to have to know for a given articulation the number RRs and thus the layout of the sample maps, and implement custom code for each config..
Thinking about it I have to do some thing different but similar even if the call gets fixed I think.
-
@Lindon said in Massive instrument model - is messing with my mind.....:
not all RRs are the same number.
Duplicate zones so that they all have the same number.
-
@d-healey 80% have no rrs, 15% have 3, 5% have 5 - in the current layouts I have seen - so that would mean doing more complicated sample maps for 80% of articulations that don't need them. -- and Im asking the customer to do the maps.....so anything that makes that job simpler is good...
-
@Lindon said in Massive instrument model - is messing with my mind.....:
and Im asking the customer to do the maps
Yeah that will make things more tricky. Maybe use another sampler for the 80% that don't have RRs and use duplicates for the ones that have 3 to make them have 5.
Another solution is to use a dedicated part of the velocity range for your 3 different RR counts. Or you could do a mix of these things.
-
@Lindon said in Massive instrument model - is messing with my mind.....:
Ok yes, interesting. But I think what you did there was achieve the same (but less flexible) thing that Dave achieved with a Global Velocity modulator
Not at all, this is entirely continuous (unless you flip the Static parameter in the eventData node), whereas the velocity modulator is executed only at note start: instead of it being a table, you can add a parameter fo the network that'll be used for all events, and then use the eventData to instead branch between different tables, so now you have an XFade modulator for multiple dynamic layers. The benefit being that this concept is valid for all modulators: pitch, pan, whatever, and the sky is the limit as to what you can do with the signal per-event.
Even if you don't go with this option for your volume XFade, it's good to be aware of it because it's very simple and very powerful.
HiseSnippet 2182.3oc4Y0saiiaEVxIL+3c5ftSmhsEaufWTf5zMvqsiyOCBJl7mSFicchmwYxVzEKBXjniIhDogDsS7tn.8h9Hzmi9Jzh9DzGgsuA8ldc6gjR1RwJNNtY5rCpCPf3gGRdNemeoTy.gCMLTDXYm+zAcoV1OA0Z.W1Y+NDF2p9AV1OE0fDJoAXCo8FzkDFRcsrsm6HEA6km2R+6e9x8HdDtCcDIKqyDLG5Wx7YxQTatyWv77Nj3ROk4mf6p6T2Qv2W3I5AxybnRVcINWQtjdLQwVNj0qHgcrr+0n0dQ6JtUoqWcipWr9FtquV0Jscoatoy5tar9Fa5BTK+h01bMK6Ep4xjhfVRhjFBa5dB2As5HtlaNfyXgrK7npAksZAmrgr09cXdtMiAmPKKaTyQP0bFn54nFLW1P5ifrerdB7nUjDzryMIQp7CPjrSHRyaDoOF0xIf0UNZFk77Qn5bvB1l.1ljhhgWK6+JZeAv.WVzmbE8v.XvvETXiRkVEC+aksa2i6HYBNVvOVHomvKrR9uK+x4+84w2dp1sybN0wDH77nAYNsxcHXRKr.um+EzfUw8Id8nCYDT+zX5BSGl5Xz5DLJ304L4IcoQiOT34pvJ0yiaArhfMksHRBAVkZKwSirDs7Xtz.KFrIKh9Bt3hxVZgOxs+O729We+Ksda8CHRR71.6HbJcoARlRYrOf1GBhLF3kQGPCuRJ5p40uqfqNe6mduG5MfKr8eBNwApGbfGBkCTPxBZFr7YttdzlhPlBxSDU+Wff+tsXeqVh+tm+mO5e7s+wW5mLv2xxmbSx7.g8Z2lciNhsMyyOTBxTceHP1x9Yn2FRwtz1jddRb3Uv93w3WQcOUn4uaL7VGj8eQj5fqw6S8.DA2P31yi.V5xPtg.Hs.3kp3LO5fAbhOyArJiGU.wiwqKYPpJ8UzDJUNYjgx8mCPwfjp0CHxszDibmVQ7iQMYRmNYKi4xPFAOn2ExXT9teDpV61TG4HAbdzg+1YM41ze7eh43+HzWQ5S0UmzG9OUOtsHvGeDkSCLtE2c8o+9zVep6TWe5DGIHBmFP3gcEgzxI24VTe1oP3YXJp2ZEUxbEond.U1imdqMjRwkBJNDfhD7szNwDqjjXSBO0lAiSsSMXIhk+9WViS.CVKJn4tmD5..iBmSFVzrmWH8qXtxNkStvQjqjj7qHAtfMzIkS6bo8Zle5RemN9MA+YTqbg2CkuK8HU99mDmFbH4xYUFO2mNGJfdIl1GJIT2E+ave82rMNezvhAzPZPeZgxU1Zksym+y+b7.QOLmRcwxNrPrTfCobWyxwtP8n7fMOThOxSbAw6MhdRF+xFDNjGO.17Z7KYbZwKoxrXnvc1tPCPC.NJxtjKBn0TmVAY.TMeanXN7Wj790w7AGfZ4Gqq7WXkuANZcNfhc8HCTyT3N3bU7Zqux1XPQEA3q6.lq9ffKIA.eXU8DGH2oRsUiArH.G1k5vZybvgD+tdT7ED.gAw2LKbbfJtJNH.6H5AXDU5je4rT9hgToVwTU0KbeJzpXnAqJFIU1gZ5sA2gFPwfYgKtVS00TeSIEfVHZaLZCkXNri3Bf.9q77vJjA6CEXYfV.3v0LYG8lHUwxXHkIlIwWPAIFy35Y7iq9Lot4ljoyXS3F12aPMiReuJOrz2OsHhdrZQbRsENSM18APCL14RHiKGKisXpnl3d0zx3y.sR2pWL0zYtZH3htcDbVpxAugBMLdIDGkT1yTg1UJgaHNhxy24MTOJD0NhzubmuDRSQB.bhNiXwC+ZXYZu9YHi3hU9v326MdtjQT+4QEWhMPCEbsLOwNveLsjPBgSUImTQl11plghta5pnGRPN5QxnlHD9Xp7ZQvUZKczyvspLfSnVHOmFANm6OBb10ySbs5FZrHqL.RZZMEdChQJ6bFNnfWBmS810WUXQAA4fS9UjvSILOEas5AY5gFv3s.l0svZO2YzfP8FuHpTQ3OHp7XsS9hGRb.YXPSBzoLzSgJGF3DB0kbF5LNQYOog07tWlH6pSMtqXjx1Anmuu9dovM5Tvey36pox5kydtDYAMwOpQf+PNkn8DT8vyTy5P7rNybWY.OTmhh84MJ4BlNiz0WNW0sx4ATh5RuoT9OEEXpLWbbFGWKyZ6lrxkVUrFETeptMivnL+bpiwGPagLWXsGODTP3DZl7hrKhLZrUBHSktMdDvQCF+rDuAASS6jatEsR6zJw81iCyZcE8ZC.kJhT+NhZ4Ij04tzarFa6iRhOFcqGtbAxvCRtVBoBlgfkoWnR3fj.lS4W7LcPAjIo3v4G2cHwheG4ErD5B3lfNctsOfwLj1GvNAVuzri0Pl06Dqic9lZnd2dRgOjp0cXDZDtiPDW2zPddDvYmhJ5iC0F9uGTNWJT9CRvYQiKcjUOCWRSd5n4GGmFtz+6x4lYxzkP5qGTNsX8DiYSOUlBTzhdPQHppddzah6MNpxe7Sp5.5..Xi92vuZPsdWWpqlc6ZnpaUL8u9m.+q8KTO9h80i2sxQ69Y2Zdy3lg65z+jztOViiBU+ANJ7VzFkFCEdc0RFTHZb+sdcwOKApPO3hSxFULiuWTYsOD8M3a96JdKstYRT4AiBU9PDEZbp6VI8MpVp4qyzWHBUtEJLqYaQ1yoxp9fJ4GW+6Va6R6LcYZuSQcQSGAC+RAO90IN61eYmrkX3FcI5G3taOvTUL69C2SHtxmnuWx6z2xvD+FDy8+MeChI+hXZvtA+C5ujzmfNIzoBVaJwuerkCeEox.0WX.A23uEjKzI9tugwW6MZbo3rjsfK9VJNSWzjkG9ZBfIKGO4+SNCehSf37nqOnhcWRSAzatNe+xnFpw3zemWymIk4xN2wI8VM1BqLqKbsYcgUm0Et9rtvMl0Et4rtvst+Ep9pOQkRTwFPwfl0LUTsMeELcXh0+A+MlitC
-
@d-healey Im beginning to think I should push hard for them to use our Infinite Round Robin Engine - which manipulates every new note (pitch eq attack and delay) and removes the entire idea of round robins as separate wav files....then I just use XFades....
-
@aaronventure okay...interesting again....but lets say i wanted to apply it to the volume of two(or more) different groups in a sampler(so essentially XFade), how would I do that?
-
@Lindon Sampler.enableRoundRobin(false) to disable the groups acting as RR, and beyond that the groups are just different lists of samples within a map, navigated in 2D by noteNum x Velocity.
Sampler.setActiveGroupForEventId(int eventId, int activeGroupIndex) lets you pick the group that the target event will play. In a previous line you played the note and targeted the sample using noteNum x Velocity.
After this, as per my last snippet, put the dynamic layer number into the eventData and tweak the modulator.
You can of course do all the volume math right here in the code and set the volume directly to the modulator like the snippet before that. You or the user defining their curves is just about you reading the table and using the Skew that they set the table to to get the final curve, which is just output = Math.pow(input, skew).
Some side musing: the event data obliterates the need for the conventional sample map layout of velocity x noteNum. For very complex projects like ours, a simpler sample map paradigm could be added to HISE as an alternative: you'll just load in the samples, choose the token for the map and the map will assign it an int, making the sample map itself just a list of samples with a single int value. You'd come up with a scheme to set the numbers, like `noteNum + 128 x layer + 10000 * rr, use it while exporting the files as well as in the code to pick the correct sample. The rest is just setting the correct eventData value in the following line to do what you want. Because the current sample map layout exists only to let you do a WYSIWYG velocity to volume mapping, and is a very backward way of working for anything with a bit more complexity.
-
@Lindon We must have both been doing something wrong. I just tried the
setMultiGroupIndex
again and it works, perhaps I forgot to disable round robin before... -
@d-healey I sure didnt forget to disable RRs and it fails for me - can you send a snippet?
-
HiseSnippet 1187.3ocyW0saaaCElJNLHwMsXsnXq2L.ghcQxPQfsicRFJFlSbRZCVchgUVQ2UELTz1DQhTfhJaYC6cZOB8QZuAaGJIaSoXj539ypuvPmygGwOd9N+P0SIor3XoB4T87qiXHm0wdWKzi5LhvEnSND47.bWRrlobyTcv0Qj3XlOxwoxKLJbVaYT5u+4mNfDPDT1TUHzqkbJ6U7Ptdp1ds+YdPvwDe147PqU2r8IToniLPl.3oBtFJhPujLjcJwrrkvnWRhGgb9dre8l0GrGkryd0a1fRar2tM9gcoLxfArcp2Z2l6Mn4.BsVCjyJG4y0RkmlnYwvK8.o+0dij+lHaCdMOleQ.yHTG4A6blZTmQ7.+diCNwHjCt2zPUkrP0iwc497I5mFx9pTCtS8vNn4rzsAo52AH4XAokyfzCwdTEORO0hAO2Ceh.XPHjvJ.kr0hV5qcvcjvJD5sBIWxNVABS7XicpU6Ytvea97pUA9IV6dEQ45QBiBXp5t+naZByVCY5bca7zwFeJ3y3m2hIHv4puLQ32WdAWrw.RPLaymOHQP0bovUJNUpYmI1Xyp+Y00p9WUcKaZvfYZy.dkLvr0yxrIKScaNtgHI7Bl5YvAKHgMYgPTsHUsx7QUzrXo0BkhSDb8YQrb4ikA9FJv77MIVTNY.O8KmbHQSLbctNXcQLklafiygrqfpqLleM7gr3K0xHn95FoEPBozOIfnKlkZpeyM.wiBoFF5WDy0WaWeeGRcqcqotyKDeHtGWSGMaLtzLvHDo9Tfw7B96iOB5vP0SA3x3ieyhVcO+a+2ls8OB6oULRHWLLunJECUwiKw9XzbNZtaN2SwBjDeO9eXsr209fDHFoJp8uamtU6GBE+E1qbj2mEwHZfls7Y0186+BkLIprWOocZRw4JX3.DJrOimIXPrVaeF6njwwCfiS56J11TuD0PSrZpl9rqXp3h5NMID3agfE.NicpXpJiYF9kS6RzJ9uau5zco14jTNFlXkJWujbiRxaWRtYI4Vkj2oj7tSkyBncIQlLiuAOhDB89X9GlDPMcA6DH0itQesUmu9ZvasGAhCVq7.9vI6Xllh8TrV5DhHErVyf8XZMviwVqcFC6V4S072kmuJz2SK6u764V35BqMFidbC6cj3JnVFzXv3ifIICHIA5wZK1WoqTHiFIEbZwJGnRX3PlxF6y7.suVCEtS07318YALRrUo+209UbAinJ1P3NEKt6WcZl70SvYv00zLz8Cg29rllcqyMqLWyM+ni2EeF5m0P2Cxml5B6tR+ENOuNNs+uqYb8+WPEtPuo883Qg2GlW5A2QfxrmZthYRblbMirAPdLgepv+B+xMV2H6jardIiMr8rQIiaa641kL1z1ylkL1x1yViMhnigObxyeN8t3NUx9PlzqfF.WXHvtLJFt8iILrL1miP2c+tGN17ARuTB7vb69u9twtuN17o5LYOBWcCpAOSpYoOHpAERnJ4aoYeHkIXsZpF.uhzuZeMbWiracT5GWYelCggzukRK9ptgiMVTG2dQcr4h5XqE0wcVTG2cQcbu2uil6PsehVFlMAAg516nrTQmiljJVA8ebqqqKI
-
@d-healey said in Massive instrument model - is messing with my mind.....:
HiseSnippet 1187.3ocyW0saaaCElJNLHwMsXsnXq2L.ghcQxPQfsicRFJFlSbRZCVchgUVQ2UELTz1DQhTfhJaYC6cZOB8QZuAaGJIaSoXj539ypuvPmygGwOd9N+P0SIor3XoB4T87qiXHm0wdWKzi5LhvEnSND47.bWRrlobyTcv0Qj3XlOxwoxKLJbVaYT5u+4mNfDPDT1TUHzqkbJ6U7Ptdp1ds+YdPvwDe147PqU2r8IToniLPl.3oBtFJhPujLjcJwrrkvnWRhGgb9dre8l0GrGkryd0a1fRar2tM9gcoLxfArcp2Z2l6Mn4.BsVCjyJG4y0RkmlnYwvK8.o+0dij+lHaCdMOleQ.yHTG4A6blZTmQ7.+diCNwHjCt2zPUkrP0iwc497I5mFx9pTCtS8vNn4rzsAo52AH4XAokyfzCwdTEORO0hAO2Ceh.XPHjvJ.kr0hV5qcvcjvJD5sBIWxNVABS7XicpU6Ytvea97pUA9IV6dEQ45QBiBXp5t+naZByVCY5bca7zwFeJ3y3m2hIHv4puLQ32WdAWrw.RPLaymOHQP0bovUJNUpYmI1Xyp+Y00p9WUcKaZvfYZy.dkLvr0yxrIKScaNtgHI7Bl5YvAKHgMYgPTsHUsx7QUzrXo0BkhSDb8YQrb4ikA9FJv77MIVTNY.O8KmbHQSLbctNXcQLklafiygrqfpqLleM7gr3K0xHn95FoEPBozOIfnKlkZpeyM.wiBoFF5WDy0WaWeeGRcqcqotyKDeHtGWSGMaLtzLvHDo9Tfw7B96iOB5vP0SA3x3ieyhVcO+a+2ls8OB6oULRHWLLunJECUwiKw9XzbNZtaN2SwBjDeO9eXsr209fDHFoJp8uamtU6GBE+E1qbj2mEwHZfls7Y0186+BkLIprWOocZRw4JX3.DJrOimIXPrVaeF6njwwCfiS56J11TuD0PSrZpl9rqXp3h5NMID3agfE.NicpXpJiYF9kS6RzJ9uau5zco14jTNFlXkJWujbiRxaWRtYI4Vkj2oj7tSkyBncIQlLiuAOhDB89X9GlDPMcA6DH0itQesUmu9ZvasGAhCVq7.9vI6Xllh8TrV5DhHErVyf8XZMviwVqcFC6V4S072kmuJz2SK6u764V35BqMFidbC6cj3JnVFzXv3ifIICHIA5wZK1WoqTHiFIEbZwJGnRX3PlxF6y7.suVCEtS07318YALRrUo+209UbAinJ1P3NEKt6WcZl70SvYv00zLz8Cg29rllcqyMqLWyM+ni2EeF5m0P2Cxml5B6tR+ENOuNNs+uqYb8+WPEtPuo883Qg2GlW5A2QfxrmZthYRblbMirAPdLgepv+B+xMV2H6jardIiMr8rQIiaa641kL1z1ylkL1x1yViMhnigObxyeN8t3NUx9PlzqfF.WXHvtLJFt8iILrL1miP2c+tGN17ARuTB7vb69u9twtuN17o5LYOBWcCpAOSpYoOHpAERnJ4aoYeHkIXsZpF.uhzuZeMbWiracT5GWYelCggzukRK9ptgiMVTG2dQcr4h5XqE0wcVTG2cQcbu2uil6PsehVFlMAAg516nrTQmiljJVA8ebqqqKI
errr.... this has 2 lines of code in it:
const var Sampler1 = Synth.getSampler("Sampler1"); Sampler1.enableRoundRobin(false);
So theres nowhere it is doing setMultiGroupIndex
and the XFades are not turned on anyway....
did you send the wrong thing?
-
@Lindon
Check the on note on callback.Weird, apparently it's empty in my snippet... hang on.But you're right, I forgot about the xfade... too early for me, one sec.
-
@Lindon Ok it's all setup correctly and working in this one.
HiseSnippet 1214.3oc0W0saaaCElJ1rHwMsXsn.q2L.ghcgyPPfkiyOCACyINIsFqNwvNqX2UvPQaSDIRAJprlMr2o8HrGo8Frcnj+gRwMKwMoayWXny4vOwOd9kpqRRYwwRExoxYWEwPNqh6ekPOp0HBWfZeHx4o3NjXMS4lo5fqhHwwLejiSoWaT3rRYT5u+76OfDPDT1LUHz6jbJ6s7Ptdl1tM+AdPvwDe1Y7PqU2nYapTzRFHS.9TBWCEQnWPFxNgXV1RXzaHwiPNeC12qg2fcojs20qQcJs9t6T+a2gxHCFv11aqcZr6fFCHzZ0QNO5HetVp5qIZVLxo7AR+q5OR9yhrM3c7X94ALifGpOryYpOVF3aNhFsnVi3A9cm3nhQHGb2YtsRYtsWf6v84S0Oy88EoFbmgv1A5rTd5UJG87roWMK5MGJ4XQoxYT5Y39TEOROyhgOOF2V.QSv8vxQkr0hVZOGbKIrBgdiPxEriUfvTDU2tVs0cg+VauJUfXUr18RhxsOILJfo7b+N2zjmMFxzi0U8USL9J.yjm2fIHv4pmLQ32SdNWTc.IHls1dCRDTMWJbkhSjZ1ohpqU4WqrxTbwLcmj.M+0JYRTagO6CU8V2UqR.rU9sJtEwOXP1KnfMyITICL7adlMokpaBXUQR34L05voO.15IKDb84im3Od7zNcil4vsVnTzVv0mFwDerjPz3nD7zO19PhlXRBFqCVWDSo4FJ3bH6RnDLKkXE7gr3KzxHnH7Z4KPlpzOIfnym9ZJxGa.7A4xYL4EhXt9J6l.2a4z2VJ9LbWtlNZ9bbo4vQvS8PvwwcBdB9HnMDUOifkwG+SOLk81a+Wks8OG2WqXjPtX33plTNTAOoF59nCdzstCdWEKPR76y+Eqk8GMOHA7Qp7Z+8loa09gPWgb60Xl2iEwHZHLagY4l85k1KnHpW1LMo3LELAAbE1mwSELvWqsOisTx33AvwI8cEau5tIpgFe0rE2icISEmW2IIgP7VHXAlpdmRlpxXlI9xocHZE+C1qNcWpcFIMFCi0Rk8JHWuf7lEjaTPdqBxaWPdmYxYNzNjHSlwWhGQBg9cL+CSBnlNesBj5QWqW1x2tdYvasKA7CVq7.9vo6XlF64qS88o7aLLL1aCH0mo0PvK15cMmQeO5gZZb4aWY4MeYg+GznM2kGVYBG6yMgriDWBEvfFCGeNL9X.Al+NQa9lIcjBYzHofSyWt.o+CGxT1betGn80ZnZcllWzrGKfQhsp2+5lukKXDU9t.2Ieg2c9hTyMd8RbFccMc.c+ThaeVSytwgkktUCKu246hO37ypq6oiGg5B6tR+e737p3zl9tlYz+aQU358l12Sl+8DXHYe3hATl8nxGYF+lIWyHaHTelvOU3ufeiM5YjcFazqfw51HqWv3l1H2rfwF1HaTv3V1H2ZhQDcB8gS93mSu.tSorOqI8dmAvsDBrKihgq7XbCkw9bD5ti6w3XymK8FIDGV.3qhMeDOS1kvUWKzfmanYoOoPCJjPUx2Sy9hIiyZ4TM.eEoeO+J3NFYWOT5WQYS5PXH86oz7upqAr9hBbyEEXiEE3VKJvsWTf6rn.28eFn4NT6mnkgYSPPnNcOJKUz4noohkP+MjD4zmB
-
@d-healey this is getting a bit difficult to prove perhaps we should be sharing a project here - not snippets _ I can zip up my test project - its very very small
-
@Lindon Yeah good idea
-
@d-healey Ok here it is;
https://u.pcloud.link/publink/show?code=XZFTtF5Zqp4z6xpPBUy4KyYO97IzNHz9iXfy
its very simple - there a sample map with one note playable - there are 3 "round robins" - each one plays a number of sounds corresponding to its RR position
so RR1 plays one sound
RR2 plays 2 sounds
RR3 plays 3 soundsthere are 6 RR groups - being used as XFades - so in the first 3 are the normal sounds - in the last 3 are distorted sounds ...
Currently play middle C and all the groups play, but you can cross fade between them.
The code is as simple as possible - its trying to play only the first RR group in each XFade set - so we should hear just one sound - but we should be able to xfade between the normal and distorted versions....