mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-16 16:10:06 +02:00
Add Select->Region->Track Start to End
Also fixed Select Track Start To cursor. Also made two script IDs longer, so they will appear in command selection dialog.
This commit is contained in:
parent
39caf61005
commit
ce9b5bb9ee
@ -638,8 +638,9 @@ void AudacityProject::CreateMenusAndCommands()
|
||||
c->AddItem(wxT("SetLeftSelection"), XXO("&Left at Playback Position"), FN(OnSetLeftSelection), wxT("["));
|
||||
c->AddItem(wxT("SetRightSelection"), XXO("&Right at Playback Position"), FN(OnSetRightSelection), wxT("]"));
|
||||
c->SetDefaultFlags(TracksSelectedFlag, TracksSelectedFlag);
|
||||
c->AddItem(wxT("SelStartCursor"), XXO("Track &Start to Cursor"), FN(OnSelectStartCursor), wxT("Shift+J"),AlwaysEnabledFlag,AlwaysEnabledFlag);
|
||||
c->AddItem(wxT("SelCursorEnd"), XXO("Cursor to Track &End"), FN(OnSelectCursorEnd), wxT("Shift+K"),AlwaysEnabledFlag,AlwaysEnabledFlag);
|
||||
c->AddItem(wxT("SelectTrackStartToCursor"), XXO("Track &Start to Cursor"), FN(OnSelectStartCursor), wxT("Shift+J"),AlwaysEnabledFlag,AlwaysEnabledFlag);
|
||||
c->AddItem(wxT("SelectCursorToTrackEnd"), XXO("Cursor to Track &End"), FN(OnSelectCursorEnd), wxT("Shift+K"),AlwaysEnabledFlag,AlwaysEnabledFlag);
|
||||
c->AddItem(wxT("SelectTrackStartToEnd"), XXO("Track Start to En&d"), FN(OnSelectTrackStartToEnd), wxT(""),AlwaysEnabledFlag,AlwaysEnabledFlag);
|
||||
c->AddSeparator();
|
||||
// GA: Audacity had 'Store Re&gion' here previously. There is no one-step
|
||||
// way to restore the 'Saved Cursor Position' in Select Menu, so arguably
|
||||
@ -6365,8 +6366,8 @@ void AudacityProject::OnSelectStartCursor(const CommandContext &WXUNUSED(context
|
||||
|
||||
while (t) {
|
||||
if (t->GetSelected()) {
|
||||
if (t->GetOffset() < minOffset)
|
||||
minOffset = t->GetOffset();
|
||||
if (t->GetStartTime() < minOffset)
|
||||
minOffset = t->GetStartTime();
|
||||
}
|
||||
|
||||
t = iter.Next();
|
||||
@ -6382,6 +6383,39 @@ void AudacityProject::OnSelectStartCursor(const CommandContext &WXUNUSED(context
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnSelectTrackStartToEnd(const CommandContext &WXUNUSED(context) )
|
||||
{
|
||||
double kWayOverToLeft = -1000000.0;
|
||||
double maxEndOffset = kWayOverToLeft;
|
||||
double kWayOverToRight = 1000000.0;
|
||||
double minOffset = kWayOverToRight;
|
||||
|
||||
TrackListIterator iter(GetTracks());
|
||||
Track *t = iter.First();
|
||||
|
||||
while (t) {
|
||||
if (t->GetSelected()) {
|
||||
if (t->GetEndTime() > maxEndOffset)
|
||||
maxEndOffset = t->GetEndTime();
|
||||
if (t->GetStartTime() < minOffset)
|
||||
minOffset = t->GetStartTime();
|
||||
}
|
||||
|
||||
t = iter.Next();
|
||||
}
|
||||
|
||||
if( maxEndOffset <= (kWayOverToLeft +1))
|
||||
return;
|
||||
if( minOffset >= (kWayOverToRight -1 ))
|
||||
return;
|
||||
|
||||
mViewInfo.selectedRegion.setTimes( minOffset, maxEndOffset );
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
|
||||
|
||||
void AudacityProject::OnSelectPrevClipBoundaryToCursor(const CommandContext &WXUNUSED(context) )
|
||||
{
|
||||
OnSelectClipBoundary(false);
|
||||
|
@ -309,6 +309,7 @@ void OnNextLowerPeakFrequency(const CommandContext &context );
|
||||
#endif
|
||||
void OnSelectCursorEnd(const CommandContext &context );
|
||||
void OnSelectStartCursor(const CommandContext &context );
|
||||
void OnSelectTrackStartToEnd(const CommandContext &context );
|
||||
void OnSelectPrevClipBoundaryToCursor(const CommandContext &context );
|
||||
void OnSelectCursorToNextClipBoundary(const CommandContext &context );
|
||||
void OnSelectClipBoundary(bool next);
|
||||
|
Loading…
x
Reference in New Issue
Block a user