pull timing info from Mix on-demand on play(). this is more accurate and way cleaner