1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-29 08:43:56 +01:00

Move code for Time track menu items

This commit is contained in:
Paul Licameli
2015-07-31 14:50:49 -04:00
committed by Paul Licameli
parent 0e5e7b1c05
commit 516d812f3a
3 changed files with 100 additions and 107 deletions

View File

@@ -178,7 +178,6 @@ is time to refresh some aspect of the screen.
#include "Prefs.h"
#include "RefreshCode.h"
#include "ShuttleGui.h"
#include "TimeTrack.h"
#include "TrackArtist.h"
#include "TrackPanelAx.h"
#include "UndoManager.h"
@@ -327,12 +326,6 @@ enum {
OnMergeStereoID,
OnSwapChannelsID,
OnSetTimeTrackRangeID,
OnTimeTrackLinID,
OnTimeTrackLogID,
OnTimeTrackLogIntID,
// Reserve an ample block of ids for waveform scale types
OnFirstWaveformScaleID,
OnLastWaveformScaleID = OnFirstWaveformScaleID + 9,
@@ -358,7 +351,6 @@ BEGIN_EVENT_TABLE(TrackPanel, OverlayPanel)
EVT_KILL_FOCUS(TrackPanel::OnKillFocus)
EVT_CONTEXT_MENU(TrackPanel::OnContextMenu)
EVT_MENU(OnSetFontID, TrackPanel::OnSetFont)
EVT_MENU(OnSetTimeTrackRangeID, TrackPanel::OnSetTimeTrackRange)
EVT_MENU_RANGE(OnUpOctaveID, OnDownOctaveID, TrackPanel::OnChangeOctave)
EVT_MENU_RANGE(OnChannelLeftID, OnChannelMonoID,
@@ -373,10 +365,6 @@ BEGIN_EVENT_TABLE(TrackPanel, OverlayPanel)
EVT_MENU(OnSplitStereoMonoID, TrackPanel::OnSplitStereoMono)
EVT_MENU(OnMergeStereoID, TrackPanel::OnMergeStereo)
EVT_MENU(OnTimeTrackLinID, TrackPanel::OnTimeTrackLin)
EVT_MENU(OnTimeTrackLogID, TrackPanel::OnTimeTrackLog)
EVT_MENU(OnTimeTrackLogIntID, TrackPanel::OnTimeTrackLogInt)
EVT_MENU_RANGE(OnFirstWaveformScaleID, OnLastWaveformScaleID, TrackPanel::OnWaveformScaleType)
EVT_MENU_RANGE(OnFirstSpectrumScaleID, OnLastSpectrumScaleID, TrackPanel::OnSpectrumScaleType)
@@ -491,7 +479,6 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
mNoteTrackMenu = NULL;
mLabelTrackMenu = NULL;
mTimeTrackMenu = NULL;
mTrackArtist = std::make_unique<TrackArtist>();
@@ -655,15 +642,6 @@ void TrackPanel::BuildMenus(void)
mLabelTrackMenu = std::make_unique<wxMenu>();
mLabelTrackMenu->Append(OnSetFontID, _("&Font..."));
/* build the pop-down menu used on time warping tracks */
mTimeTrackMenu = std::make_unique<wxMenu>();
mTimeTrackMenu->AppendRadioItem(OnTimeTrackLinID, wxT("&Linear scale"));
mTimeTrackMenu->AppendRadioItem(OnTimeTrackLogID, _("L&ogarithmic scale"));
mTimeTrackMenu->AppendSeparator();
mTimeTrackMenu->Append(OnSetTimeTrackRangeID, _("&Range..."));
mTimeTrackMenu->AppendCheckItem(OnTimeTrackLogIntID, _("Logarithmic &Interpolation"));
/*
mRulerWaveformMenu = std::make_unique<wxMenu>();
BuildVRulerMenuItems
@@ -703,7 +681,6 @@ void TrackPanel::DeleteMenus(void)
mWaveTrackMenu.reset();
mNoteTrackMenu.reset();
mLabelTrackMenu.reset();
mTimeTrackMenu.reset();
mRulerWaveformMenu.reset();
mRulerSpectrumMenu.reset();
}
@@ -5954,13 +5931,6 @@ void TrackPanel::OnTrackMenu(Track *t)
Track *next = mTracks->GetNext(t);
wxMenu *theMenu = NULL;
if (t->GetKind() == Track::Time) {
theMenu = mTimeTrackMenu.get();
TimeTrack *tt = (TimeTrack*) t;
theMenu->Check(OnTimeTrackLogIntID, tt->GetInterpolateLog());
}
if (t->GetKind() == Track::Wave) {
theMenu = mWaveTrackMenu.get();
@@ -6755,78 +6725,6 @@ void TrackPanel::OnRateOther(wxCommandEvent &event)
Refresh(false);
}
void TrackPanel::OnSetTimeTrackRange(wxCommandEvent & /*event*/)
{
TimeTrack *t = (TimeTrack*)mPopupMenuTarget;
if (t) {
long lower = (long) (t->GetRangeLower() * 100.0 + 0.5);
long upper = (long) (t->GetRangeUpper() * 100.0 + 0.5);
// MB: these lower/upper limits match the maximum allowed range of the time track
// envelope, but this is not strictly required
lower = wxGetNumberFromUser(_("Change lower speed limit (%) to:"),
_("Lower speed limit"),
_("Lower speed limit"),
lower,
10,
1000);
upper = wxGetNumberFromUser(_("Change upper speed limit (%) to:"),
_("Upper speed limit"),
_("Upper speed limit"),
upper,
lower+1,
1000);
if( lower >= 10 && upper <= 1000 && lower < upper ) {
t->SetRangeLower((double)lower / 100.0);
t->SetRangeUpper((double)upper / 100.0);
MakeParentPushState(wxString::Format(_("Set range to '%ld' - '%ld'"),
lower,
upper),
/* i18n-hint: (verb)*/
_("Set Range"));
Refresh(false);
}
}
}
void TrackPanel::OnTimeTrackLin(wxCommandEvent & /*event*/)
{
// Come here only from the time track menu
const auto t = static_cast<TimeTrack*>(mPopupMenuTarget);
t->SetDisplayLog(false);
UpdateVRuler(t);
MakeParentPushState(_("Set time track display to linear"), _("Set Display"));
Refresh(false);
}
void TrackPanel::OnTimeTrackLog(wxCommandEvent & /*event*/)
{
// Come here only from the time track menu
const auto t = static_cast<TimeTrack*>(mPopupMenuTarget);
t->SetDisplayLog(true);
UpdateVRuler(t);
MakeParentPushState(_("Set time track display to logarithmic"), _("Set Display"));
Refresh(false);
}
void TrackPanel::OnTimeTrackLogInt(wxCommandEvent & /*event*/)
{
// Come here only from the time track menu
const auto t = static_cast<TimeTrack*>(mPopupMenuTarget);
if(t->GetInterpolateLog()) {
t->SetInterpolateLog(false);
MakeParentPushState(_("Set time track interpolation to linear"), _("Set Interpolation"));
} else {
t->SetInterpolateLog(true);
MakeParentPushState(_("Set time track interpolation to logarithmic"), _("Set Interpolation"));
}
Refresh(false);
}
void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
{
// Get here only from vertical ruler menu for wave tracks