1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-09 13:12:17 +01:00

static Scrubber::Get()...

... not member functions of AudacityProject
This commit is contained in:
Paul Licameli
2019-01-22 14:59:25 -05:00
parent 15dd230ee1
commit 2f0a76ed10
13 changed files with 63 additions and 41 deletions

View File

@@ -836,7 +836,8 @@ void ControlToolBar::StopPlaying(bool stopStream /* = true*/)
if(project) {
// Let scrubbing code do some appearance change
project->GetScrubber().StopScrubbing();
auto &scrubber = Scrubber::Get( *project );
scrubber.StopScrubbing();
}
if (!CanStopAudioStream())
@@ -1284,11 +1285,14 @@ void ControlToolBar::OnPause(wxCommandEvent & WXUNUSED(evt))
#ifdef EXPERIMENTAL_SCRUBBING_SUPPORT
auto project = GetActiveProject();
auto &scrubber = Scrubber::Get( *project );
// Bug 1494 - Pausing a seek or scrub should just STOP as
// it is confusing to be in a paused scrub state.
bool bStopInstead = mPaused &&
gAudioIO->IsScrubbing() &&
!GetActiveProject()->GetScrubber().IsSpeedPlaying();
!scrubber.IsSpeedPlaying();
if (bStopInstead) {
wxCommandEvent dummy;
@@ -1297,7 +1301,7 @@ void ControlToolBar::OnPause(wxCommandEvent & WXUNUSED(evt))
}
if (gAudioIO->IsScrubbing())
GetActiveProject()->GetScrubber().Pause(mPaused);
scrubber.Pause(mPaused);
else
#endif
{
@@ -1395,8 +1399,9 @@ wxString ControlToolBar::StateForStatusBar()
wxString state;
auto pProject = GetActiveProject();
auto scrubState =
pProject ? pProject->GetScrubber().GetUntranslatedStateString() : wxString();
auto scrubState = pProject
? Scrubber::Get( *pProject ).GetUntranslatedStateString()
: wxString();
if (!scrubState.empty())
state = wxGetTranslation(scrubState);
else if (mPlay->IsDown())
@@ -1426,7 +1431,7 @@ bool ControlToolBar::IsTransportingPinned()
{
if (!TracksPrefs::GetPinnedHeadPreference())
return false;
const auto &scrubber = ::GetActiveProject()->GetScrubber();
const auto &scrubber = Scrubber::Get( *::GetActiveProject() );
return
!(scrubber.HasMark() &&
!scrubber.WasSpeedPlaying() &&
@@ -1438,7 +1443,7 @@ void ControlToolBar::StartScrollingIfPreferred()
if (IsTransportingPinned())
StartScrolling();
#ifdef __WXMAC__
else if (::GetActiveProject()->GetScrubber().HasMark()) {
else if (Scrubber::Get( *::GetActiveProject() ).HasMark()) {
// PRL: cause many "unnecessary" refreshes. For reasons I don't understand,
// doing this causes wheel rotation events (mapped from the double finger vertical
// swipe) to be delivered more uniformly to the application, so that speed control