Preloading and Looping
As Christoph knows, I've been working with HISE with modified source code. That being said, I did take note of the fact that the vanilla version of HISE had two issues with preloaded samples. The first issue is that if a loop endpoint is defined to be a value smaller than the preload size, the sample won't play the loop properly until after it has read the preload buffer. I did make a fix for that via my source code edits, but still something worth addressing for the other users.
The other issue I encountered is that if the preload buffer is at least the same size as the sample (whether it is explicitly supposed to preload the entire sample or not), it will not loop at all. Was this lack of loop support intentional? Either way, the best workaround I've found for this for my own purposes is to make the preload buffer decrease its size if the sample size is under a certain number, in my case, 8192 samples.
Thank you for your time.
Well, this is obviously not intentional, I just didn't notice this yet, but I'll fix it right away, thanks for reporting this.
well, i've increased preload size to 1 000 000 with longest sus sample about 900 000, it works, even with huge memory usage :)
But now i hear clicks on the loop point, which, I definitely have not to, because samples designed to be looped entirely. If i make crossfade - they will play poorly...
And even with crossfade in 200-300 samples i hear this glitch, what am i doing wrong?)
made some experiments.
It seems, sample. one of the way is being played to the end even with loop end far away from the end.
When i play, the glitch position depends on the distance between loop end and sample end
I said I fix it right away, but then I got lazy :)