We have two custom instruments for the Soniccouture Pan Drum: one is setup for the samples of the first generation Hang, and one for the samples of the second generation Hang. See the architecture overview for an explanation of why we cannot use the original instrument and must use a custom instrument.
The sample data of course is the original Soniccouture sample data; the
Sampler
setup is translated to the LUTs required by our custom
key-switched sampler by parsing
the original Ableton instrument group and generating LUTs in the right format;
I wrote a
custom tool specifically to do that.
As would any instance of the key-switched sampler, the top-level patcher is
just an instance of ks-driver
along with buffers for each of the samples
used. For the first generation hang, this looks like
where each of those subpatches connects the live.drop
object to a buffer~
:
The second generation hang instance looks very similar.
Requiring the user to drag each and every sample into the instrument is extremely annoying and tedious, but it seems that there is no way around this: referring directly to samples in Live Factory Packs from a Max for Live device is apparently impossible.
See the discussion of the key-switched sampler itself for details on how it works.