To set a list of cue points in an audio file and have them played in order, use either sfplay~ (with a set of cues established by preload messages to sfplay~ or to sflist~) or buffer~ (with start messages to play~, the parameters of which are stored in a coll).
The groove~ object can be used to record a loop on the fly and use the loop length to set a master tempo which can send MIDI clock messages to other machines. The groove~ object sends out its right outlet a signal that goes from 0. to 1. as the current playback location of groove~ goes from its ‘loopstart’ point to its ‘loopend’ point. By default, groove~’s ‘loopstart’ point is 0 and its ‘loopend’ point is the end of the associated buffer~.
The timepoint object sends out a bang when the transport reaches a specified time position. This can be useful for causing something to happen—or for starting an entire process—at a particular instant during the transport's progress. A timepoint might, for example, even trigger a new time position value to be sent to the transport object itself, thus causing the transport to leap to a different time.
This example shows one way you might use phasor~ to make the length of an audio sample loop stay precisely synchronized with the beat of the transport.