1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-06 14:52:34 +02:00

Disable scrubbing when pause button is down.

This commit is contained in:
Paul Licameli 2016-05-05 22:48:23 -04:00
parent f7765a5068
commit 97fdce5f85
4 changed files with 13 additions and 2 deletions

View File

@ -95,6 +95,9 @@ enum CommandFlag : unsigned long long
AudioStreamNotScrubbingFlag
= 0x80000000ULL, // prl
// 33 bits! Boo-yah!
AudioIONotPausedFlag = 0x100000000ULL, // prl
NoFlagsSpecifed = ~0ULL
};

View File

@ -1763,6 +1763,9 @@ CommandFlag AudacityProject::GetUpdateFlags()
if(!GetScrubber().HasStartedScrubbing())
flags |= AudioStreamNotScrubbingFlag;
if (!gAudioIO->IsPaused())
flags |= AudioIONotPausedFlag;
return flags;
}

View File

@ -1053,6 +1053,10 @@ void CommandManager::TellUserWhyDisallowed( CommandFlag flagsGot, CommandMask fl
reason = _("You must first select some audio for this to use.");
else if( missingFlags & WaveTracksSelectedFlag)
reason = _("You must first select some audio for this\n to use. (Selecting other kinds of track won't work.)");
else if( missingFlags & AudioStreamNotScrubbingFlag )
reason = _("Scrubbing may not be active.");
else if( missingFlags & AudioIONotBusyFlag )
reason = _("Playback may not be paused.");
// If the only thing wrong was no tracks, we do nothing and don't report a problem
else if( missingFlags == TracksExistFlag )
return;

View File

@ -733,9 +733,10 @@ bool Scrubber::CanScrub() const
void Scrubber::AddMenuItems()
{
auto extraFlags = WaveTracksExistFlag | AudioIONotPausedFlag;
auto cm = mProject->GetCommandManager();
auto flags = cm->GetDefaultFlags() | WaveTracksExistFlag;
auto mask = cm->GetDefaultMask() | WaveTracksExistFlag;
auto flags = cm->GetDefaultFlags() | extraFlags;
auto mask = cm->GetDefaultMask() | extraFlags;
cm->BeginSubMenu(_("Scru&bbing"));
for (const auto &item : menuItems) {