This class abstracts some of the boilerplate involved in batch processing a sequence of segments in a Buffer on the server. It does this by iteratively running a user supplied function and using slice point information passed as an IdentityDictionary (see FluidLoadFolder: -index for details on the format of this).
Creates a new instance
featureFunc |
A function that will perform some processing on a section of a buffer. WARNING: This function must return a UGen that sets a
done flag (see Done), in order for the iteration and housekeeping to work. All FluidBuf* objects do this.The functions is passed the following arguments
An example function that records statistics about the pitch of a segment in to a FluidDataSet could look like |
Run the featureFunction iteratively over segments of a Buffer, specified by an IdentityDictionary
server |
The Server on which to process |
sourceBuffer |
The source Buffer containing the audio to process |
bufIdx |
An IdentityDictionary specifying identifiers, boundaries, sample rate and channel count for the segment. See FluidLoadFolder: -index for details. |
action |
A function to run when processing is complete. This gets passed the same Association as the processing function |
tasks |
The number of parallel processing tasks to run on the server. Default 4. This should probably never be greater than the number of available CPU cores. |
Return the function uses by this instance.