I refactored the code into AudacityApp with a new timer. This is provisional pending discussion - if it is decided that it should go somewhere else I will move it.
Fixed bug in resetting mPrevT1. That caused remaining issue noted in Bug 258 comments 2 and 3.
Moved call to UpdateMeters from TrackPanel::OnTimer() to audacityAudioCallback, where it calls gAudioIO->mOutputMeter->UpdateDisplay(), so the updates are synchronized with Meter Toolbar updates.
Removed unnecessary call to MixerBoard::UpdateMeters() in AudacityProject::UpdateMixerBoard().
Various cleanup.
Patch by Rick Yorgason
I modified it to use linear instead of n squared ring buffer size after verifying that this yields better performance on my mac and pc.