mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 01:29:43 +02:00
Improve responsiveness of drag seek during click-scrub...
.. by refreshing the TrackPanel window less often.
This commit is contained in:
commit
74c8dcf8d3
@ -256,6 +256,19 @@ private:
|
||||
}
|
||||
#endif
|
||||
|
||||
friend inline bool operator ==
|
||||
(const SelectedRegion &lhs, const SelectedRegion &rhs)
|
||||
{
|
||||
return
|
||||
lhs.mT0 == rhs.mT0
|
||||
&& lhs.mT1 == rhs.mT1
|
||||
#ifdef EXPERIMENTAL_SPECTRAL_EDITING
|
||||
&& lhs.mF0 == rhs.mF0
|
||||
&& lhs.mF1 == rhs.mF1
|
||||
#endif
|
||||
;
|
||||
}
|
||||
|
||||
double mT0;
|
||||
double mT1;
|
||||
#ifdef EXPERIMENTAL_SPECTRAL_EDITING
|
||||
@ -265,4 +278,9 @@ private:
|
||||
|
||||
};
|
||||
|
||||
inline bool operator != (const SelectedRegion &lhs, const SelectedRegion &rhs)
|
||||
{
|
||||
return !(lhs == rhs);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -944,6 +944,9 @@ void TrackPanel::OnTimer(wxTimerEvent& )
|
||||
//ANSWER-ME: Was DisplaySelection added to solve a repaint problem?
|
||||
DisplaySelection();
|
||||
}
|
||||
if (mLastDrawnSelectedRegion != mViewInfo->selectedRegion) {
|
||||
UpdateSelectionDisplay();
|
||||
}
|
||||
|
||||
// Notify listeners for timer ticks
|
||||
{
|
||||
@ -1045,6 +1048,8 @@ double TrackPanel::GetScreenEndTime() const
|
||||
/// completing a repaint operation.
|
||||
void TrackPanel::OnPaint(wxPaintEvent & /* event */)
|
||||
{
|
||||
mLastDrawnSelectedRegion = mViewInfo->selectedRegion;
|
||||
|
||||
#if DEBUG_DRAW_TIMING
|
||||
wxStopWatch sw;
|
||||
#endif
|
||||
@ -2764,7 +2769,9 @@ void TrackPanel::SelectionHandleDrag(wxMouseEvent & event, Track *clickedTrack)
|
||||
#endif
|
||||
|
||||
ExtendSelection(x, rect.x, clickedTrack);
|
||||
UpdateSelectionDisplay();
|
||||
// Don't do this at every mouse event, because it slows down seek-scrub.
|
||||
// Instead, let OnTimer do it, which is often enough.
|
||||
// UpdateSelectionDisplay();
|
||||
}
|
||||
|
||||
#ifdef EXPERIMENTAL_SPECTRAL_EDITING
|
||||
|
@ -790,6 +790,8 @@ protected:
|
||||
// The screenshot class needs to access internals
|
||||
friend class ScreenshotCommand;
|
||||
|
||||
SelectedRegion mLastDrawnSelectedRegion {};
|
||||
|
||||
public:
|
||||
wxSize vrulerSize;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user