More than 8 RR crossfades?
-
Hey guys, any idea how to get more than 8 RR crossfades? I can split the instrument between two samplers but if there's some text in the code I could hack, it would be really amazing!
-
@tomekslesicki Add more groups and use scripting to switch them.
-
Sounds interesting! Would this allow me to, say, assign an envelope to the crossfade and modulate through all the groups with that?
-
@tomekslesicki Crossfade can only go up to 8 groups.
-
Yup, hence the question ;-) Is there a way to make it go to more?
-
Oh right, I misunderstood, I thought you wanted round robin not crossfades.
You can have as many RRs as you want, you can only have 8 crossfades. If you want more than 8 you'd need to script it, something like Nils' script for Kontakt - https://nilsliberg.se/ksp/scripts/scripts.html#crossfade
-
Sounds like scripting hell to me ;-) Thanks, though!
-
No need to decent into scripting hell for that one.
The number 8 is currently just hardcoded into the sampler code, but I don't see any reason why it shouldn't be available as preprocessor macro that you can change for projects that require more crossfade groups.
I am currently heads deep in a non-working branch, but you can solve that little riddle for yourself:
Do a search and replace in this file
https://github.com/christophhart/HISE/blob/master/hi_sampler/sampler/ModulatorSampler.cpp
for the number
8
in conjunction with anything that sayscrossfadeBlablabla
and replace it withHISE_NUM_CROSSFADE_TABLES
(there are 3 matches). Then do the same here:so that you can select them in the UI.
then in the file
https://github.com/christophhart/HISE/blob/master/hi_sampler/hi_sampler.h#L66
add these before the marked line:
#ifndef HISE_NUM_CROSSFADE_TABLES #define HISE_NUM_CROSSFADE_TABLES 9 // or anything else... #endif
Now recompile HISE and you should be able to use more than 8 tables. You can then change this number per project by adding
HISE_NUM_CROSSFADE_TABLES=23
to theExtraDefinitionXXX
properties in the project settings.Let me know if that worked. I'll incorporate the change when I'm back on track, so you don't need to branch for this.
EDIT: I've linked to the old master branch files, but you can of course use the version you're currently using - this code hasn't changed for a long time :)
-
Awesome, thanks so much, I'll give it a go! :-)