1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-17 16:50:26 +02:00
This commit is contained in:
Paul Licameli 2015-08-02 04:37:03 -04:00
commit 2cbb3ff91b
5 changed files with 24 additions and 5 deletions

View File

@ -140,7 +140,7 @@ this version.
Source code to this program is always available; for more information visit Source code to this program is always available; for more information visit
our web site at: 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 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 come with Audacity in the lib-src directory. Others you are expected to install

View File

@ -8856,6 +8856,10 @@ void TrackPanel::OnChannelChange(wxCommandEvent & event)
void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event)) void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event))
{ {
Track *partner = mPopupMenuTarget->GetLink(); Track *partner = mPopupMenuTarget->GetLink();
Track *const focused = GetFocusedTrack();
const bool hasFocus =
(focused == mPopupMenuTarget || focused == partner);
SplitStereo(true); SplitStereo(true);
mPopupMenuTarget->SetChannel(Track::RightChannel); mPopupMenuTarget->SetChannel(Track::RightChannel);
partner->SetChannel(Track::LeftChannel); partner->SetChannel(Track::LeftChannel);
@ -8868,6 +8872,9 @@ void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event))
pMixerBoard->UpdateTrackClusters(); pMixerBoard->UpdateTrackClusters();
} }
if (hasFocus)
SetFocusedTrack(partner);
MakeParentPushState(wxString::Format(_("Swapped Channels in '%s'"), MakeParentPushState(wxString::Format(_("Swapped Channels in '%s'"),
mPopupMenuTarget->GetName().c_str()), mPopupMenuTarget->GetName().c_str()),
_("Swap Channels")); _("Swap Channels"));
@ -9360,6 +9367,7 @@ void TrackPanel::OnTimeTrackLogInt(wxCommandEvent & /*event*/)
void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt) void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
{ {
WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget); WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget);
WaveTrack *const partner = static_cast<WaveTrack*>(wt->GetLink());
const WaveformSettings::ScaleType newScaleType = const WaveformSettings::ScaleType newScaleType =
WaveformSettings::ScaleType( WaveformSettings::ScaleType(
std::max(0, std::max(0,
@ -9368,6 +9376,8 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
))); )));
if (wt->GetWaveformSettings().scaleType != newScaleType) { if (wt->GetWaveformSettings().scaleType != newScaleType) {
wt->GetIndependentWaveformSettings().scaleType = newScaleType; wt->GetIndependentWaveformSettings().scaleType = newScaleType;
if (partner)
partner->GetIndependentWaveformSettings().scaleType = newScaleType;
UpdateVRuler(wt); // Is this really needed? UpdateVRuler(wt); // Is this really needed?
MakeParentModifyState(true); MakeParentModifyState(true);
Refresh(false); Refresh(false);
@ -9377,6 +9387,7 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt) void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt)
{ {
WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget); WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget);
WaveTrack *const partner = static_cast<WaveTrack*>(wt->GetLink());
const SpectrogramSettings::ScaleType newScaleType = const SpectrogramSettings::ScaleType newScaleType =
SpectrogramSettings::ScaleType( SpectrogramSettings::ScaleType(
std::max(0, std::max(0,
@ -9385,6 +9396,8 @@ void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt)
))); )));
if (wt->GetSpectrogramSettings().scaleType != newScaleType) { if (wt->GetSpectrogramSettings().scaleType != newScaleType) {
wt->GetIndependentSpectrogramSettings().scaleType = newScaleType; wt->GetIndependentSpectrogramSettings().scaleType = newScaleType;
if (partner)
partner->GetIndependentSpectrogramSettings().scaleType = newScaleType;
UpdateVRuler(wt); // Is this really needed? UpdateVRuler(wt); // Is this really needed?
MakeParentModifyState(true); MakeParentModifyState(true);
Refresh(false); Refresh(false);

View File

@ -170,10 +170,14 @@ const wxArrayString &SpectrogramSettings::GetScaleNames()
// Keep in correspondence with enum SpectrogramSettings::ScaleType: // Keep in correspondence with enum SpectrogramSettings::ScaleType:
theArray.Add(_("Linear")); theArray.Add(_("Linear"));
theArray.Add(_("Logarithmic")); theArray.Add(_("Logarithmic"));
/* i18n-hint: The name of a frequency scale in psychoacoustics */
theArray.Add(_("Mel")); theArray.Add(_("Mel"));
/* i18n-hint: The name of a frequency scale in psychoacoustics, named for Heinrich Barkhausen */
theArray.Add(_("Bark")); theArray.Add(_("Bark"));
theArray.Add(_("Erb")); /* i18n-hint: The name of a frequency scale in psychoacoustics, abbreviates Equivalent Rectangular Bandwidth */
theArray.Add(_("Undertone")); theArray.Add(_("ERB"));
/* i18n-hint: A mathematical formula where f stands for frequency */
theArray.Add(_("1 / f"));
} }
return theArray; return theArray;

View File

@ -157,7 +157,8 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S)
{ {
mDefaultsCheckbox = 0; mDefaultsCheckbox = 0;
if (mWt) { 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")); S.StartStatic(_("FFT Window"));
{ {

View File

@ -73,7 +73,8 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S)
{ {
mDefaultsCheckbox = 0; mDefaultsCheckbox = 0;
if (mWt) { 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")); S.StartStatic(_("Display"));