This cut procedure allows the user to specify the block size, and how many subdivisions to cut it into. WarpCutProc1 used this paradigm, and this class is a simplification of that class. The class was introduce in the BBCut Library paper, which used it to explain adding a new cut procedure to the library.
For additional data on the algorithm see
Nick Collins, "The BBCut Library",
Proceedings of ICMC 2002
reproduced at http://www.cus.cam.ac.uk/~nc272/
Create a ChooseBlockProc object with the given parameters.
blocksizefunc |
A function (or something else responding to value) returning the next block length. The function will be passed the beats left within the current phrase, and the current phrase length to assist judgement. The main code will automatically reduce block lengths where necessary to fit the next block into a phrase. |
numcutfunc |
an object responding to the value message with the number of desired subdivisions of the new block. Each cut is of even length. The blocklength is passed in. |
phraselength |
Next length of phrase in beats. |
bpsd |
beats per sub division. Sets a primitive cut size resolution for choose offset messages. |
Called internally after a new.