// Sync: syncs to tl / tc / mte
private void loadFrames( boolean justBecauseOfResize )
{
Span span;
// AudioTrail at = trns.getTrackEditor();
final DecimatedTrail dt = trns.getDecimatedWaveTrail();
if( trns != null ) {
if( !doc.bird.attemptShared( Session.DOOR_TIMETRNSMTE, 200 )) return;
try {
span = doc.timeline.getVisibleSpan();
// wir fordern eine subsample version des zeitausschnitts
// an, die mindestens 3/2 frames der aktuellen darstellungsbreite
// enthaelt. dies ist ein guter kompromiss zwischen
// darstellungsgenauigkeit und -geschwindigkeit
rate = doc.timeline.getRate();
info = dt.getBestSubsample( span, getWidth() * 3 / 2 );
if( info.sublength != frameBuf[0].length ) {
frameBuf[0] = new float[(int) info.sublength];
frameBuf[1] = new float[(int) info.sublength];
} else {
if( justBecauseOfResize ) return; // info.sublength didn't change