In pouring through example11 trying to build something similar, I noticed this section towards the “end” of the patch:
clear, addrange 0 4, transformjoin example11.pitch.norm example11.timbre.norm example11.tmp, transformjoin example11.loudness.norm example11.tmp example11.composite
which is "clue"d as:
Join the three datasets togeher in a two-step shuffle with transformjoin
When I was initially going through the patch I thought there was some kind of funky optimization going on in this “shuffle” process, but now in reading it more closely, I guess this needs to happen because you can only
transformjoin two datasets.
It would be great to be able to
transformjoin together however many datasets one has (e.g.
transformjoin ds1 ds2 ds3 ds4 detination.dataset), since this starts to get increasingly fiddly the more datasets you have further up the pipeline. In the case of ex11 there are only three, but you could easily have more datasets beyond this, and if that means chaining together (and copying/writing) the same data over and over, that can start to get slow and expensive. Particularly for the real-time counterpart to this.