diff --git a/README.txt b/README.txt index 2d6ee600a..9b2e40ea1 100644 --- a/README.txt +++ b/README.txt @@ -140,7 +140,7 @@ this version. Source code to this program is always available; for more information visit our web site at: - http://audacity.sourceforge.net/download/ + http://audacityteam.org/download/source Audacity is built upon other free libraries; some of these libraries may have come with Audacity in the lib-src directory. Others you are expected to install diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index c1c221466..43834de37 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -8856,6 +8856,10 @@ void TrackPanel::OnChannelChange(wxCommandEvent & event) void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event)) { Track *partner = mPopupMenuTarget->GetLink(); + Track *const focused = GetFocusedTrack(); + const bool hasFocus = + (focused == mPopupMenuTarget || focused == partner); + SplitStereo(true); mPopupMenuTarget->SetChannel(Track::RightChannel); partner->SetChannel(Track::LeftChannel); @@ -8868,6 +8872,9 @@ void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event)) pMixerBoard->UpdateTrackClusters(); } + if (hasFocus) + SetFocusedTrack(partner); + MakeParentPushState(wxString::Format(_("Swapped Channels in '%s'"), mPopupMenuTarget->GetName().c_str()), _("Swap Channels")); @@ -9360,6 +9367,7 @@ void TrackPanel::OnTimeTrackLogInt(wxCommandEvent & /*event*/) void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt) { WaveTrack *const wt = static_cast(mPopupMenuTarget); + WaveTrack *const partner = static_cast(wt->GetLink()); const WaveformSettings::ScaleType newScaleType = WaveformSettings::ScaleType( std::max(0, @@ -9368,6 +9376,8 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt) ))); if (wt->GetWaveformSettings().scaleType != newScaleType) { wt->GetIndependentWaveformSettings().scaleType = newScaleType; + if (partner) + partner->GetIndependentWaveformSettings().scaleType = newScaleType; UpdateVRuler(wt); // Is this really needed? MakeParentModifyState(true); Refresh(false); @@ -9377,6 +9387,7 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt) void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt) { WaveTrack *const wt = static_cast(mPopupMenuTarget); + WaveTrack *const partner = static_cast(wt->GetLink()); const SpectrogramSettings::ScaleType newScaleType = SpectrogramSettings::ScaleType( std::max(0, @@ -9385,6 +9396,8 @@ void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt) ))); if (wt->GetSpectrogramSettings().scaleType != newScaleType) { wt->GetIndependentSpectrogramSettings().scaleType = newScaleType; + if (partner) + partner->GetIndependentSpectrogramSettings().scaleType = newScaleType; UpdateVRuler(wt); // Is this really needed? MakeParentModifyState(true); Refresh(false); diff --git a/src/prefs/SpectrogramSettings.cpp b/src/prefs/SpectrogramSettings.cpp index 8f084e4d4..617c45394 100644 --- a/src/prefs/SpectrogramSettings.cpp +++ b/src/prefs/SpectrogramSettings.cpp @@ -170,10 +170,14 @@ const wxArrayString &SpectrogramSettings::GetScaleNames() // Keep in correspondence with enum SpectrogramSettings::ScaleType: theArray.Add(_("Linear")); theArray.Add(_("Logarithmic")); + /* i18n-hint: The name of a frequency scale in psychoacoustics */ theArray.Add(_("Mel")); + /* i18n-hint: The name of a frequency scale in psychoacoustics, named for Heinrich Barkhausen */ theArray.Add(_("Bark")); - theArray.Add(_("Erb")); - theArray.Add(_("Undertone")); + /* i18n-hint: The name of a frequency scale in psychoacoustics, abbreviates Equivalent Rectangular Bandwidth */ + theArray.Add(_("ERB")); + /* i18n-hint: A mathematical formula where f stands for frequency */ + theArray.Add(_("1 / f")); } return theArray; diff --git a/src/prefs/SpectrumPrefs.cpp b/src/prefs/SpectrumPrefs.cpp index 80564c71b..c670417a0 100644 --- a/src/prefs/SpectrumPrefs.cpp +++ b/src/prefs/SpectrumPrefs.cpp @@ -157,7 +157,8 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) { mDefaultsCheckbox = 0; if (mWt) { - mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Defaults"), mDefaulted); + /* i18n-hint: use is a verb */ + mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Use Preferences"), mDefaulted); } S.StartStatic(_("FFT Window")); { diff --git a/src/prefs/WaveformPrefs.cpp b/src/prefs/WaveformPrefs.cpp index b29468947..bcf3f12f4 100644 --- a/src/prefs/WaveformPrefs.cpp +++ b/src/prefs/WaveformPrefs.cpp @@ -73,7 +73,8 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S) { mDefaultsCheckbox = 0; if (mWt) { - mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Defaults"), mDefaulted); + /* i18n-hint: use is a verb */ + mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Use Preferences"), mDefaulted); } S.StartStatic(_("Display"));