+ _timeInfo.flags = 0;
+
+ if (value & (kVstTempoValid)) {
+ const Tempo& t (session->tempo_map().tempo_at (session->transport_frame()));
+ _timeInfo.tempo = t.beats_per_minute ();
+ _timeInfo.flags |= (kVstTempoValid);
+ }
+ if (value & (kVstBarsValid)) {
+ const Meter& m (session->tempo_map().meter_at (session->transport_frame()));
+ _timeInfo.timeSigNumerator = m.divisions_per_bar ();
+ _timeInfo.timeSigDenominator = m.note_divisor ();
+ _timeInfo.flags |= (kVstBarsValid);
+ }
+
+ if (session->transport_speed() != 0.0f) {
+ _timeInfo.flags |= kVstTransportPlaying;
+ }