
Has two separate classes: GrainPlayer and GrainCloud

GrainCloud fills a linked list with grains, which is then rendered into sound using GrainPlayer

in CSL/Sources/Granulator.cpp

To avoid allocation, it stores allocated grains in one of two lists: mPlayingGrains and mSilentGrains