1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-01 20:14:49 +02:00

AdornedRulerPanel updates its play region in idle time...

... Eliminating TP_DisplaySelection and making ProjectWindow independent of
AdornedRulerPanel
This commit is contained in:
Paul Licameli
2019-07-03 23:35:20 -04:00
parent 1c1aca521d
commit eb4eba6325
17 changed files with 28 additions and 85 deletions

View File

@@ -380,6 +380,7 @@ enum {
};
BEGIN_EVENT_TABLE(AdornedRulerPanel, CellularPanel)
EVT_IDLE( AdornedRulerPanel::OnIdle )
EVT_PAINT(AdornedRulerPanel::OnPaint)
EVT_SIZE(AdornedRulerPanel::OnSize)
@@ -1129,6 +1130,23 @@ namespace {
}
}
void AdornedRulerPanel::OnIdle( wxIdleEvent &evt )
{
evt.Skip();
auto &project = *mProject;
auto &viewInfo = ViewInfo::Get( project );
const auto &selectedRegion = viewInfo.selectedRegion;
auto &playRegion = ViewInfo::Get( project ).playRegion;
auto gAudioIO = AudioIOBase::Get();
if (!gAudioIO->IsBusy() && !playRegion.Locked())
SetPlayRegion( selectedRegion.t0(), selectedRegion.t1() );
else
// Cause ruler redraw anyway, because we may be zooming or scrolling
Refresh();
}
void AdornedRulerPanel::OnRecordStartStop(wxCommandEvent & evt)
{
evt.Skip();