@Christoph-Hart understood, thought i would put the suggestions out there.
Isnt the c++ code in an external tile disabled when the ui is not visible , seem to recollect we had that problem. Or do you have in mind that its just a ui object that then runs the underlying default table?
Alright, I've added the feature using the first option as this is most convenient for the standard use case.
I've also thought a bit about the option of purging only a subset of the samples and I added a function Sampler.purgeSelection() which you can give an array of sounds and it will purge only those (while unpurging all other sounds).
// I'm pretty sure nobody knows that funky function...
var list = Sampler.createSelectionWithFilter(function()
// it will be called with every sound as `this` object and you just
// need to return true if you want it to be included in the list...
return this.get(Sampler.HiKey) > 72;
// now you can purge every sample that is mapped above note number 72
I'm curious how it will hold up in a real world use case, but the only problem I can see so far is that changing the purge state of the sampler will overwrite the "custom" purge selection so you need to make sure you call this method and restore the sampler in the correct order as the information which selection must be purged is handled on the scripting layer alone.
It might be one of the things that I'll regret adding like the Ghost panels, so take this feature request with a disclaimer that I might remove it if it becomes too annoying 🙂
Works alright (for samples shorter than 65500-whatever samples ofc) and I managed to build some other variations for detecting and adjusting according to BPM, beatslicing etc. Pretty fun for lofi and breakbeats but not really for Hans Zimmer stuff lol.
@Dan-Korneff Are you referring to the regular GM hats open/close/foot or the variable hats?
My plugins utilize both for compatibility.
The design I came up with for the variable hats is unique to my plugins, and they work with e-drums. The basic principle is that there are 2 notes: one for the hat tip and the other for the edge. You use CC4 to control the openness.
The way I accomplished that is by having parallel samplers: 6 for the tip and 6 for the edge. Each goes like: tightly closed/ closed/ 25% open/ 50% open/ 75% open/ 100% open. So, by operating CC4, you move between those samplers and mute notes in others that are not within a specified range.
This system is not 100% compatible with e-drums out of the box. They still need to set all of their tip to one note and all of their edge to another. I made the system that is the most practical, in my opinion, and can work with either e-drums or keyboard controllers, as well as being able to edit things easily with a mouse.
I'll gladly share the scripts with you if this is the system you want to implement.